File inc_ransom_e16ac4475e24bbe97e50d7940df71079ea2f1dfd1f2bff6a649c09f7503d087c.elf
Function:
    00400598
    00400598 struct ELF64_SYM
    00400598 st_name int 441
    0040059c st_info uint8 0x12
    0040059d st_other uint8 0x00 ; STV_DEFAULT
    0040059e st_shndx int 0 ; SHN_UNDEF
    004005a0 st_value uint64 0x0000000000000000
    004005a8 st_size int 0
    004005b0
    004005b0 struct ELF64_SYM
    004005b0 st_name int 37
    004005b4 st_info uint8 0x12
    004005b5 st_other uint8 0x00 ; STV_DEFAULT
    004005b6 st_shndx int 0 ; SHN_UNDEF
    004005b8 st_value uint64 0x0000000000000000
    004005c0 st_size int 0
    004005c8
    004005c8 struct ELF64_SYM
    004005c8 st_name int 337
    004005cc st_info uint8 0x12
    004005cd st_other uint8 0x00 ; STV_DEFAULT
    004005ce st_shndx int 0 ; SHN_UNDEF
    004005d0 st_value uint64 0x0000000000000000
    004005d8 st_size int 0
    004005e0
    004005e0 struct ELF64_SYM
    004005e0 st_name int 219
    004005e4 st_info uint8 0x12
    004005e5 st_other uint8 0x00 ; STV_DEFAULT
    004005e6 st_shndx int 0 ; SHN_UNDEF
    004005e8 st_value uint64 0x0000000000000000
    004005f0 st_size int 0
    004005f8
    004005f8 struct ELF64_SYM
    004005f8 st_name int 449
    004005fc st_info uint8 0x12
    004005fd st_other uint8 0x00 ; STV_DEFAULT
    004005fe st_shndx int 0 ; SHN_UNDEF
    00400600 st_value uint64 0x0000000000000000
    00400608 st_size int 0
    00400610
    00400610 struct ELF64_SYM
    00400610 st_name int 393
    00400614 st_info uint8 0x12
    00400615 st_other uint8 0x00 ; STV_DEFAULT
    00400616 st_shndx int 0 ; SHN_UNDEF
    00400618 st_value uint64 0x0000000000000000
    00400620 st_size int 0
    00400628
    00400628 struct ELF64_SYM
    00400628 st_name int 421
    0040062c st_info uint8 0x12
    0040062d st_other uint8 0x00 ; STV_DEFAULT
    0040062e st_shndx int 0 ; SHN_UNDEF
    00400630 st_value uint64 0x0000000000000000
    00400638 st_size int 0
    00400640
    00400640 struct ELF64_SYM
    00400640 st_name int 114
    00400644 st_info uint8 0x12
    00400645 st_other uint8 0x00 ; STV_DEFAULT
    00400646 st_shndx int 0 ; SHN_UNDEF
    00400648 st_value uint64 0x0000000000000000
    00400650 st_size int 0
    00400658
    00400658 struct ELF64_SYM
    00400658 st_name int 476
    0040065c st_info uint8 0x12
    0040065d st_other uint8 0x00 ; STV_DEFAULT
    0040065e st_shndx int 0 ; SHN_UNDEF
    00400660 st_value uint64 0x0000000000000000
    00400668 st_size int 0
    00400670
    00400670 struct ELF64_SYM
    00400670 st_name int 400
    00400674 st_info uint8 0x12
    00400675 st_other uint8 0x00 ; STV_DEFAULT
    00400676 st_shndx int 0 ; SHN_UNDEF
    00400678 st_value uint64 0x0000000000000000
    00400680 st_size int 0
    00400688
    00400688 struct ELF64_SYM
    00400688 st_name int 197
    0040068c st_info uint8 0x12
    0040068d st_other uint8 0x00 ; STV_DEFAULT
    0040068e st_shndx int 0 ; SHN_UNDEF
    00400690 st_value uint64 0x0000000000000000
    00400698 st_size int 0
    004006a0
    004006a0 struct ELF64_SYM
    004006a0 st_name int 291
    004006a4 st_info uint8 0x12
    004006a5 st_other uint8 0x00 ; STV_DEFAULT
    004006a6 st_shndx int 0 ; SHN_UNDEF
    004006a8 st_value uint64 0x0000000000000000
    004006b0 st_size int 0
    004006b8
    004006b8 struct ELF64_SYM
    004006b8 st_name int 463
    004006bc st_info uint8 0x12
    004006bd st_other uint8 0x00 ; STV_DEFAULT
    004006be st_shndx int 0 ; SHN_UNDEF
    004006c0 st_value uint64 0x0000000000000000
    004006c8 st_size int 0
    004006d0
    004006d0 struct ELF64_SYM
    004006d0 st_name int 148
    004006d4 st_info uint8 0x12
    004006d5 st_other uint8 0x00 ; STV_DEFAULT
    004006d6 st_shndx int 0 ; SHN_UNDEF
    004006d8 st_value uint64 0x0000000000000000
    004006e0 st_size int 0
    004006e8
    004006e8 struct ELF64_SYM
    004006e8 st_name int 488
    004006ec st_info uint8 0x12
    004006ed st_other uint8 0x00 ; STV_DEFAULT
    004006ee st_shndx int 0 ; SHN_UNDEF
    004006f0 st_value uint64 0x0000000000000000
    004006f8 st_size int 0
    00400700
    00400700 struct ELF64_SYM
    00400700 st_name int 324
    00400704 st_info uint8 0x12
    00400705 st_other uint8 0x00 ; STV_DEFAULT
    00400706 st_shndx int 0 ; SHN_UNDEF
    00400708 st_value uint64 0x0000000000000000
    00400710 st_size int 0
    00400718
    00400718 struct ELF64_SYM
    00400718 st_name int 372
    0040071c st_info uint8 0x12
    0040071d st_other uint8 0x00 ; STV_DEFAULT
    0040071e st_shndx int 0 ; SHN_UNDEF
    00400720 st_value uint64 0x0000000000000000
    00400728 st_size int 0
    00400730
    00400730 struct ELF64_SYM
    00400730 st_name int 281
    00400734 st_info uint8 0x12
    00400735 st_other uint8 0x00 ; STV_DEFAULT
    00400736 st_shndx int 0 ; SHN_UNDEF
    00400738 st_value uint64 0x0000000000000000
    00400740 st_size int 0
    00400748
    00400748 struct ELF64_SYM
    00400748 st_name int 96
    0040074c st_info uint8 0x12
    0040074d st_other uint8 0x00 ; STV_DEFAULT
    0040074e st_shndx int 0 ; SHN_UNDEF
    00400750 st_value uint64 0x0000000000401330
    00400758 st_size int 0
    00400760
    00400760 struct ELF64_SYM
    00400760 st_name int 379
    00400764 st_info uint8 0x12
    00400765 st_other uint8 0x00 ; STV_DEFAULT
    00400766 st_shndx int 0 ; SHN_UNDEF
    00400768 st_value uint64 0x0000000000000000
    00400770 st_size int 0
    00400778
    00400778 struct ELF64_SYM
    00400778 st_name int 407
    0040077c st_info uint8 0x12
    0040077d st_other uint8 0x00 ; STV_DEFAULT
    0040077e st_shndx int 0 ; SHN_UNDEF
    00400780 st_value uint64 0x0000000000000000
    00400788 st_size int 0
    00400790
    00400790 struct ELF64_SYM
    00400790 st_name int 434
    00400794 st_info uint8 0x12
    00400795 st_other uint8 0x00 ; STV_DEFAULT
    00400796 st_shndx int 0 ; SHN_UNDEF
    00400798 st_value uint64 0x0000000000000000
    004007a0 st_size int 0
    004007a8
    004007a8 struct ELF64_SYM
    004007a8 st_name int 542
    004007ac st_info uint8 0x12
    004007ad st_other uint8 0x00 ; STV_DEFAULT
    004007ae st_shndx int 0 ; SHN_UNDEF
    004007b0 st_value uint64 0x0000000000000000
    004007b8 st_size int 0
    004007c0
    004007c0 struct ELF64_SYM
    004007c0 st_name int 513
    004007c4 st_info uint8 0x12
    004007c5 st_other uint8 0x00 ; STV_DEFAULT
    004007c6 st_shndx int 0 ; SHN_UNDEF
    004007c8 st_value uint64 0x0000000000000000
    004007d0 st_size int 0
    004007d8
    004007d8 struct ELF64_SYM
    004007d8 st_name int 358
    004007dc st_info uint8 0x12
    004007dd st_other uint8 0x00 ; STV_DEFAULT
    004007de st_shndx int 0 ; SHN_UNDEF
    004007e0 st_value uint64 0x0000000000000000
    004007e8 st_size int 0
    004007f0
    004007f0 struct ELF64_SYM
    004007f0 st_name int 232
    004007f4 st_info uint8 0x12
    004007f5 st_other uint8 0x00 ; STV_DEFAULT
    004007f6 st_shndx int 0 ; SHN_UNDEF
    004007f8 st_value uint64 0x0000000000000000
    00400800 st_size int 0
    00400808
    00400808 struct ELF64_SYM
    00400808 st_name int 456
    0040080c st_info uint8 0x12
    0040080d st_other uint8 0x00 ; STV_DEFAULT
    0040080e st_shndx int 0 ; SHN_UNDEF
    00400810 st_value uint64 0x0000000000000000
    00400818 st_size int 0
    00400820
    00400820 struct ELF64_SYM
    00400820 st_name int 165
    00400824 st_info uint8 0x12
    00400825 st_other uint8 0x00 ; STV_DEFAULT
    00400826 st_shndx int 0 ; SHN_UNDEF
    00400828 st_value uint64 0x0000000000000000
    00400830 st_size int 0
    00400838
    00400838 struct ELF64_SYM
    00400838 st_name int 351
    0040083c st_info uint8 0x12
    0040083d st_other uint8 0x00 ; STV_DEFAULT
    0040083e st_shndx int 0 ; SHN_UNDEF
    00400840 st_value uint64 0x0000000000000000
    00400848 st_size int 0
    00400850
    00400850 struct ELF64_SYM
    00400850 st_name int 55
    00400854 st_info uint8 0x12
    00400855 st_other uint8 0x00 ; STV_DEFAULT
    00400856 st_shndx int 0 ; SHN_UNDEF
    00400858 st_value uint64 0x0000000000000000
    00400860 st_size int 0
    00400868
    00400868 struct ELF64_SYM
    00400868 st_name int 237
    0040086c st_info uint8 0x12
    0040086d st_other uint8 0x00 ; STV_DEFAULT
    0040086e st_shndx int 0 ; SHN_UNDEF
    00400870 st_value uint64 0x0000000000000000
    00400878 st_size int 0
    00400880
    00400880 struct ELF64_SYM
    00400880 st_name int 260
    00400884 st_info uint8 0x12
    00400885 st_other uint8 0x00 ; STV_DEFAULT
    00400886 st_shndx int 0 ; SHN_UNDEF
    00400888 st_value uint64 0x0000000000000000
    00400890 st_size int 0
    00400898
    00400898 struct ELF64_SYM
    00400898 st_name int 428
    0040089c st_info uint8 0x12
    0040089d st_other uint8 0x00 ; STV_DEFAULT
    0040089e st_shndx int 0 ; SHN_UNDEF
    004008a0 st_value uint64 0x0000000000000000
    004008a8 st_size int 0
    004008b0
    004008b0 struct ELF64_SYM
    004008b0 st_name int 346
    004008b4 st_info uint8 0x12
    004008b5 st_other uint8 0x00 ; STV_DEFAULT
    004008b6 st_shndx int 0 ; SHN_UNDEF
    004008b8 st_value uint64 0x0000000000000000
    004008c0 st_size int 0
    004008c8
    004008c8 struct ELF64_SYM
    004008c8 st_name int 469
    004008cc st_info uint8 0x12
    004008cd st_other uint8 0x00 ; STV_DEFAULT
    004008ce st_shndx int 0 ; SHN_UNDEF
    004008d0 st_value uint64 0x0000000000000000
    004008d8 st_size int 0
    004008e0
    004008e0 00 6c 69 62 70 74 68 72 65 61 64 2e 73 6f 2e 30 .libpthread.so.0
    004008f0 00 5f 4a 76 5f 52 65 67 69 73 74 65 72 43 6c 61 ._Jv_RegisterCla
    00400900 73 73 65 73 00 70 74 68 72 65 61 64 5f 63 6f 6e sses.pthread_con
    00400910 64 5f 69 6e 69 74 00 70 74 68 72 65 61 64 5f 6d d_init.pthread_m
    00400920 75 74 65 78 5f 64 65 73 74 72 6f 79 00 70 74 68 utex_destroy.pth
    00400930 72 65 61 64 5f 6d 75 74 65 78 5f 69 6e 69 74 00 read_mutex_init.
    00400940 70 74 68 72 65 61 64 5f 63 6f 6e 64 5f 77 61 69 pthread_cond_wai
    00400950 74 00 70 74 68 72 65 61 64 5f 65 78 69 74 00 70 t.pthread_exit.p
    00400960 74 68 72 65 61 64 5f 63 6f 6e 64 5f 64 65 73 74 thread_cond_dest
    00400970 72 6f 79 00 5f 5f 65 72 72 6e 6f 5f 6c 6f 63 61 roy.__errno_loca
    00400980 74 69 6f 6e 00 70 74 68 72 65 61 64 5f 6d 75 74 tion.pthread_mut
    00400990 65 78 5f 6c 6f 63 6b 00 70 74 68 72 65 61 64 5f ex_lock.pthread_
    004009a0 63 6f 6e 64 5f 73 69 67 6e 61 6c 00 70 74 68 72 cond_signal.pthr
    004009b0 65 61 64 5f 63 72 65 61 74 65 00 70 74 68 72 65 ead_create.pthre
    004009c0 61 64 5f 6a 6f 69 6e 00 66 6f 72 6b 00 70 74 68 ad_join.fork.pth
    004009d0 72 65 61 64 5f 63 6f 6e 64 5f 62 72 6f 61 64 63 read_cond_broadc
    004009e0 61 73 74 00 70 74 68 72 65 61 64 5f 6d 75 74 65 ast.pthread_mute
    004009f0 78 5f 75 6e 6c 6f 63 6b 00 6e 61 6e 6f 73 6c 65 x_unlock.nanosle
    00400a00 65 70 00 77 61 69 74 70 69 64 00 5f 5f 67 6d 6f ep.waitpid.__gmo
    00400a10 6e 5f 73 74 61 72 74 5f 5f 00 6c 69 62 63 2e 73 n_start__.libc.s
    00400a20 6f 2e 36 00 73 74 72 63 70 79 00 65 78 65 63 6c o.6.strcpy.execl
    00400a30 00 72 65 61 64 64 69 72 00 66 6f 70 65 6e 00 70 .readdir.fopen.p
    00400a40 65 72 72 6f 72 00 63 6c 6f 73 65 64 69 72 00 70 error.closedir.p
    00400a50 75 74 73 00 73 74 72 74 6f 6b 00 63 61 6c 6c 6f uts.strtok.callo
    00400a60 63 00 6d 65 6d 73 65 74 00 73 74 72 73 74 72 00 c.memset.strstr.
    00400a70 6d 65 6d 63 70 79 00 66 63 6c 6f 73 65 00 6d 61 memcpy.fclose.ma
    00400a80 6c 6c 6f 63 00 73 74 72 63 61 74 00 75 6d 61 73 lloc.strcat.umas
    00400a90 6b 00 72 65 6d 6f 76 65 00 6f 70 65 6e 64 69 72 k.remove.opendir
    00400aa0 00 75 73 6c 65 65 70 00 66 77 72 69 74 65 00 66 .usleep.fwrite.f
    00400ab0 72 65 61 64 00 72 65 6e 61 6d 65 00 61 74 6f 69 read.rename.atoi
    00400ac0 00 73 65 74 73 69 64 00 73 74 72 63 6d 70 00 5f .setsid.strcmp._
    00400ad0 5f 6c 69 62 63 5f 73 74 61 72 74 5f 6d 61 69 6e _libc_start_main
    00400ae0 00 66 73 65 65 6b 6f 00 73 6e 70 72 69 6e 74 66 .fseeko.snprintf
    00400af0 00 73 79 73 63 6f 6e 66 00 66 72 65 65 00 5f 5f .sysconf.free.__
    00400b00 6c 78 73 74 61 74 00 47 4c 49 42 43 5f 32 2e 32 lxstat.GLIBC_2.2
    00400b10 2e 35 00 47 4c 49 42 43 5f 32 2e 33 2e 32 00 00 .5.GLIBC_2.3.2..
    00400b20
    00400b20 struct ELF_VERSYM
    00400b20 vs_index uint16 0x0000 ; VER_NDX_LOCAL
    00400b22
    00400b22 struct ELF_VERSYM
    00400b22 vs_index uint16 0x0002
    00400b24
    00400b24 struct ELF_VERSYM
    00400b24 vs_index uint16 0x0003
    00400b26
    00400b26 struct ELF_VERSYM
    00400b26 vs_index uint16 0x0003
    00400b28
    00400b28 struct ELF_VERSYM
    00400b28 vs_index uint16 0x0003
    00400b2a
    00400b2a struct ELF_VERSYM
    00400b2a vs_index uint16 0x0003
    00400b2c
    00400b2c struct ELF_VERSYM
    00400b2c vs_index uint16 0x0004
    00400b2e
    00400b2e struct ELF_VERSYM
    00400b2e vs_index uint16 0x0000 ; VER_NDX_LOCAL
    00400b30
    00400b30 struct ELF_VERSYM
    00400b30 vs_index uint16 0x0000 ; VER_NDX_LOCAL
    00400b32
    00400b32 struct ELF_VERSYM
    00400b32 vs_index uint16 0x0003
    00400b34
    00400b34 struct ELF_VERSYM
    00400b34 vs_index uint16 0x0002
    00400b36
    00400b36 struct ELF_VERSYM
    00400b36 vs_index uint16 0x0003
    00400b38
    00400b38 struct ELF_VERSYM
    00400b38 vs_index uint16 0x0003
    00400b3a
    00400b3a struct ELF_VERSYM
    00400b3a vs_index uint16 0x0003
    00400b3c
    00400b3c struct ELF_VERSYM
    00400b3c vs_index uint16 0x0003
    00400b3e
    00400b3e struct ELF_VERSYM
    00400b3e vs_index uint16 0x0003
    00400b40
    00400b40 struct ELF_VERSYM
    00400b40 vs_index uint16 0x0003
    00400b42
    00400b42 struct ELF_VERSYM
    00400b42 vs_index uint16 0x0004
    00400b44
    00400b44 struct ELF_VERSYM
    00400b44 vs_index uint16 0x0003
    00400b46
    00400b46 struct ELF_VERSYM
    00400b46 vs_index uint16 0x0004
    00400b48
    00400b48 struct ELF_VERSYM
    00400b48 vs_index uint16 0x0003
    00400b4a
    00400b4a struct ELF_VERSYM
    00400b4a vs_index uint16 0x0002
    00400b4c
    00400b4c struct ELF_VERSYM
    00400b4c vs_index uint16 0x0003
    00400b4e
    00400b4e struct ELF_VERSYM
    00400b4e vs_index uint16 0x0004
    00400b50
    00400b50 struct ELF_VERSYM
    00400b50 vs_index uint16 0x0003
    00400b52
    00400b52 struct ELF_VERSYM
    00400b52 vs_index uint16 0x0003
    00400b54
    00400b54 struct ELF_VERSYM
    00400b54 vs_index uint16 0x0003
    00400b56
    00400b56 struct ELF_VERSYM
    00400b56 vs_index uint16 0x0004
    00400b58
    00400b58 struct ELF_VERSYM
    00400b58 vs_index uint16 0x0003
    00400b5a
    00400b5a struct ELF_VERSYM
    00400b5a vs_index uint16 0x0003
    00400b5c
    00400b5c struct ELF_VERSYM
    00400b5c vs_index uint16 0x0003
    00400b5e
    00400b5e struct ELF_VERSYM
    00400b5e vs_index uint16 0x0004
    00400b60
    00400b60 struct ELF_VERSYM
    00400b60 vs_index uint16 0x0003
    00400b62
    00400b62 struct ELF_VERSYM
    00400b62 vs_index uint16 0x0004
    00400b64
    00400b64 struct ELF_VERSYM
    00400b64 vs_index uint16 0x0003
    00400b66
    00400b66 struct ELF_VERSYM
    00400b66 vs_index uint16 0x0003
    00400b68
    00400b68 struct ELF_VERSYM
    00400b68 vs_index uint16 0x0003
    00400b6a
    00400b6a struct ELF_VERSYM
    00400b6a vs_index uint16 0x0004
    00400b6c
    00400b6c struct ELF_VERSYM
    00400b6c vs_index uint16 0x0002
    00400b6e
    00400b6e struct ELF_VERSYM
    00400b6e vs_index uint16 0x0003
    00400b70
    00400b70 struct ELF_VERSYM
    00400b70 vs_index uint16 0x0003
    00400b72
    00400b72 struct ELF_VERSYM
    00400b72 vs_index uint16 0x0003
    00400b74
    00400b74 struct ELF_VERSYM
    00400b74 vs_index uint16 0x0003
    00400b76
    00400b76 struct ELF_VERSYM
    00400b76 vs_index uint16 0x0003
    00400b78
    00400b78 struct ELF_VERSYM
    00400b78 vs_index uint16 0x0003
    00400b7a
    00400b7a struct ELF_VERSYM
    00400b7a vs_index uint16 0x0004
    00400b7c
    00400b7c struct ELF_VERSYM
    00400b7c vs_index uint16 0x0003
    00400b7e
    00400b7e struct ELF_VERSYM
    00400b7e vs_index uint16 0x0004
    00400b80
    00400b80 struct ELF_VERSYM
    00400b80 vs_index uint16 0x0003
    00400b82
    00400b82 struct ELF_VERSYM
    00400b82 vs_index uint16 0x0004
    00400b84
    00400b84 struct ELF_VERSYM
    00400b84 vs_index uint16 0x0002
    00400b86
    00400b86 struct ELF_VERSYM
    00400b86 vs_index uint16 0x0004
    00400b88
    00400b88 struct ELF_VERSYM
    00400b88 vs_index uint16 0x0003
    00400b8a
    00400b8a struct ELF_VERSYM
    00400b8a vs_index uint16 0x0004
    00400b8c
    00400b8c struct ELF_VERSYM
    00400b8c vs_index uint16 0x0003
    00400b8e
    00400b8e 00 00 ..
    00400b90
    00400b90 struct ELF_VERNEED
    00400b90 vn_version int 1
    00400b92 vn_cnt int 1
    00400b94 vn_file int 314
    00400b98 vn_aux int 0x400ba0
    00400b9c vn_next int 0x400bb0
    00400ba0
    00400ba0 struct ELF_VERNAUX
    00400ba0 vna_hash uint32 0x09691a75
    00400ba4 vna_flags uint16 0x0000
    00400ba6 vna_other int 3
    00400ba8 vna_name int 551
    00400bac vna_next int 0
    00400bb0
    00400bb0 struct ELF_VERNEED
    00400bb0 vn_version int 1
    00400bb2 vn_cnt int 2
    00400bb4 vn_file int 1
    00400bb8 vn_aux int 0x400bc0
    00400bbc vn_next int 0
    00400bc0
    00400bc0 struct ELF_VERNAUX
    00400bc0 vna_hash uint32 0x09691a75
    00400bc4 vna_flags uint16 0x0000
    00400bc6 vna_other int 4
    00400bc8 vna_name int 551
    00400bcc vna_next int 0x400bd0
    00400bd0
    00400bd0 struct ELF_VERNAUX
    00400bd0 vna_hash uint32 0x09691972
    00400bd4 vna_flags uint16 0x0000
    00400bd6 vna_other int 2
    00400bd8 vna_name int 563
    00400bdc vna_next int 0
    00400be0
    00400be0 struct ELF64_RELA
    00400be0 r_offset uint64 0x6107c8
    00400be8 r_info uint64 0x0000000700000006
    00400bf0 r_addend int64 0x0
    00400bf8
    00400bf8 struct ELF64_RELA
    00400bf8 r_offset uint64 0x6107e8
    00400c00 r_info uint64 0x0000000100000007
    00400c08 r_addend int64 0x0
    00400c10
    00400c10 struct ELF64_RELA
    00400c10 r_offset uint64 0x6107f0
    00400c18 r_info uint64 0x0000000200000007
    00400c20 r_addend int64 0x0
    00400c28
    00400c28 struct ELF64_RELA
    00400c28 r_offset uint64 0x6107f8
    00400c30 r_info uint64 0x0000000300000007
    00400c38 r_addend int64 0x0
    00400c40
    00400c40 struct ELF64_RELA
    00400c40 r_offset uint64 0x610800
    00400c48 r_info uint64 0x0000000400000007
    00400c50 r_addend int64 0x0
    00400c58
    00400c58 struct ELF64_RELA
    00400c58 r_offset uint64 0x610808
    00400c60 r_info uint64 0x0000000500000007
    00400c68 r_addend int64 0x0
    00400c70
    00400c70 struct ELF64_RELA
    00400c70 r_offset uint64 0x610810
    00400c78 r_info uint64 0x0000000600000007
    00400c80 r_addend int64 0x0
    00400c88
    00400c88 struct ELF64_RELA
    00400c88 r_offset uint64 0x610818
    00400c90 r_info uint64 0x0000000900000007
    00400c98 r_addend int64 0x0
    00400ca0
    00400ca0 struct ELF64_RELA
    00400ca0 r_offset uint64 0x610820
    00400ca8 r_info uint64 0x0000000a00000007
    00400cb0 r_addend int64 0x0
    00400cb8
    00400cb8 struct ELF64_RELA
    00400cb8 r_offset uint64 0x610828
    00400cc0 r_info uint64 0x0000000b00000007
    00400cc8 r_addend int64 0x0
    00400cd0
    00400cd0 struct ELF64_RELA
    00400cd0 r_offset uint64 0x610830
    00400cd8 r_info uint64 0x0000000c00000007
    00400ce0 r_addend int64 0x0
    00400ce8
    00400ce8 struct ELF64_RELA
    00400ce8 r_offset uint64 0x610838
    00400cf0 r_info uint64 0x0000000d00000007
    00400cf8 r_addend int64 0x0
    00400d00
    00400d00 struct ELF64_RELA
    00400d00 r_offset uint64 0x610840
    00400d08 r_info uint64 0x0000000e00000007
    00400d10 r_addend int64 0x0
    00400d18
    00400d18 struct ELF64_RELA
    00400d18 r_offset uint64 0x610848
    00400d20 r_info uint64 0x0000000f00000007
    00400d28 r_addend int64 0x0
    00400d30
    00400d30 struct ELF64_RELA
    00400d30 r_offset uint64 0x610850
    00400d38 r_info uint64 0x0000001000000007
    00400d40 r_addend int64 0x0
    00400d48
    00400d48 struct ELF64_RELA
    00400d48 r_offset uint64 0x610858
    00400d50 r_info uint64 0x0000001100000007
    00400d58 r_addend int64 0x0
    00400d60
    00400d60 struct ELF64_RELA
    00400d60 r_offset uint64 0x610860
    00400d68 r_info uint64 0x0000001200000007
    00400d70 r_addend int64 0x0
    00400d78
    00400d78 struct ELF64_RELA
    00400d78 r_offset uint64 0x610868
    00400d80 r_info uint64 0x0000001300000007
    00400d88 r_addend int64 0x0
    00400d90
    00400d90 struct ELF64_RELA
    00400d90 r_offset uint64 0x610870
    00400d98 r_info uint64 0x0000001400000007
    00400da0 r_addend int64 0x0
    00400da8
    00400da8 struct ELF64_RELA
    00400da8 r_offset uint64 0x610878
    00400db0 r_info uint64 0x0000001500000007
    00400db8 r_addend int64 0x0
    00400dc0
    00400dc0 struct ELF64_RELA
    00400dc0 r_offset uint64 0x610880
    00400dc8 r_info uint64 0x0000001600000007
    00400dd0 r_addend int64 0x0
    00400dd8
    00400dd8 struct ELF64_RELA
    00400dd8 r_offset uint64 0x610888
    00400de0 r_info uint64 0x0000001700000007
    00400de8 r_addend int64 0x0
    00400df0
    00400df0 struct ELF64_RELA
    00400df0 r_offset uint64 0x610890
    00400df8 r_info uint64 0x0000001800000007
    00400e00 r_addend int64 0x0
    00400e08
    00400e08 struct ELF64_RELA
    00400e08 r_offset uint64 0x610898
    00400e10 r_info uint64 0x0000001900000007
    00400e18 r_addend int64 0x0
    00400e20
    00400e20 struct ELF64_RELA
    00400e20 r_offset uint64 0x6108a0
    00400e28 r_info uint64 0x0000001a00000007
    00400e30 r_addend int64 0x0
    00400e38
    00400e38 struct ELF64_RELA
    00400e38 r_offset uint64 0x6108a8
    00400e40 r_info uint64 0x0000001b00000007
    00400e48 r_addend int64 0x0
    00400e50
    00400e50 struct ELF64_RELA
    00400e50 r_offset uint64 0x6108b0
    00400e58 r_info uint64 0x0000001c00000007
    00400e60 r_addend int64 0x0
    00400e68
    00400e68 struct ELF64_RELA
    00400e68 r_offset uint64 0x6108b8
    00400e70 r_info uint64 0x0000001d00000007
    00400e78 r_addend int64 0x0
    00400e80
    00400e80 struct ELF64_RELA
    00400e80 r_offset uint64 0x6108c0
    00400e88 r_info uint64 0x0000001e00000007
    00400e90 r_addend int64 0x0
    00400e98
    00400e98 struct ELF64_RELA
    00400e98 r_offset uint64 0x6108c8
    00400ea0 r_info uint64 0x0000001f00000007
    00400ea8 r_addend int64 0x0
    00400eb0
    00400eb0 struct ELF64_RELA
    00400eb0 r_offset uint64 0x6108d0
    00400eb8 r_info uint64 0x0000002000000007
    00400ec0 r_addend int64 0x0
    00400ec8
    00400ec8 struct ELF64_RELA
    00400ec8 r_offset uint64 0x6108d8
    00400ed0 r_info uint64 0x0000002100000007
    00400ed8 r_addend int64 0x0
    00400ee0
    00400ee0 struct ELF64_RELA
    00400ee0 r_offset uint64 0x6108e0
    00400ee8 r_info uint64 0x0000002200000007
    00400ef0 r_addend int64 0x0
    00400ef8
    00400ef8 struct ELF64_RELA
    00400ef8 r_offset uint64 0x6108e8
    00400f00 r_info uint64 0x0000002300000007
    00400f08 r_addend int64 0x0
    00400f10
    00400f10 struct ELF64_RELA
    00400f10 r_offset uint64 0x6108f0
    00400f18 r_info uint64 0x0000002400000007
    00400f20 r_addend int64 0x0
    00400f28
    00400f28 struct ELF64_RELA
    00400f28 r_offset uint64 0x6108f8
    00400f30 r_info uint64 0x0000002500000007
    00400f38 r_addend int64 0x0
    00400f40
    00400f40 struct ELF64_RELA
    00400f40 r_offset uint64 0x610900
    00400f48 r_info uint64 0x0000002600000007
    00400f50 r_addend int64 0x0
    00400f58
    00400f58 struct ELF64_RELA
    00400f58 r_offset uint64 0x610908
    00400f60 r_info uint64 0x0000002700000007
    00400f68 r_addend int64 0x0
    00400f70
    00400f70 struct ELF64_RELA
    00400f70 r_offset uint64 0x610910
    00400f78 r_info uint64 0x0000002800000007
    00400f80 r_addend int64 0x0
    00400f88
    00400f88 struct ELF64_RELA
    00400f88 r_offset uint64 0x610918
    00400f90 r_info uint64 0x0000002900000007
    00400f98 r_addend int64 0x0
    00400fa0
    00400fa0 struct ELF64_RELA
    00400fa0 r_offset uint64 0x610920
    00400fa8 r_info uint64 0x0000002a00000007
    00400fb0 r_addend int64 0x0
    00400fb8
    00400fb8 struct ELF64_RELA
    00400fb8 r_offset uint64 0x610928
    00400fc0 r_info uint64 0x0000002b00000007
    00400fc8 r_addend int64 0x0
    00400fd0
    00400fd0 struct ELF64_RELA
    00400fd0 r_offset uint64 0x610930
    00400fd8 r_info uint64 0x0000002c00000007
    00400fe0 r_addend int64 0x0
    00400fe8
    00400fe8 struct ELF64_RELA
    00400fe8 r_offset uint64 0x610938
    00400ff0 r_info uint64 0x0000002d00000007
    00400ff8 r_addend int64 0x0
    00401000
    00401000 struct ELF64_RELA
    00401000 r_offset uint64 0x610940
    00401008 r_info uint64 0x0000002e00000007
    00401010 r_addend int64 0x0
    00401018
    00401018 struct ELF64_RELA
    00401018 r_offset uint64 0x610948
    00401020 r_info uint64 0x0000002f00000007
    00401028 r_addend int64 0x0
    00401030
    00401030 struct ELF64_RELA
    00401030 r_offset uint64 0x610950
    00401038 r_info uint64 0x0000003000000007
    00401040 r_addend int64 0x0
    00401048
    00401048 struct ELF64_RELA
    00401048 r_offset uint64 0x610958
    00401050 r_info uint64 0x0000003100000007
    00401058 r_addend int64 0x0
    00401060
    00401060 struct ELF64_RELA
    00401060 r_offset uint64 0x610960
    00401068 r_info uint64 0x0000003200000007
    00401070 r_addend int64 0x0
    00401078
    00401078 struct ELF64_RELA
    00401078 r_offset uint64 0x610968
    00401080 r_info uint64 0x0000003300000007
    00401088 r_addend int64 0x0
    00401090
    00401090 struct ELF64_RELA
    00401090 r_offset uint64 0x610970
    00401098 r_info uint64 0x0000003400000007
    004010a0 r_addend int64 0x0
    004010a8
    004010a8 struct ELF64_RELA
    004010a8 r_offset uint64 0x610978
    004010b0 r_info uint64 0x0000003500000007
    004010b8 r_addend int64 0x0
    004010c0
    004010c0 struct ELF64_RELA
    004010c0 r_offset uint64 0x610980
    004010c8 r_info uint64 0x0000003600000007
    004010d0 r_addend int64 0x0
    004010d8
    004010d8_init:
    004010d8sub rsp, 8
    004010dccall fn_40146c
    004010e1call frame_dummy
    004010e6call __do_global_ctors_aux
    004010ebadd rsp, 8
    004010efret
    004010d8
    004010f0
    004010f0fn_4010f0:
    004010f0push [rip+0x20f6e2]
    004010f6jmp [rip+0x20f6e4]
    004010f0
    004010fc
    004010fc // align 0x10
    00401100
    00401100pthread_cond_destroy@plt:
    00401100jmp [rip+0x20f6e2]
    00401106push 0
    0040110bjmp 0x4010f0
    00401100
    00401110
    00401110printf@plt:
    00401110jmp [rip+0x20f6da]
    00401116push 1
    0040111bjmp 0x4010f0
    00401110
    00401120
    00401120memset@plt:
    00401120jmp [rip+0x20f6d2]
    00401126push 2
    0040112bjmp 0x4010f0
    00401120
    00401130
    00401130snprintf@plt:
    00401130jmp [rip+0x20f6ca]
    00401136push 3
    0040113bjmp 0x4010f0
    00401130
    00401140
    00401140setsid@plt:
    00401140jmp [rip+0x20f6c2]
    00401146push 4
    0040114bjmp 0x4010f0
    00401140
    00401150
    00401150close@plt:
    00401150jmp [rip+0x20f6ba]
    00401156push 5
    0040115bjmp 0x4010f0
    00401150
    00401160
    00401160puts@plt:
    00401160jmp [rip+0x20f6b2]
    00401166push 6
    0040116bjmp 0x4010f0
    00401160
    00401170
    00401170pthread_cond_signal@plt:
    00401170jmp [rip+0x20f6aa]
    00401176push 7
    0040117bjmp 0x4010f0
    00401170
    00401180
    00401180exit@plt:
    00401180jmp [rip+0x20f6a2]
    00401186push 8
    0040118bjmp 0x4010f0
    00401180
    00401190
    00401190execl@plt:
    00401190jmp [rip+0x20f69a]
    00401196push 9
    0040119bjmp 0x4010f0
    00401190
    004011a0
    004011a0malloc@plt:
    004011a0jmp [rip+0x20f692]
    004011a6push 10
    004011abjmp 0x4010f0
    004011a0
    004011b0
    004011b0fopen@plt:
    004011b0jmp [rip+0x20f68a]
    004011b6push 11
    004011bbjmp 0x4010f0
    004011b0
    004011c0
    004011c0__libc_start_main@plt:
    004011c0jmp [rip+0x20f682]
    004011c6push 12
    004011cbjmp 0x4010f0
    004011c0
    004011d0
    004011d0sysconf@plt:
    004011d0jmp [rip+0x20f67a]
    004011d6push 13
    004011dbjmp 0x4010f0
    004011d0
    004011e0
    004011e0pthread_mutex_init@plt:
    004011e0jmp [rip+0x20f672]
    004011e6push 14
    004011ebjmp 0x4010f0
    004011e0
    004011f0
    004011f0free@plt:
    004011f0jmp [rip+0x20f66a]
    004011f6push 15
    004011fbjmp 0x4010f0
    004011f0
    00401200
    00401200pthread_create@plt:
    00401200jmp [rip+0x20f662]
    00401206push 16
    0040120bjmp 0x4010f0
    00401200
    00401210
    00401210opendir@plt:
    00401210jmp [rip+0x20f65a]
    00401216push 17
    0040121bjmp 0x4010f0
    00401210
    00401220
    00401220pthread_cond_init@plt:
    00401220jmp [rip+0x20f652]
    00401226push 18
    0040122bjmp 0x4010f0
    00401220
    00401230
    00401230readdir@plt:
    00401230jmp [rip+0x20f64a]
    00401236push 19
    0040123bjmp 0x4010f0
    00401230
    00401240
    00401240pthread_join@plt:
    00401240jmp [rip+0x20f642]
    00401246push 20
    0040124bjmp 0x4010f0
    00401240
    00401250
    00401250usleep@plt:
    00401250jmp [rip+0x20f63a]
    00401256push 21
    0040125bjmp 0x4010f0
    00401250
    00401260
    00401260strstr@plt:
    00401260jmp [rip+0x20f632]
    00401266push 22
    0040126bjmp 0x4010f0
    00401260
    00401270
    00401270strcat@plt:
    00401270jmp [rip+0x20f62a]
    00401276push 23
    0040127bjmp 0x4010f0
    00401270
    00401280
    00401280pthread_exit@plt:
    00401280jmp [rip+0x20f622]
    00401286push 24
    0040128bjmp 0x4010f0
    00401280
    00401290
    00401290atoi@plt:
    00401290jmp [rip+0x20f61a]
    00401296push 25
    0040129bjmp 0x4010f0
    00401290
    004012a0
    004012a0memcpy@plt:
    004012a0jmp [rip+0x20f612]
    004012a6push 26
    004012abjmp 0x4010f0
    004012a0
    004012b0
    004012b0signal@plt:
    004012b0jmp [rip+0x20f60a]
    004012b6push 27
    004012bbjmp 0x4010f0
    004012b0
    004012c0
    004012c0waitpid@plt:
    004012c0jmp [rip+0x20f602]
    004012c6push 28
    004012cbjmp 0x4010f0
    004012c0
    004012d0
    004012d0fread@plt:
    004012d0jmp [rip+0x20f5fa]
    004012d6push 29
    004012dbjmp 0x4010f0
    004012d0
    004012e0
    004012e0__errno_location@plt:
    004012e0jmp [rip+0x20f5f2]
    004012e6push 30
    004012ebjmp 0x4010f0
    004012e0
    004012f0
    004012f0strcmp@plt:
    004012f0jmp [rip+0x20f5ea]
    004012f6push 31
    004012fbjmp 0x4010f0
    004012f0
    00401300
    00401300strcpy@plt:
    00401300jmp [rip+0x20f5e2]
    00401306push 32
    0040130bjmp 0x4010f0
    00401300
    00401310
    00401310strtok@plt:
    00401310jmp [rip+0x20f5da]
    00401316push 33
    0040131bjmp 0x4010f0
    00401310
    00401320
    00401320nanosleep@plt:
    00401320jmp [rip+0x20f5d2]
    00401326push 34
    0040132bjmp 0x4010f0
    00401320
    00401330
    00401330pthread_cond_wait@plt:
    00401330jmp [rip+0x20f5ca]
    00401336push 35
    0040133bjmp 0x4010f0
    00401330
    00401340
    00401340calloc@plt:
    00401340jmp [rip+0x20f5c2]
    00401346push 36
    0040134bjmp 0x4010f0
    00401340
    00401350
    00401350fclose@plt:
    00401350jmp [rip+0x20f5ba]
    00401356push 37
    0040135bjmp 0x4010f0
    00401350
    00401360
    00401360remove@plt:
    00401360jmp [rip+0x20f5b2]
    00401366push 38
    0040136bjmp 0x4010f0
    00401360
    00401370
    00401370__lxstat@plt:
    00401370jmp [rip+0x20f5aa]
    00401376push 39
    0040137bjmp 0x4010f0
    00401370
    00401380
    00401380fseeko@plt:
    00401380jmp [rip+0x20f5a2]
    00401386push 40
    0040138bjmp 0x4010f0
    00401380
    00401390
    00401390closedir@plt:
    00401390jmp [rip+0x20f59a]
    00401396push 41
    0040139bjmp 0x4010f0
    00401390
    004013a0
    004013a0fork@plt:
    004013a0jmp [rip+0x20f592]
    004013a6push 42
    004013abjmp 0x4010f0
    004013a0
    004013b0
    004013b0fwrite@plt:
    004013b0jmp [rip+0x20f58a]
    004013b6push 43
    004013bbjmp 0x4010f0
    004013b0
    004013c0
    004013c0pthread_mutex_lock@plt:
    004013c0jmp [rip+0x20f582]
    004013c6push 44
    004013cbjmp 0x4010f0
    004013c0
    004013d0
    004013d0perror@plt:
    004013d0jmp [rip+0x20f57a]
    004013d6push 45
    004013dbjmp 0x4010f0
    004013d0
    004013e0
    004013e0pthread_mutex_destroy@plt:
    004013e0jmp [rip+0x20f572]
    004013e6push 46
    004013ebjmp 0x4010f0
    004013e0
    004013f0
    004013f0pthread_cond_broadcast@plt:
    004013f0jmp [rip+0x20f56a]
    004013f6push 47
    004013fbjmp 0x4010f0
    004013f0
    00401400
    00401400pthread_mutex_unlock@plt:
    00401400jmp [rip+0x20f562]
    00401406push 48
    0040140bjmp 0x4010f0
    00401400
    00401410
    00401410umask@plt:
    00401410jmp [rip+0x20f55a]
    00401416push 49
    0040141bjmp 0x4010f0
    00401410
    00401420
    00401420open@plt:
    00401420jmp [rip+0x20f552]
    00401426push 50
    0040142bjmp 0x4010f0
    00401420
    00401430
    00401430rename@plt:
    00401430jmp [rip+0x20f54a]
    00401436push 51
    0040143bjmp 0x4010f0
    00401430
    00401440
    00401440_start:
    00401440xor ebp, ebp
    00401442mov r9, rdx
    00401445pop rsi
    00401446mov rdx, rsp
    00401449and rsp, -16
    0040144dpush rax
    0040144epush rsp
    0040144fmov r8, 0x40d840
    00401456mov rcx, 0x40d850
    0040145dmov rdi, 0x401524
    00401464call __libc_start_main@plt
    00401469hlt
    00401440
    0040146a
    0040146a 90 90 ..
    0040146c
    0040146cfn_40146c:
    0040146csub rsp, 8
    00401470mov rax, [rip+0x20f351]
    00401477test rax, rax
    0040147aje 0x40147e
    0040147ccall rax
    0040147e
    0040147eloc_40147e:
    0040147eadd rsp, 8
    00401482ret
    0040146c
    00401483
    00401483 // align 0x10
    00401490
    00401490__do_global_dtors_aux:
    00401490push rbp
    00401491mov rbp, rsp
    00401494push rbx
    00401495sub rsp, 8
    00401499cmp [rip+0x20f520], 0
    004014a0jne 0x4014ed
    004014a2mov ebx, 0x610618
    004014a7mov rax, [rip+0x20f51a]
    004014aesub rbx, 0x610610
    004014b5sar rbx, 3
    004014b9sub rbx, 1
    004014bdcmp rax, rbx
    004014c0jae 0x4014e6
    004014c2nop [rax+rax]
    004014c8
    004014c8loc_4014c8:
    004014c8add rax, 1
    004014ccmov [rip+0x20f4f5], rax
    004014d3call [8*rax+0x610610]
    004014damov rax, [rip+0x20f4e7]
    004014e1cmp rax, rbx
    004014e4jb 0x4014c8
    004014e6
    004014e6loc_4014e6:
    004014e6mov [rip+0x20f4d3], 1
    004014ed
    004014edloc_4014ed:
    004014edadd rsp, 8
    004014f1pop rbx
    004014f2pop rbp
    004014f3ret
    00401490
    004014f4
    004014f4 // align 0x10
    00401500
    00401500frame_dummy:
    00401500cmp [rip+0x20f118], 0
    00401500
    00401508
    00401508 55 48 89 e5 74 12 b8 00 UH..t...
    00401510 00 00 00 48 85 c0 74 08 5d bf 20 06 61 00 ff e0 ...H..t.]. .a...
    00401520 5d c3 90 90 ]...
    00401524
    00401524main:
    00401524push rbp
    00401525mov rbp, rsp
    00401528sub rsp, 32
    0040152cmov [rbp-20], edi
    0040152fmov [rbp-32], rsi
    00401533mov rdx, [rbp-32]
    00401537mov eax, [rbp-20]
    0040153amov rsi, rdx
    0040153dmov edi, eax
    0040153fcall ParseArgs
    00401544mov eax, [rip+0x20f4aa]
    0040154atest eax, eax
    0040154cjne 0x401566
    0040154emov rax, [rip+0x20f493]
    00401555test rax, rax
    00401558jne 0x401581
    0040155amov rax, [rip+0x20f477]
    00401561test rax, rax
    00401564jne 0x401581
    00401566
    00401566loc_401566:
    00401566mov rdx, [rbp-32]
    0040156amov eax, [rbp-20]
    0040156dmov rsi, rdx
    00401570mov edi, eax
    00401572call PrintHelp
    00401577mov eax, 0
    0040157cjmp 0x401704
    00401581
    00401581loc_401581:
    00401581mov eax, [rip+0x20f449]
    00401587test eax, eax
    00401589je 0x401595
    0040158bmov eax, 0
    00401590call PrintArgs
    00401595
    00401595loc_401595:
    00401595mov eax, [rip+0x20f465]
    0040159btest eax, eax
    0040159dje 0x4015a9
    0040159fmov eax, 0
    004015a4call ForkProcess
    004015a9
    004015a9loc_4015a9:
    004015a9mov eax, [rip+0x20f44d]
    004015aftest eax, eax
    004015b1je 0x4015e3
    004015b3mov [rbp-4], 0
    004015bajmp 0x4015ca
    004015bc
    004015bcloc_4015bc:
    004015bcmov edi, 1000
    004015c1call Sleep
    004015c6add [rbp-4], 1
    004015ca
    004015caloc_4015ca:
    004015camov eax, [rip+0x20f42c]
    004015d0shl eax, 2
    004015d3mov edx, eax
    004015d5shl edx, 4
    004015d8mov ecx, edx
    004015dasub ecx, eax
    004015dcmov eax, ecx
    004015decmp eax, [rbp-4]
    004015e1jg 0x4015bc
    004015e3
    004015e3loc_4015e3:
    004015e3mov eax, 0
    004015e8call PrepareThreads
    004015edmov eax, 0
    004015f2call DecodeStrings
    004015f7mov eax, [rip+0x20f3fb]
    004015fdtest eax, eax
    004015ffje 0x401615
    00401601mov eax, 0
    00401606call KillEsxi
    0040160bmov eax, 0
    00401610call RemoveSnapshots
    00401615
    00401615loc_401615:
    00401615mov rax, [rip+0x20f3cc]
    0040161ctest rax, rax
    0040161fje 0x401692
    00401621mov [rbp-8], 0
    00401628jmp 0x401683
    0040162a
    0040162aloc_40162a:
    0040162amov eax, [rip+0x20f3a0]
    00401630test eax, eax
    00401632je 0x401660
    00401634mov rax, [rip+0x20f3ad]
    0040163bmov edx, [rbp-8]
    0040163emovsxd rdx, edx
    00401641shl rdx, 3
    00401645add rax, rdx
    00401648mov rdx, [rax]
    0040164bmov eax, 0x40d944
    00401650mov rsi, rdx
    00401653mov rdi, rax
    00401656mov eax, 0
    0040165bcall printf@plt
    00401660
    00401660loc_401660:
    00401660mov rax, [rip+0x20f381]
    00401667mov edx, [rbp-8]
    0040166amovsxd rdx, edx
    0040166dshl rdx, 3
    00401671add rax, rdx
    00401674mov rax, [rax]
    00401677mov rdi, rax
    0040167acall RecursiveSearch
    0040167fadd [rbp-8], 1
    00401683
    00401683loc_401683:
    00401683mov edx, [rbp-8]
    00401686mov eax, [rip+0x20f364]
    0040168ccmp edx, eax
    0040168ejb 0x40162a
    00401690jmp 0x4016e1
    00401692
    00401692loc_401692:
    00401692mov rax, [rip+0x20f33f]
    00401699test rax, rax
    0040169cje 0x4016e1
    0040169emov [rbp-12], 0
    004016a5jmp 0x4016d4
    004016a7
    004016a7loc_4016a7:
    004016a7mov rax, [rip+0x20f32a]
    004016aemov edx, [rbp-12]
    004016b1movsxd rdx, edx
    004016b4shl rdx, 3
    004016b8add rax, rdx
    004016bbmov rdx, [rax]
    004016bemov rax, [rip+0x20f343]
    004016c5mov rsi, rdx
    004016c8mov rdi, rax
    004016cbcall queue_put_wait
    004016d0add [rbp-12], 1
    004016d4
    004016d4loc_4016d4:
    004016d4mov edx, [rbp-12]
    004016d7mov eax, [rip+0x20f303]
    004016ddcmp edx, eax
    004016dfjb 0x4016a7
    004016e1
    004016e1loc_4016e1:
    004016e1mov eax, [rip+0x20f31d]
    004016e7test eax, eax
    004016e9je 0x4016f5
    004016ebmov eax, 0
    004016f0call SetupMotd
    004016f5
    004016f5loc_4016f5:
    004016f5mov eax, 0
    004016facall WaitForThreads
    004016ffmov eax, 0
    00401704
    00401704loc_401704:
    00401704leave
    00401705ret
    00401524
    00401706
    00401706 90 90 ..
    00401708
    00401708queue_lock_internal:
    00401708push rbp
    00401709mov rbp, rsp
    0040170csub rsp, 16
    00401710mov [rbp-8], rdi
    00401714cmp [rbp-8], 0
    00401719jne 0x401722
    0040171bmov eax, -1
    00401720jmp 0x401742
    00401722
    00401722loc_401722:
    00401722mov rax, [rbp-8]
    00401726mov rax, [rax+32]
    0040172amov rdi, rax
    0040172dcall pthread_mutex_lock@plt
    00401732test eax, eax
    00401734je 0x40173d
    00401736mov eax, -2
    0040173bjmp 0x401742
    0040173d
    0040173dloc_40173d:
    0040173dmov eax, 0
    00401742
    00401742loc_401742:
    00401742leave
    00401743ret
    00401708
    00401744
    00401744queue_unlock_internal:
    00401744push rbp
    00401745mov rbp, rsp
    00401748sub rsp, 16
    0040174cmov [rbp-8], rdi
    00401750cmp [rbp-8], 0
    00401755jne 0x40175e
    00401757mov eax, -1
    0040175cjmp 0x40177e
    0040175e
    0040175eloc_40175e:
    0040175emov rax, [rbp-8]
    00401762mov rax, [rax+32]
    00401766mov rdi, rax
    00401769call pthread_mutex_unlock@plt
    0040176etest eax, eax
    00401770je 0x401779
    00401772mov eax, -2
    00401777jmp 0x40177e
    00401779
    00401779loc_401779:
    00401779mov eax, 0
    0040177e
    0040177eloc_40177e:
    0040177eleave
    0040177fret
    00401744
    00401780
    00401780queue_destroy_internal:
    00401780push rbp
    00401781mov rbp, rsp
    00401784sub rsp, 48
    00401788mov [rbp-24], rdi
    0040178cmov eax, esi
    0040178emov [rbp-40], rdx
    00401792mov [rbp-28], al
    00401795mov [rbp-4], 0
    0040179cmov rax, [rbp-24]
    004017a0mov esi, 0
    004017a5mov rdi, rax
    004017a8call queue_set_new_data
    004017admovsx eax, al
    004017b0mov [rbp-4], eax
    004017b3mov rax, [rbp-24]
    004017b7mov rdi, rax
    004017bacall queue_lock_internal
    004017bfmovsx eax, al
    004017c2mov [rbp-4], eax
    004017c5movzx ecx, [rbp-28]
    004017c9mov rdx, [rbp-40]
    004017cdmov rax, [rbp-24]
    004017d1mov esi, ecx
    004017d3mov rdi, rax
    004017d6call queue_flush_internal
    004017dbmovsx eax, al
    004017demov [rbp-4], eax
    004017e1mov rax, [rbp-24]
    004017e5mov rax, [rax+40]
    004017e9mov rdi, rax
    004017eccall pthread_cond_destroy@plt
    004017f1mov [rbp-4], eax
    004017f4mov rax, [rbp-24]
    004017f8mov rax, [rax+40]
    004017fcmov rdi, rax
    004017ffcall free@plt
    00401804mov rax, [rbp-24]
    00401808mov rax, [rax+48]
    0040180cmov rdi, rax
    0040180fcall pthread_cond_destroy@plt
    00401814mov [rbp-4], eax
    00401817mov rax, [rbp-24]
    0040181bmov rax, [rax+48]
    0040181fmov rdi, rax
    00401822call free@plt
    00401827mov rax, [rbp-24]
    0040182bmov rdi, rax
    0040182ecall queue_unlock_internal
    00401833movsx eax, al
    00401836mov [rbp-4], eax
    00401839jmp 0x401845
    0040183b
    0040183bloc_40183b:
    0040183bmov edi, 0x186a0
    00401840call usleep@plt
    00401845
    00401845loc_401845:
    00401845mov rax, [rbp-24]
    00401849mov rax, [rax+32]
    0040184dmov rdi, rax
    00401850call pthread_mutex_destroy@plt
    00401855mov [rbp-4], eax
    00401858cmp [rbp-4], 16
    0040185cje 0x40183b
    0040185emov rax, [rbp-24]
    00401862mov rax, [rax+32]
    00401866mov rdi, rax
    00401869call free@plt
    0040186emov rax, [rbp-24]
    00401872mov rdi, rax
    00401875call free@plt
    0040187amov eax, [rbp-4]
    0040187dleave
    0040187eret
    00401780
    0040187f
    0040187fqueue_flush_internal:
    0040187fpush rbp
    00401880mov rbp, rsp
    00401883sub rsp, 48
    00401887mov [rbp-24], rdi
    0040188bmov eax, esi
    0040188dmov [rbp-40], rdx
    00401891mov [rbp-28], al
    00401894cmp [rbp-24], 0
    00401899jne 0x4018a5
    0040189bmov eax, -1
    004018a0jmp 0x401942
    004018a5
    004018a5loc_4018a5:
    004018a5mov rax, [rbp-24]
    004018a9mov rax, [rax]
    004018acmov [rbp-8], rax
    004018b0mov [rbp-16], 0
    004018b8jmp 0x401915
    004018ba
    004018baloc_4018ba:
    004018bamov rax, [rbp-8]
    004018bemov rax, [rax+8]
    004018c2mov [rbp-16], rax
    004018c6cmp [rbp-28], 0
    004018caje 0x4018e4
    004018cccmp [rbp-40], 0
    004018d1jne 0x4018e4
    004018d3mov rax, [rbp-8]
    004018d7mov rax, [rax]
    004018damov rdi, rax
    004018ddcall free@plt
    004018e2jmp 0x401901
    004018e4
    004018e4loc_4018e4:
    004018e4cmp [rbp-28], 0
    004018e8je 0x401901
    004018eacmp [rbp-40], 0
    004018efje 0x401901
    004018f1mov rax, [rbp-8]
    004018f5mov rax, [rax]
    004018f8mov rdx, [rbp-40]
    004018fcmov rdi, rax
    004018ffcall rdx
    00401901
    00401901loc_401901:
    00401901mov rax, [rbp-8]
    00401905mov rdi, rax
    00401908call free@plt
    0040190dmov rax, [rbp-16]
    00401911mov [rbp-8], rax
    00401915
    00401915loc_401915:
    00401915cmp [rbp-8], 0
    0040191ajne 0x4018ba
    0040191cmov rax, [rbp-24]
    00401920mov [rax], 0
    00401927mov rax, [rbp-24]
    0040192bmov [rax+8], 0
    00401933mov rax, [rbp-24]
    00401937mov [rax+16], 0
    0040193dmov eax, 0
    00401942
    00401942loc_401942:
    00401942leave
    00401943ret
    0040187f
    00401944
    00401944queue_put_internal:
    00401944push rbp
    00401945mov rbp, rsp
    00401948sub rsp, 64
    0040194cmov [rbp-40], rdi
    00401950mov [rbp-48], rsi
    00401954mov [rbp-56], rdx
    00401958cmp [rbp-40], 0
    0040195djne 0x401969
    0040195fmov eax, -1
    00401964jmp 0x401cb1
    00401969
    00401969loc_401969:
    00401969mov rax, [rbp-40]
    0040196dmovzx eax, [rax+20]
    00401971test al, al
    00401973jne 0x40197f
    00401975mov eax, -4
    0040197ajmp 0x401cb1
    0040197f
    0040197floc_40197f:
    0040197fmov rax, [rbp-40]
    00401983movzx eax, [rax+16]
    00401987cmp ax, -2
    0040198bje 0x4019b7
    0040198dmov rax, [rbp-40]
    00401991movzx eax, [rax+18]
    00401995test ax, ax
    00401998je 0x401a39
    0040199emov rax, [rbp-40]
    004019a2movzx edx, [rax+16]
    004019a6mov rax, [rbp-40]
    004019aamovzx eax, [rax+18]
    004019aecmp dx, ax
    004019b1jne 0x401a39
    004019b7
    004019b7loc_4019b7:
    004019b7cmp [rbp-56], 0
    004019bcjne 0x4019e6
    004019bemov eax, -7
    004019c3jmp 0x401cb1
    004019c8
    004019c8loc_4019c8:
    004019c8mov rax, [rbp-40]
    004019ccmov rdx, [rax+32]
    004019d0mov rax, [rbp-40]
    004019d4mov rax, [rax+48]
    004019d8mov rcx, [rbp-56]
    004019dcmov rsi, rdx
    004019dfmov rdi, rax
    004019e2call rcx
    004019e4jmp 0x4019e7
    004019e6
    004019e6loc_4019e6:
    004019e6nop
    004019e7
    004019e7loc_4019e7:
    004019e7mov rax, [rbp-40]
    004019ebmovzx eax, [rax+16]
    004019efcmp ax, -2
    004019f3je 0x401a17
    004019f5mov rax, [rbp-40]
    004019f9movzx eax, [rax+18]
    004019fdtest ax, ax
    00401a00je 0x401a23
    00401a02mov rax, [rbp-40]
    00401a06movzx edx, [rax+16]
    00401a0amov rax, [rbp-40]
    00401a0emovzx eax, [rax+18]
    00401a12cmp dx, ax
    00401a15jne 0x401a23
    00401a17
    00401a17loc_401a17:
    00401a17mov rax, [rbp-40]
    00401a1bmovzx eax, [rax+20]
    00401a1ftest al, al
    00401a21jne 0x4019c8
    00401a23
    00401a23loc_401a23:
    00401a23mov rax, [rbp-40]
    00401a27movzx eax, [rax+20]
    00401a2btest al, al
    00401a2djne 0x401a39
    00401a2fmov eax, -4
    00401a34jmp 0x401cb1
    00401a39
    00401a39loc_401a39:
    00401a39mov edi, 16
    00401a3ecall malloc@plt
    00401a43mov [rbp-24], rax
    00401a47cmp [rbp-24], 0
    00401a4cjne 0x401a58
    00401a4emov eax, -3
    00401a53jmp 0x401cb1
    00401a58
    00401a58loc_401a58:
    00401a58mov rax, [rbp-24]
    00401a5cmov rdx, [rbp-48]
    00401a60mov [rax], rdx
    00401a63mov rax, [rbp-24]
    00401a67mov [rax+8], 0
    00401a6fmov rax, [rbp-40]
    00401a73movzx eax, [rax+21]
    00401a77test al, al
    00401a79je 0x401a87
    00401a7bmov rax, [rbp-40]
    00401a7fmov rax, [rax]
    00401a82test rax, rax
    00401a85jne 0x401ac2
    00401a87
    00401a87loc_401a87:
    00401a87mov rax, [rbp-40]
    00401a8bmov rax, [rax+8]
    00401a8ftest rax, rax
    00401a92jne 0x401aa1
    00401a94mov rax, [rbp-40]
    00401a98mov rdx, [rbp-24]
    00401a9cmov [rax], rdx
    00401a9fjmp 0x401ab1
    00401aa1
    00401aa1loc_401aa1:
    00401aa1mov rax, [rbp-40]
    00401aa5mov rax, [rax+8]
    00401aa9mov rdx, [rbp-24]
    00401aadmov [rax+8], rdx
    00401ab1
    00401ab1loc_401ab1:
    00401ab1mov rax, [rbp-40]
    00401ab5mov rdx, [rbp-24]
    00401ab9mov [rax+8], rdx
    00401abdjmp 0x401c89
    00401ac2
    00401ac2loc_401ac2:
    00401ac2mov rax, [rbp-40]
    00401ac6mov rax, [rax]
    00401ac9mov [rbp-8], rax
    00401acdmov [rbp-16], 0
    00401ad5mov rax, [rbp-40]
    00401ad9movzx eax, [rax+22]
    00401addtest al, al
    00401adfje 0x401b07
    00401ae1mov rax, [rbp-40]
    00401ae5mov rcx, [rax+24]
    00401ae9mov rax, [rbp-8]
    00401aedmov rax, [rax]
    00401af0mov rdx, [rbp-48]
    00401af4mov rsi, rdx
    00401af7mov rdi, rax
    00401afacall rcx
    00401afctest eax, eax
    00401afejs 0x401b07
    00401b00mov eax, 1
    00401b05jmp 0x401b0c
    00401b07
    00401b07loc_401b07:
    00401b07mov eax, 0
    00401b0c
    00401b0cloc_401b0c:
    00401b0cmov [rbp-28], eax
    00401b0fmov rax, [rbp-40]
    00401b13movzx eax, [rax+22]
    00401b17test al, al
    00401b19jne 0x401b41
    00401b1bmov rax, [rbp-40]
    00401b1fmov rcx, [rax+24]
    00401b23mov rax, [rbp-8]
    00401b27mov rax, [rax]
    00401b2amov rdx, [rbp-48]
    00401b2emov rsi, rdx
    00401b31mov rdi, rax
    00401b34call rcx
    00401b36test eax, eax
    00401b38jg 0x401b41
    00401b3amov eax, 1
    00401b3fjmp 0x401b46
    00401b41
    00401b41loc_401b41:
    00401b41mov eax, 0
    00401b46
    00401b46loc_401b46:
    00401b46mov [rbp-32], eax
    00401b49cmp [rbp-28], 0
    00401b4djne 0x401c63
    00401b53cmp [rbp-32], 0
    00401b57jne 0x401c63
    00401b5dmov rax, [rbp-40]
    00401b61mov rax, [rax]
    00401b64mov [rbp-8], rax
    00401b68mov rax, [rbp-8]
    00401b6cmov rax, [rax+8]
    00401b70mov [rbp-16], rax
    00401b74jmp 0x401c21
    00401b79
    00401b79loc_401b79:
    00401b79mov rax, [rbp-40]
    00401b7dmovzx eax, [rax+22]
    00401b81test al, al
    00401b83je 0x401bc3
    00401b85mov rax, [rbp-40]
    00401b89mov rcx, [rax+24]
    00401b8dmov rax, [rbp-8]
    00401b91mov rax, [rax]
    00401b94mov rdx, [rbp-48]
    00401b98mov rsi, rdx
    00401b9bmov rdi, rax
    00401b9ecall rcx
    00401ba0test eax, eax
    00401ba2jg 0x401bc3
    00401ba4mov rax, [rbp-40]
    00401ba8mov rcx, [rax+24]
    00401bacmov rax, [rbp-16]
    00401bb0mov rdx, [rax]
    00401bb3mov rax, [rbp-48]
    00401bb7mov rsi, rdx
    00401bbamov rdi, rax
    00401bbdcall rcx
    00401bbftest eax, eax
    00401bc1jle 0x401c36
    00401bc3
    00401bc3loc_401bc3:
    00401bc3mov rax, [rbp-40]
    00401bc7movzx eax, [rax+22]
    00401bcbtest al, al
    00401bcdjne 0x401c0d
    00401bcfmov rax, [rbp-40]
    00401bd3mov rcx, [rax+24]
    00401bd7mov rax, [rbp-8]
    00401bdbmov rax, [rax]
    00401bdemov rdx, [rbp-48]
    00401be2mov rsi, rdx
    00401be5mov rdi, rax
    00401be8call rcx
    00401beatest eax, eax
    00401becjs 0x401c0d
    00401beemov rax, [rbp-40]
    00401bf2mov rcx, [rax+24]
    00401bf6mov rax, [rbp-16]
    00401bfamov rdx, [rax]
    00401bfdmov rax, [rbp-48]
    00401c01mov rsi, rdx
    00401c04mov rdi, rax
    00401c07call rcx
    00401c09test eax, eax
    00401c0bjns 0x401c35
    00401c0d
    00401c0dloc_401c0d:
    00401c0dmov rax, [rbp-16]
    00401c11mov [rbp-8], rax
    00401c15mov rax, [rbp-16]
    00401c19mov rax, [rax+8]
    00401c1dmov [rbp-16], rax
    00401c21
    00401c21loc_401c21:
    00401c21cmp [rbp-8], 0
    00401c26je 0x401c36
    00401c28cmp [rbp-16], 0
    00401c2djne 0x401b79
    00401c33jmp 0x401c36
    00401c35
    00401c35loc_401c35:
    00401c35nop
    00401c36
    00401c36loc_401c36:
    00401c36mov rax, [rbp-8]
    00401c3amov rdx, [rbp-24]
    00401c3emov [rax+8], rdx
    00401c42mov rax, [rbp-24]
    00401c46mov rdx, [rbp-16]
    00401c4amov [rax+8], rdx
    00401c4ecmp [rbp-16], 0
    00401c53jne 0x401c89
    00401c55mov rax, [rbp-40]
    00401c59mov rdx, [rbp-24]
    00401c5dmov [rax+8], rdx
    00401c61jmp 0x401c89
    00401c63
    00401c63loc_401c63:
    00401c63cmp [rbp-28], 0
    00401c67jne 0x401c6f
    00401c69cmp [rbp-32], 0
    00401c6dje 0x401c89
    00401c6f
    00401c6floc_401c6f:
    00401c6fmov rax, [rbp-40]
    00401c73mov rdx, [rax]
    00401c76mov rax, [rbp-24]
    00401c7amov [rax+8], rdx
    00401c7emov rax, [rbp-40]
    00401c82mov rdx, [rbp-24]
    00401c86mov [rax], rdx
    00401c89
    00401c89loc_401c89:
    00401c89mov rax, [rbp-40]
    00401c8dmovzx eax, [rax+16]
    00401c91lea edx, [rax+1]
    00401c94mov rax, [rbp-40]
    00401c98mov [rax+16], dx
    00401c9cmov rax, [rbp-40]
    00401ca0mov rax, [rax+40]
    00401ca4mov rdi, rax
    00401ca7call pthread_cond_signal@plt
    00401cacmov eax, 0
    00401cb1
    00401cb1loc_401cb1:
    00401cb1leave
    00401cb2ret
    00401944
    00401cb3
    00401cb3queue_get_internal:
    00401cb3push rbp
    00401cb4mov rbp, rsp
    00401cb7sub rsp, 64
    00401cbbmov [rbp-24], rdi
    00401cbfmov [rbp-32], rsi
    00401cc3mov [rbp-40], rdx
    00401cc7mov [rbp-48], rcx
    00401ccbmov [rbp-56], r8
    00401ccfcmp [rbp-24], 0
    00401cd4jne 0x401ceb
    00401cd6mov rax, [rbp-32]
    00401cdamov [rax], 0
    00401ce1mov eax, -1
    00401ce6jmp 0x401e96
    00401ceb
    00401cebloc_401ceb:
    00401cebmov rax, [rbp-24]
    00401cefmovzx eax, [rax+16]
    00401cf3test ax, ax
    00401cf6jne 0x401d6f
    00401cf8cmp [rbp-40], 0
    00401cfdjne 0x401d32
    00401cffmov rax, [rbp-32]
    00401d03mov [rax], 0
    00401d0amov eax, -7
    00401d0fjmp 0x401e96
    00401d14
    00401d14loc_401d14:
    00401d14mov rax, [rbp-24]
    00401d18mov rdx, [rax+32]
    00401d1cmov rax, [rbp-24]
    00401d20mov rax, [rax+40]
    00401d24mov rcx, [rbp-40]
    00401d28mov rsi, rdx
    00401d2bmov rdi, rax
    00401d2ecall rcx
    00401d30jmp 0x401d33
    00401d32
    00401d32loc_401d32:
    00401d32nop
    00401d33
    00401d33loc_401d33:
    00401d33mov rax, [rbp-24]
    00401d37movzx eax, [rax+16]
    00401d3btest ax, ax
    00401d3ejne 0x401d4c
    00401d40mov rax, [rbp-24]
    00401d44movzx eax, [rax+20]
    00401d48test al, al
    00401d4ajne 0x401d14
    00401d4c
    00401d4cloc_401d4c:
    00401d4cmov rax, [rbp-24]
    00401d50movzx eax, [rax+16]
    00401d54test ax, ax
    00401d57jne 0x401d6f
    00401d59mov rax, [rbp-24]
    00401d5dmovzx eax, [rax+20]
    00401d61test al, al
    00401d63jne 0x401d6f
    00401d65mov eax, -4
    00401d6ajmp 0x401e96
    00401d6f
    00401d6floc_401d6f:
    00401d6fmov [rbp-8], 0
    00401d77mov rax, [rbp-24]
    00401d7bmov rax, [rax]
    00401d7emov [rbp-16], rax
    00401d82jmp 0x401d98
    00401d84
    00401d84loc_401d84:
    00401d84mov rax, [rbp-16]
    00401d88mov [rbp-8], rax
    00401d8cmov rax, [rbp-16]
    00401d90mov rax, [rax+8]
    00401d94mov [rbp-16], rax
    00401d98
    00401d98loc_401d98:
    00401d98cmp [rbp-48], 0
    00401d9dje 0x401dbe
    00401d9fcmp [rbp-16], 0
    00401da4je 0x401dbe
    00401da6mov rdx, [rbp-56]
    00401daamov rax, [rbp-16]
    00401daemov rcx, [rbp-48]
    00401db2mov rsi, rdx
    00401db5mov rdi, rax
    00401db8call rcx
    00401dbatest eax, eax
    00401dbcjne 0x401d84
    00401dbe
    00401dbeloc_401dbe:
    00401dbecmp [rbp-16], 0
    00401dc3je 0x401e22
    00401dc5cmp [rbp-8], 0
    00401dcajne 0x401e22
    00401dccmov rax, [rbp-16]
    00401dd0mov rdx, [rax+8]
    00401dd4mov rax, [rbp-24]
    00401dd8mov [rax], rdx
    00401ddbmov rax, [rbp-24]
    00401ddfmov rax, [rax]
    00401de2test rax, rax
    00401de5jne 0x401df3
    00401de7mov rax, [rbp-24]
    00401debmov [rax+8], 0
    00401df3
    00401df3loc_401df3:
    00401df3mov rax, [rbp-24]
    00401df7movzx eax, [rax+16]
    00401dfblea edx, [rax-1]
    00401dfemov rax, [rbp-24]
    00401e02mov [rax+16], dx
    00401e06mov rax, [rbp-16]
    00401e0amov rdx, [rax]
    00401e0dmov rax, [rbp-32]
    00401e11mov [rax], rdx
    00401e14mov rax, [rbp-16]
    00401e18mov rdi, rax
    00401e1bcall free@plt
    00401e20jmp 0x401e81
    00401e22
    00401e22loc_401e22:
    00401e22cmp [rbp-16], 0
    00401e27je 0x401e6f
    00401e29cmp [rbp-8], 0
    00401e2eje 0x401e6f
    00401e30mov rax, [rbp-16]
    00401e34mov rdx, [rax+8]
    00401e38mov rax, [rbp-8]
    00401e3cmov [rax+8], rdx
    00401e40mov rax, [rbp-24]
    00401e44movzx eax, [rax+16]
    00401e48lea edx, [rax-1]
    00401e4bmov rax, [rbp-24]
    00401e4fmov [rax+16], dx
    00401e53mov rax, [rbp-16]
    00401e57mov rdx, [rax]
    00401e5amov rax, [rbp-32]
    00401e5emov [rax], rdx
    00401e61mov rax, [rbp-16]
    00401e65mov rdi, rax
    00401e68call free@plt
    00401e6djmp 0x401e81
    00401e6f
    00401e6floc_401e6f:
    00401e6fmov rax, [rbp-32]
    00401e73mov [rax], 0
    00401e7amov eax, -5
    00401e7fjmp 0x401e96
    00401e81
    00401e81loc_401e81:
    00401e81mov rax, [rbp-24]
    00401e85mov rax, [rax+48]
    00401e89mov rdi, rax
    00401e8ccall pthread_cond_signal@plt
    00401e91mov eax, 0
    00401e96
    00401e96loc_401e96:
    00401e96leave
    00401e97ret
    00401cb3
    00401e98
    00401e98queue_create:
    00401e98push rbp
    00401e99mov rbp, rsp
    00401e9csub rsp, 16
    00401ea0mov edi, 56
    00401ea5call malloc@plt
    00401eaamov [rbp-8], rax
    00401eaecmp [rbp-8], 0
    00401eb3je 0x40204c
    00401eb9mov edi, 40
    00401ebecall malloc@plt
    00401ec3mov rdx, rax
    00401ec6mov rax, [rbp-8]
    00401ecamov [rax+32], rdx
    00401ecemov rax, [rbp-8]
    00401ed2mov rax, [rax+32]
    00401ed6test rax, rax
    00401ed9jne 0x401ef1
    00401edbmov rax, [rbp-8]
    00401edfmov rdi, rax
    00401ee2call free@plt
    00401ee7mov eax, 0
    00401eecjmp 0x402050
    00401ef1
    00401ef1loc_401ef1:
    00401ef1mov rax, [rbp-8]
    00401ef5mov rax, [rax+32]
    00401ef9mov esi, 0
    00401efemov rdi, rax
    00401f01call pthread_mutex_init@plt
    00401f06mov edi, 48
    00401f0bcall malloc@plt
    00401f10mov rdx, rax
    00401f13mov rax, [rbp-8]
    00401f17mov [rax+40], rdx
    00401f1bmov rax, [rbp-8]
    00401f1fmov rax, [rax+40]
    00401f23test rax, rax
    00401f26jne 0x401f5e
    00401f28mov rax, [rbp-8]
    00401f2cmov rax, [rax+32]
    00401f30mov rdi, rax
    00401f33call pthread_mutex_destroy@plt
    00401f38mov rax, [rbp-8]
    00401f3cmov rax, [rax+32]
    00401f40mov rdi, rax
    00401f43call free@plt
    00401f48mov rax, [rbp-8]
    00401f4cmov rdi, rax
    00401f4fcall free@plt
    00401f54mov eax, 0
    00401f59jmp 0x402050
    00401f5e
    00401f5eloc_401f5e:
    00401f5emov rax, [rbp-8]
    00401f62mov rax, [rax+40]
    00401f66mov esi, 0
    00401f6bmov rdi, rax
    00401f6ecall pthread_cond_init@plt
    00401f73mov edi, 48
    00401f78call malloc@plt
    00401f7dmov rdx, rax
    00401f80mov rax, [rbp-8]
    00401f84mov [rax+48], rdx
    00401f88mov rax, [rbp-8]
    00401f8cmov rax, [rax+48]
    00401f90test rax, rax
    00401f93jne 0x401fe8
    00401f95mov rax, [rbp-8]
    00401f99mov rax, [rax+40]
    00401f9dmov rdi, rax
    00401fa0call pthread_cond_destroy@plt
    00401fa5mov rax, [rbp-8]
    00401fa9mov rax, [rax+40]
    00401fadmov rdi, rax
    00401fb0call free@plt
    00401fb5mov rax, [rbp-8]
    00401fb9mov rax, [rax+32]
    00401fbdmov rdi, rax
    00401fc0call pthread_mutex_destroy@plt
    00401fc5mov rax, [rbp-8]
    00401fc9mov rax, [rax+32]
    00401fcdmov rdi, rax
    00401fd0call free@plt
    00401fd5mov rax, [rbp-8]
    00401fd9mov rdi, rax
    00401fdccall free@plt
    00401fe1mov eax, 0
    00401fe6jmp 0x402050
    00401fe8
    00401fe8loc_401fe8:
    00401fe8mov rax, [rbp-8]
    00401fecmov rax, [rax+48]
    00401ff0mov esi, 0
    00401ff5mov rdi, rax
    00401ff8call pthread_cond_init@plt
    00401ffdmov rax, [rbp-8]
    00402001mov [rax], 0
    00402008mov rax, [rbp-8]
    0040200cmov [rax+8], 0
    00402014mov rax, [rbp-8]
    00402018mov [rax+16], 0
    0040201emov rax, [rbp-8]
    00402022mov [rax+18], 0
    00402028mov rax, [rbp-8]
    0040202cmov [rax+20], 1
    00402030mov rax, [rbp-8]
    00402034mov [rax+21], 0
    00402038mov rax, [rbp-8]
    0040203cmov [rax+22], 1
    00402040mov rax, [rbp-8]
    00402044mov [rax+24], 0
    0040204c
    0040204cloc_40204c:
    0040204cmov rax, [rbp-8]
    00402050
    00402050loc_402050:
    00402050leave
    00402051ret
    00401e98
    00402052
    00402052queue_create_limited:
    00402052push rbp
    00402053mov rbp, rsp
    00402056sub rsp, 32
    0040205amov eax, edi
    0040205cmov [rbp-20], ax
    00402060call queue_create
    00402065mov [rbp-8], rax
    00402069cmp [rbp-8], 0
    0040206eje 0x40207c
    00402070mov rax, [rbp-8]
    00402074movzx edx, [rbp-20]
    00402078mov [rax+18], dx
    0040207c
    0040207cloc_40207c:
    0040207cmov rax, [rbp-8]
    00402080leave
    00402081ret
    00402052
    00402082
    00402082queue_create_sorted:
    00402082push rbp
    00402083mov rbp, rsp
    00402086sub rsp, 32
    0040208amov eax, edi
    0040208cmov [rbp-32], rsi
    00402090mov [rbp-20], al
    00402093cmp [rbp-32], 0
    00402098jne 0x4020a1
    0040209amov eax, 0
    0040209fjmp 0x4020d4
    004020a1
    004020a1loc_4020a1:
    004020a1call queue_create
    004020a6mov [rbp-8], rax
    004020aacmp [rbp-8], 0
    004020afje 0x4020d0
    004020b1mov rax, [rbp-8]
    004020b5mov [rax+21], 1
    004020b9mov rax, [rbp-8]
    004020bdmovzx edx, [rbp-20]
    004020c1mov [rax+22], dl
    004020c4mov rax, [rbp-8]
    004020c8mov rdx, [rbp-32]
    004020ccmov [rax+24], rdx
    004020d0
    004020d0loc_4020d0:
    004020d0mov rax, [rbp-8]
    004020d4
    004020d4loc_4020d4:
    004020d4leave
    004020d5ret
    00402082
    004020d6
    004020d6queue_create_limited_sorted:
    004020d6push rbp
    004020d7mov rbp, rsp
    004020dasub rsp, 32
    004020demov ecx, edi
    004020e0mov eax, esi
    004020e2mov [rbp-32], rdx
    004020e6mov [rbp-20], cx
    004020eamov [rbp-24], al
    004020edcmp [rbp-32], 0
    004020f2jne 0x4020fb
    004020f4mov eax, 0
    004020f9jmp 0x40213a
    004020fb
    004020fbloc_4020fb:
    004020fbcall queue_create
    00402100mov [rbp-8], rax
    00402104cmp [rbp-8], 0
    00402109je 0x402136
    0040210bmov rax, [rbp-8]
    0040210fmovzx edx, [rbp-20]
    00402113mov [rax+18], dx
    00402117mov rax, [rbp-8]
    0040211bmov [rax+21], 1
    0040211fmov rax, [rbp-8]
    00402123movzx edx, [rbp-24]
    00402127mov [rax+22], dl
    0040212amov rax, [rbp-8]
    0040212emov rdx, [rbp-32]
    00402132mov [rax+24], rdx
    00402136
    00402136loc_402136:
    00402136mov rax, [rbp-8]
    0040213a
    0040213aloc_40213a:
    0040213aleave
    0040213bret
    004020d6
    0040213c
    0040213cqueue_destroy:
    0040213cpush rbp
    0040213dmov rbp, rsp
    00402140sub rsp, 16
    00402144mov [rbp-8], rdi
    00402148cmp [rbp-8], 0
    0040214djne 0x402156
    0040214fmov eax, -1
    00402154jmp 0x40216c
    00402156
    00402156loc_402156:
    00402156mov rax, [rbp-8]
    0040215amov edx, 0
    0040215fmov esi, 0
    00402164mov rdi, rax
    00402167call queue_destroy_internal
    0040216c
    0040216cloc_40216c:
    0040216cleave
    0040216dret
    0040213c
    0040216e
    0040216equeue_destroy_complete:
    0040216epush rbp
    0040216fmov rbp, rsp
    00402172sub rsp, 16
    00402176mov [rbp-8], rdi
    0040217amov [rbp-16], rsi
    0040217ecmp [rbp-8], 0
    00402183jne 0x40218c
    00402185mov eax, -1
    0040218ajmp 0x4021a1
    0040218c
    0040218cloc_40218c:
    0040218cmov rdx, [rbp-16]
    00402190mov rax, [rbp-8]
    00402194mov esi, 1
    00402199mov rdi, rax
    0040219ccall queue_destroy_internal
    004021a1
    004021a1loc_4021a1:
    004021a1leave
    004021a2ret
    0040216e
    004021a3
    004021a3queue_flush:
    004021a3push rbp
    004021a4mov rbp, rsp
    004021a7sub rsp, 32
    004021abmov [rbp-24], rdi
    004021afcmp [rbp-24], 0
    004021b4jne 0x4021bd
    004021b6mov eax, -1
    004021bbjmp 0x402208
    004021bd
    004021bdloc_4021bd:
    004021bdmov rax, [rbp-24]
    004021c1mov rdi, rax
    004021c4call queue_lock_internal
    004021c9test al, al
    004021cbje 0x4021d4
    004021cdmov eax, -2
    004021d2jmp 0x402208
    004021d4
    004021d4loc_4021d4:
    004021d4mov rax, [rbp-24]
    004021d8mov edx, 0
    004021ddmov esi, 0
    004021e2mov rdi, rax
    004021e5call queue_flush_internal
    004021eamov [rbp-1], al
    004021edmov rax, [rbp-24]
    004021f1mov rdi, rax
    004021f4call queue_unlock_internal
    004021f9test al, al
    004021fbje 0x402204
    004021fdmov eax, -2
    00402202jmp 0x402208
    00402204
    00402204loc_402204:
    00402204movzx eax, [rbp-1]
    00402208
    00402208loc_402208:
    00402208leave
    00402209ret
    004021a3
    0040220a
    0040220aqueue_flush_complete:
    0040220apush rbp
    0040220bmov rbp, rsp
    0040220esub rsp, 32
    00402212mov [rbp-24], rdi
    00402216mov [rbp-32], rsi
    0040221acmp [rbp-24], 0
    0040221fjne 0x402228
    00402221mov eax, -1
    00402226jmp 0x402272
    00402228
    00402228loc_402228:
    00402228mov rax, [rbp-24]
    0040222cmov rdi, rax
    0040222fcall queue_lock_internal
    00402234test al, al
    00402236je 0x40223f
    00402238mov eax, -2
    0040223djmp 0x402272
    0040223f
    0040223floc_40223f:
    0040223fmov rdx, [rbp-32]
    00402243mov rax, [rbp-24]
    00402247mov esi, 1
    0040224cmov rdi, rax
    0040224fcall queue_flush_internal
    00402254mov [rbp-1], al
    00402257mov rax, [rbp-24]
    0040225bmov rdi, rax
    0040225ecall queue_unlock_internal
    00402263test al, al
    00402265je 0x40226e
    00402267mov eax, -2
    0040226cjmp 0x402272
    0040226e
    0040226eloc_40226e:
    0040226emovzx eax, [rbp-1]
    00402272
    00402272loc_402272:
    00402272leave
    00402273ret
    0040220a
    00402274
    00402274queue_elements:
    00402274push rbp
    00402275mov rbp, rsp
    00402278sub rsp, 32
    0040227cmov [rbp-24], rdi
    00402280mov [rbp-2], -1
    00402286cmp [rbp-24], 0
    0040228bjne 0x402293
    0040228dmovzx eax, [rbp-2]
    00402291jmp 0x4022d0
    00402293
    00402293loc_402293:
    00402293mov rax, [rbp-24]
    00402297mov rdi, rax
    0040229acall queue_lock_internal
    0040229ftest al, al
    004022a1je 0x4022a9
    004022a3movzx eax, [rbp-2]
    004022a7jmp 0x4022d0
    004022a9
    004022a9loc_4022a9:
    004022a9mov rax, [rbp-24]
    004022admovzx eax, [rax+16]
    004022b1mov [rbp-2], ax
    004022b5mov rax, [rbp-24]
    004022b9mov rdi, rax
    004022bccall queue_unlock_internal
    004022c1test al, al
    004022c3je 0x4022cc
    004022c5mov eax, -2
    004022cajmp 0x4022d0
    004022cc
    004022ccloc_4022cc:
    004022ccmovzx eax, [rbp-2]
    004022d0
    004022d0loc_4022d0:
    004022d0leave
    004022d1ret
    00402274
    004022d2
    004022d2queue_empty:
    004022d2push rbp
    004022d3mov rbp, rsp
    004022d6sub rsp, 32
    004022damov [rbp-24], rdi
    004022decmp [rbp-24], 0
    004022e3jne 0x4022ec
    004022e5mov eax, -1
    004022eajmp 0x402341
    004022ec
    004022ecloc_4022ec:
    004022ecmov rax, [rbp-24]
    004022f0mov rdi, rax
    004022f3call queue_lock_internal
    004022f8test al, al
    004022faje 0x402303
    004022fcmov eax, -2
    00402301jmp 0x402341
    00402303
    00402303loc_402303:
    00402303mov rax, [rbp-24]
    00402307mov rax, [rax]
    0040230atest rax, rax
    0040230dje 0x40231c
    0040230fmov rax, [rbp-24]
    00402313mov rax, [rax+8]
    00402317test rax, rax
    0040231ajne 0x402322
    0040231c
    0040231cloc_40231c:
    0040231cmov [rbp-1], 1
    00402320jmp 0x402326
    00402322
    00402322loc_402322:
    00402322mov [rbp-1], 0
    00402326
    00402326loc_402326:
    00402326mov rax, [rbp-24]
    0040232amov rdi, rax
    0040232dcall queue_unlock_internal
    00402332test al, al
    00402334je 0x40233d
    00402336mov eax, -2
    0040233bjmp 0x402341
    0040233d
    0040233dloc_40233d:
    0040233dmovzx eax, [rbp-1]
    00402341
    00402341loc_402341:
    00402341leave
    00402342ret
    004022d2
    00402343
    00402343queue_set_new_data:
    00402343push rbp
    00402344mov rbp, rsp
    00402347sub rsp, 16
    0040234bmov [rbp-8], rdi
    0040234fmov eax, esi
    00402351mov [rbp-12], al
    00402354cmp [rbp-8], 0
    00402359jne 0x402362
    0040235bmov eax, -1
    00402360jmp 0x4023cc
    00402362
    00402362loc_402362:
    00402362mov rax, [rbp-8]
    00402366mov rdi, rax
    00402369call queue_lock_internal
    0040236etest al, al
    00402370je 0x402379
    00402372mov eax, -2
    00402377jmp 0x4023cc
    00402379
    00402379loc_402379:
    00402379mov rax, [rbp-8]
    0040237dmovzx edx, [rbp-12]
    00402381mov [rax+20], dl
    00402384mov rax, [rbp-8]
    00402388mov rdi, rax
    0040238bcall queue_unlock_internal
    00402390test al, al
    00402392je 0x40239b
    00402394mov eax, -2
    00402399jmp 0x4023cc
    0040239b
    0040239bloc_40239b:
    0040239bmov rax, [rbp-8]
    0040239fmovzx eax, [rax+20]
    004023a3test al, al
    004023a5jne 0x4023c7
    004023a7mov rax, [rbp-8]
    004023abmov rax, [rax+40]
    004023afmov rdi, rax
    004023b2call pthread_cond_broadcast@plt
    004023b7mov rax, [rbp-8]
    004023bbmov rax, [rax+48]
    004023bfmov rdi, rax
    004023c2call pthread_cond_broadcast@plt
    004023c7
    004023c7loc_4023c7:
    004023c7mov eax, 0
    004023cc
    004023ccloc_4023cc:
    004023ccleave
    004023cdret
    00402343
    004023ce
    004023cequeue_get_new_data:
    004023cepush rbp
    004023cfmov rbp, rsp
    004023d2sub rsp, 32
    004023d6mov [rbp-24], rdi
    004023dacmp [rbp-24], 0
    004023dfjne 0x4023e8
    004023e1mov eax, 0
    004023e6jmp 0x402425
    004023e8
    004023e8loc_4023e8:
    004023e8mov rax, [rbp-24]
    004023ecmov rdi, rax
    004023efcall queue_lock_internal
    004023f4test al, al
    004023f6je 0x4023ff
    004023f8mov eax, 0
    004023fdjmp 0x402425
    004023ff
    004023ffloc_4023ff:
    004023ffmov rax, [rbp-24]
    00402403movzx eax, [rax+20]
    00402407mov [rbp-1], al
    0040240amov rax, [rbp-24]
    0040240emov rdi, rax
    00402411call queue_unlock_internal
    00402416test al, al
    00402418je 0x402421
    0040241amov eax, 0
    0040241fjmp 0x402425
    00402421
    00402421loc_402421:
    00402421movzx eax, [rbp-1]
    00402425
    00402425loc_402425:
    00402425leave
    00402426ret
    004023ce
    00402427
    00402427queue_put:
    00402427push rbp
    00402428mov rbp, rsp
    0040242bsub rsp, 32
    0040242fmov [rbp-24], rdi
    00402433mov [rbp-32], rsi
    00402437cmp [rbp-24], 0
    0040243cjne 0x402445
    0040243emov eax, -1
    00402443jmp 0x402492
    00402445
    00402445loc_402445:
    00402445mov rax, [rbp-24]
    00402449mov rdi, rax
    0040244ccall queue_lock_internal
    00402451test al, al
    00402453je 0x40245c
    00402455mov eax, -2
    0040245ajmp 0x402492
    0040245c
    0040245cloc_40245c:
    0040245cmov rcx, [rbp-32]
    00402460mov rax, [rbp-24]
    00402464mov edx, 0
    00402469mov rsi, rcx
    0040246cmov rdi, rax
    0040246fcall queue_put_internal
    00402474mov [rbp-1], al
    00402477mov rax, [rbp-24]
    0040247bmov rdi, rax
    0040247ecall queue_unlock_internal
    00402483test al, al
    00402485je 0x40248e
    00402487mov eax, -2
    0040248cjmp 0x402492
    0040248e
    0040248eloc_40248e:
    0040248emovzx eax, [rbp-1]
    00402492
    00402492loc_402492:
    00402492leave
    00402493ret
    00402427
    00402494
    00402494queue_put_wait:
    00402494push rbp
    00402495mov rbp, rsp
    00402498sub rsp, 32
    0040249cmov [rbp-24], rdi
    004024a0mov [rbp-32], rsi
    004024a4cmp [rbp-24], 0
    004024a9jne 0x4024b2
    004024abmov eax, -1
    004024b0jmp 0x4024ff
    004024b2
    004024b2loc_4024b2:
    004024b2mov rax, [rbp-24]
    004024b6mov rdi, rax
    004024b9call queue_lock_internal
    004024betest al, al
    004024c0je 0x4024c9
    004024c2mov eax, -2
    004024c7jmp 0x4024ff
    004024c9
    004024c9loc_4024c9:
    004024c9mov rcx, [rbp-32]
    004024cdmov rax, [rbp-24]
    004024d1mov edx, 0x401330
    004024d6mov rsi, rcx
    004024d9mov rdi, rax
    004024dccall queue_put_internal
    004024e1mov [rbp-1], al
    004024e4mov rax, [rbp-24]
    004024e8mov rdi, rax
    004024ebcall queue_unlock_internal
    004024f0test al, al
    004024f2je 0x4024fb
    004024f4mov eax, -2
    004024f9jmp 0x4024ff
    004024fb
    004024fbloc_4024fb:
    004024fbmovzx eax, [rbp-1]
    004024ff
    004024ffloc_4024ff:
    004024ffleave
    00402500ret
    00402494
    00402501
    00402501queue_get:
    00402501push rbp
    00402502mov rbp, rsp
    00402505sub rsp, 32
    00402509mov [rbp-24], rdi
    0040250dmov [rbp-32], rsi
    00402511mov rax, [rbp-32]
    00402515mov [rax], 0
    0040251ccmp [rbp-24], 0
    00402521jne 0x40252a
    00402523mov eax, -1
    00402528jmp 0x40257f
    0040252a
    0040252aloc_40252a:
    0040252amov rax, [rbp-24]
    0040252emov rdi, rax
    00402531call queue_lock_internal
    00402536test al, al
    00402538je 0x402541
    0040253amov eax, -2
    0040253fjmp 0x40257f
    00402541
    00402541loc_402541:
    00402541mov rsi, [rbp-32]
    00402545mov rax, [rbp-24]
    00402549mov r8l, 0
    0040254fmov ecx, 0
    00402554mov edx, 0
    00402559mov rdi, rax
    0040255ccall queue_get_internal
    00402561mov [rbp-1], al
    00402564mov rax, [rbp-24]
    00402568mov rdi, rax
    0040256bcall queue_unlock_internal
    00402570test al, al
    00402572je 0x40257b
    00402574mov eax, -2
    00402579jmp 0x40257f
    0040257b
    0040257bloc_40257b:
    0040257bmovzx eax, [rbp-1]
    0040257f
    0040257floc_40257f:
    0040257fleave
    00402580ret
    00402501
    00402581
    00402581queue_get_wait:
    00402581push rbp
    00402582mov rbp, rsp
    00402585sub rsp, 32
    00402589mov [rbp-24], rdi
    0040258dmov [rbp-32], rsi
    00402591mov rax, [rbp-32]
    00402595mov [rax], 0
    0040259ccmp [rbp-24], 0
    004025a1jne 0x4025aa
    004025a3mov eax, -1
    004025a8jmp 0x4025ff
    004025aa
    004025aaloc_4025aa:
    004025aamov rax, [rbp-24]
    004025aemov rdi, rax
    004025b1call queue_lock_internal
    004025b6test al, al
    004025b8je 0x4025c1
    004025bamov eax, -2
    004025bfjmp 0x4025ff
    004025c1
    004025c1loc_4025c1:
    004025c1mov rsi, [rbp-32]
    004025c5mov rax, [rbp-24]
    004025c9mov r8l, 0
    004025cfmov ecx, 0
    004025d4mov edx, 0x401330
    004025d9mov rdi, rax
    004025dccall queue_get_internal
    004025e1mov [rbp-1], al
    004025e4mov rax, [rbp-24]
    004025e8mov rdi, rax
    004025ebcall queue_unlock_internal
    004025f0test al, al
    004025f2je 0x4025fb
    004025f4mov eax, -2
    004025f9jmp 0x4025ff
    004025fb
    004025fbloc_4025fb:
    004025fbmovzx eax, [rbp-1]
    004025ff
    004025ffloc_4025ff:
    004025ffleave
    00402600ret
    00402581