File inc_ransom_e16ac4475e24bbe97e50d7940df71079ea2f1dfd1f2bff6a649c09f7503d087c.elf
Function:
Loading..
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
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
004010d8_init:
004010d8sub rsp, 8
004010dccall fn_40146c
004010e1call frame_dummy
004010e6call __do_global_ctors_aux
004010ebadd rsp, 8
004010efret
004010d8
004010fc
004010fc // align 0x10
004010fc // align 0x10
00401100
00401100pthread_cond_destroy@plt:
00401100jmp [rip+0x20f6e2]
00401106push 0
0040110bjmp 0x4010f0
00401100
00401100pthread_cond_destroy@plt:
00401100jmp [rip+0x20f6e2]
00401106push 0
0040110bjmp 0x4010f0
00401100
00401170
00401170pthread_cond_signal@plt:
00401170jmp [rip+0x20f6aa]
00401176push 7
0040117bjmp 0x4010f0
00401170
00401170pthread_cond_signal@plt:
00401170jmp [rip+0x20f6aa]
00401176push 7
0040117bjmp 0x4010f0
00401170
004011c0
004011c0__libc_start_main@plt:
004011c0jmp [rip+0x20f682]
004011c6push 12
004011cbjmp 0x4010f0
004011c0
004011c0__libc_start_main@plt:
004011c0jmp [rip+0x20f682]
004011c6push 12
004011cbjmp 0x4010f0
004011c0
004011e0
004011e0pthread_mutex_init@plt:
004011e0jmp [rip+0x20f672]
004011e6push 14
004011ebjmp 0x4010f0
004011e0
004011e0pthread_mutex_init@plt:
004011e0jmp [rip+0x20f672]
004011e6push 14
004011ebjmp 0x4010f0
004011e0
00401200
00401200pthread_create@plt:
00401200jmp [rip+0x20f662]
00401206push 16
0040120bjmp 0x4010f0
00401200
00401200pthread_create@plt:
00401200jmp [rip+0x20f662]
00401206push 16
0040120bjmp 0x4010f0
00401200
00401220
00401220pthread_cond_init@plt:
00401220jmp [rip+0x20f652]
00401226push 18
0040122bjmp 0x4010f0
00401220
00401220pthread_cond_init@plt:
00401220jmp [rip+0x20f652]
00401226push 18
0040122bjmp 0x4010f0
00401220
00401240
00401240pthread_join@plt:
00401240jmp [rip+0x20f642]
00401246push 20
0040124bjmp 0x4010f0
00401240
00401240pthread_join@plt:
00401240jmp [rip+0x20f642]
00401246push 20
0040124bjmp 0x4010f0
00401240
00401280
00401280pthread_exit@plt:
00401280jmp [rip+0x20f622]
00401286push 24
0040128bjmp 0x4010f0
00401280
00401280pthread_exit@plt:
00401280jmp [rip+0x20f622]
00401286push 24
0040128bjmp 0x4010f0
00401280
004012e0
004012e0__errno_location@plt:
004012e0jmp [rip+0x20f5f2]
004012e6push 30
004012ebjmp 0x4010f0
004012e0
004012e0__errno_location@plt:
004012e0jmp [rip+0x20f5f2]
004012e6push 30
004012ebjmp 0x4010f0
004012e0
00401330
00401330pthread_cond_wait@plt:
00401330jmp [rip+0x20f5ca]
00401336push 35
0040133bjmp 0x4010f0
00401330
00401330pthread_cond_wait@plt:
00401330jmp [rip+0x20f5ca]
00401336push 35
0040133bjmp 0x4010f0
00401330
004013c0
004013c0pthread_mutex_lock@plt:
004013c0jmp [rip+0x20f582]
004013c6push 44
004013cbjmp 0x4010f0
004013c0
004013c0pthread_mutex_lock@plt:
004013c0jmp [rip+0x20f582]
004013c6push 44
004013cbjmp 0x4010f0
004013c0
004013e0
004013e0pthread_mutex_destroy@plt:
004013e0jmp [rip+0x20f572]
004013e6push 46
004013ebjmp 0x4010f0
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
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
00401400pthread_mutex_unlock@plt:
00401400jmp [rip+0x20f562]
00401406push 48
0040140bjmp 0x4010f0
00401400
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
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 ..
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
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
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
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
004014f4 // align 0x10
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 ]...
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
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 ..
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
00402601
00402601queue_get_filtered:
00402601push rbp
00402602mov rbp, rsp
00402605sub rsp, 48
00402609mov [rbp-24], rdi
0040260dmov [rbp-32], rsi
00402611mov [rbp-40], rdx
00402615mov [rbp-48], rcx
00402619mov rax, [rbp-32]
0040261dmov [rax], 0
00402624cmp [rbp-24], 0
00402629jne 0x402632
0040262bmov eax, -1
00402630jmp 0x40268a
00402632
00402632loc_402632:
00402632mov rax, [rbp-24]
00402636mov rdi, rax
00402639call queue_lock_internal
0040263etest al, al
00402640je 0x402649
00402642mov eax, -2
00402647jmp 0x40268a
00402649
00402649loc_402649:
00402649mov rcx, [rbp-48]
0040264dmov rdx, [rbp-40]
00402651mov rsi, [rbp-32]
00402655mov rax, [rbp-24]
00402659mov r8, rcx
0040265cmov rcx, rdx
0040265fmov edx, 0
00402664mov rdi, rax
00402667call queue_get_internal
0040266cmov [rbp-1], al
0040266fmov rax, [rbp-24]
00402673mov rdi, rax
00402676call queue_unlock_internal
0040267btest al, al
0040267dje 0x402686
0040267fmov eax, -2
00402684jmp 0x40268a
00402686
00402686loc_402686:
00402686movzx eax, [rbp-1]
0040268a
0040268aloc_40268a:
0040268aleave
0040268bret
00402601
00402601queue_get_filtered:
00402601push rbp
00402602mov rbp, rsp
00402605sub rsp, 48
00402609mov [rbp-24], rdi
0040260dmov [rbp-32], rsi
00402611mov [rbp-40], rdx
00402615mov [rbp-48], rcx
00402619mov rax, [rbp-32]
0040261dmov [rax], 0
00402624cmp [rbp-24], 0
00402629jne 0x402632
0040262bmov eax, -1
00402630jmp 0x40268a
00402632
00402632loc_402632:
00402632mov rax, [rbp-24]
00402636mov rdi, rax
00402639call queue_lock_internal
0040263etest al, al
00402640je 0x402649
00402642mov eax, -2
00402647jmp 0x40268a
00402649
00402649loc_402649:
00402649mov rcx, [rbp-48]
0040264dmov rdx, [rbp-40]
00402651mov rsi, [rbp-32]
00402655mov rax, [rbp-24]
00402659mov r8, rcx
0040265cmov rcx, rdx
0040265fmov edx, 0
00402664mov rdi, rax
00402667call queue_get_internal
0040266cmov [rbp-1], al
0040266fmov rax, [rbp-24]
00402673mov rdi, rax
00402676call queue_unlock_internal
0040267btest al, al
0040267dje 0x402686
0040267fmov eax, -2
00402684jmp 0x40268a
00402686
00402686loc_402686:
00402686movzx eax, [rbp-1]
0040268a
0040268aloc_40268a:
0040268aleave
0040268bret
00402601
0040268c
0040268cqueue_flush_put:
0040268cpush rbp
0040268dmov rbp, rsp
00402690sub rsp, 48
00402694mov [rbp-24], rdi
00402698mov [rbp-32], rsi
0040269cmov [rbp-40], rdx
004026a0cmp [rbp-24], 0
004026a5jne 0x4026ae
004026a7mov eax, -1
004026acjmp 0x402714
004026ae
004026aeloc_4026ae:
004026aemov rax, [rbp-24]
004026b2mov rdi, rax
004026b5call queue_lock_internal
004026batest al, al
004026bcje 0x4026c5
004026bemov eax, -2
004026c3jmp 0x402714
004026c5
004026c5loc_4026c5:
004026c5mov rax, [rbp-24]
004026c9mov edx, 0
004026cemov esi, 0
004026d3mov rdi, rax
004026d6call queue_flush_internal
004026dbmov [rbp-1], al
004026demov rcx, [rbp-40]
004026e2mov rax, [rbp-24]
004026e6mov edx, 0
004026ebmov rsi, rcx
004026eemov rdi, rax
004026f1call queue_put_internal
004026f6mov [rbp-1], al
004026f9mov rax, [rbp-24]
004026fdmov rdi, rax
00402700call queue_unlock_internal
00402705test al, al
00402707je 0x402710
00402709mov eax, -2
0040270ejmp 0x402714
00402710
00402710loc_402710:
00402710movzx eax, [rbp-1]
00402714
00402714loc_402714:
00402714leave
00402715ret
0040268c
0040268cqueue_flush_put:
0040268cpush rbp
0040268dmov rbp, rsp
00402690sub rsp, 48
00402694mov [rbp-24], rdi
00402698mov [rbp-32], rsi
0040269cmov [rbp-40], rdx
004026a0cmp [rbp-24], 0
004026a5jne 0x4026ae
004026a7mov eax, -1
004026acjmp 0x402714
004026ae
004026aeloc_4026ae:
004026aemov rax, [rbp-24]
004026b2mov rdi, rax
004026b5call queue_lock_internal
004026batest al, al
004026bcje 0x4026c5
004026bemov eax, -2
004026c3jmp 0x402714
004026c5
004026c5loc_4026c5:
004026c5mov rax, [rbp-24]
004026c9mov edx, 0
004026cemov esi, 0
004026d3mov rdi, rax
004026d6call queue_flush_internal
004026dbmov [rbp-1], al
004026demov rcx, [rbp-40]
004026e2mov rax, [rbp-24]
004026e6mov edx, 0
004026ebmov rsi, rcx
004026eemov rdi, rax
004026f1call queue_put_internal
004026f6mov [rbp-1], al
004026f9mov rax, [rbp-24]
004026fdmov rdi, rax
00402700call queue_unlock_internal
00402705test al, al
00402707je 0x402710
00402709mov eax, -2
0040270ejmp 0x402714
00402710
00402710loc_402710:
00402710movzx eax, [rbp-1]
00402714
00402714loc_402714:
00402714leave
00402715ret
0040268c
00402716
00402716queue_flush_complete_put:
00402716push rbp
00402717mov rbp, rsp
0040271asub rsp, 48
0040271emov [rbp-24], rdi
00402722mov [rbp-32], rsi
00402726mov [rbp-40], rdx
0040272acmp [rbp-24], 0
0040272fjne 0x402738
00402731mov eax, -1
00402736jmp 0x40279d
00402738
00402738loc_402738:
00402738mov rax, [rbp-24]
0040273cmov rdi, rax
0040273fcall queue_lock_internal
00402744test al, al
00402746je 0x40274f
00402748mov eax, -2
0040274djmp 0x40279d
0040274f
0040274floc_40274f:
0040274fmov rdx, [rbp-32]
00402753mov rax, [rbp-24]
00402757mov esi, 1
0040275cmov rdi, rax
0040275fcall queue_flush_internal
00402764mov [rbp-1], al
00402767mov rcx, [rbp-40]
0040276bmov rax, [rbp-24]
0040276fmov edx, 0
00402774mov rsi, rcx
00402777mov rdi, rax
0040277acall queue_put_internal
0040277fmov [rbp-1], al
00402782mov rax, [rbp-24]
00402786mov rdi, rax
00402789call queue_unlock_internal
0040278etest al, al
00402790je 0x402799
00402792mov eax, -2
00402797jmp 0x40279d
00402799
00402799loc_402799:
00402799movzx eax, [rbp-1]
0040279d
0040279dloc_40279d:
0040279dleave
0040279eret
00402716
00402716queue_flush_complete_put:
00402716push rbp
00402717mov rbp, rsp
0040271asub rsp, 48
0040271emov [rbp-24], rdi
00402722mov [rbp-32], rsi
00402726mov [rbp-40], rdx
0040272acmp [rbp-24], 0
0040272fjne 0x402738
00402731mov eax, -1
00402736jmp 0x40279d
00402738
00402738loc_402738:
00402738mov rax, [rbp-24]
0040273cmov rdi, rax
0040273fcall queue_lock_internal
00402744test al, al
00402746je 0x40274f
00402748mov eax, -2
0040274djmp 0x40279d
0040274f
0040274floc_40274f:
0040274fmov rdx, [rbp-32]
00402753mov rax, [rbp-24]
00402757mov esi, 1
0040275cmov rdi, rax
0040275fcall queue_flush_internal
00402764mov [rbp-1], al
00402767mov rcx, [rbp-40]
0040276bmov rax, [rbp-24]
0040276fmov edx, 0
00402774mov rsi, rcx
00402777mov rdi, rax
0040277acall queue_put_internal
0040277fmov [rbp-1], al
00402782mov rax, [rbp-24]
00402786mov rdi, rax
00402789call queue_unlock_internal
0040278etest al, al
00402790je 0x402799
00402792mov eax, -2
00402797jmp 0x40279d
00402799
00402799loc_402799:
00402799movzx eax, [rbp-1]
0040279d
0040279dloc_40279d:
0040279dleave
0040279eret
00402716
0040279f
0040279f // align 0x10
0040279f // align 0x10
004027a0
004027a0KeyExpansion:
004027a0push rbp
004027a1mov rbp, rsp
004027a4mov [rbp-40], rdi
004027a8mov [rbp-48], rsi
004027acmov [rbp-4], 0
004027b3jmp 0x402842
004027b8
004027b8loc_4027b8:
004027b8mov eax, [rbp-4]
004027bbshl eax, 2
004027bemov eax, eax
004027c0add rax, [rbp-40]
004027c4mov edx, [rbp-4]
004027c7shl edx, 2
004027camov edx, edx
004027ccadd rdx, [rbp-48]
004027d0movzx edx, [rdx]
004027d3mov [rax], dl
004027d5mov eax, [rbp-4]
004027d8shl eax, 2
004027dbadd eax, 1
004027demov eax, eax
004027e0add rax, [rbp-40]
004027e4mov edx, [rbp-4]
004027e7shl edx, 2
004027eaadd edx, 1
004027edmov edx, edx
004027efadd rdx, [rbp-48]
004027f3movzx edx, [rdx]
004027f6mov [rax], dl
004027f8mov eax, [rbp-4]
004027fbshl eax, 2
004027feadd eax, 2
00402801mov eax, eax
00402803add rax, [rbp-40]
00402807mov edx, [rbp-4]
0040280ashl edx, 2
0040280dadd edx, 2
00402810mov edx, edx
00402812add rdx, [rbp-48]
00402816movzx edx, [rdx]
00402819mov [rax], dl
0040281bmov eax, [rbp-4]
0040281eshl eax, 2
00402821add eax, 3
00402824mov eax, eax
00402826add rax, [rbp-40]
0040282amov edx, [rbp-4]
0040282dshl edx, 2
00402830add edx, 3
00402833mov edx, edx
00402835add rdx, [rbp-48]
00402839movzx edx, [rdx]
0040283cmov [rax], dl
0040283eadd [rbp-4], 1
00402842
00402842loc_402842:
00402842cmp [rbp-4], 3
00402846jbe 0x4027b8
0040284cmov [rbp-4], 4
00402853jmp 0x4029db
00402858
00402858loc_402858:
00402858mov eax, [rbp-4]
0040285badd eax, 0x3fffffff
00402860shl eax, 2
00402863mov [rbp-8], eax
00402866mov eax, [rbp-8]
00402869add rax, [rbp-40]
0040286dmovzx eax, [rax]
00402870mov [rbp-32], al
00402873mov eax, [rbp-8]
00402876add eax, 1
00402879mov eax, eax
0040287badd rax, [rbp-40]
0040287fmovzx eax, [rax]
00402882mov [rbp-31], al
00402885mov eax, [rbp-8]
00402888add eax, 2
0040288bmov eax, eax
0040288dadd rax, [rbp-40]
00402891movzx eax, [rax]
00402894mov [rbp-30], al
00402897mov eax, [rbp-8]
0040289aadd eax, 3
0040289dmov eax, eax
0040289fadd rax, [rbp-40]
004028a3movzx eax, [rax]
004028a6mov [rbp-29], al
004028a9mov eax, [rbp-4]
004028acand eax, 3
004028aftest eax, eax
004028b1jne 0x40293e
004028b7movzx eax, [rbp-32]
004028bbmov [rbp-9], al
004028bemovzx eax, [rbp-31]
004028c2mov [rbp-32], al
004028c5movzx eax, [rbp-30]
004028c9mov [rbp-31], al
004028ccmovzx eax, [rbp-29]
004028d0mov [rbp-30], al
004028d3movzx eax, [rbp-9]
004028d7mov [rbp-29], al
004028damovzx eax, [rbp-32]
004028demovzx eax, al
004028e1cdqe
004028e3movzx eax, [rax+0x40e7e0]
004028eamov [rbp-32], al
004028edmovzx eax, [rbp-31]
004028f1movzx eax, al
004028f4cdqe
004028f6movzx eax, [rax+0x40e7e0]
004028fdmov [rbp-31], al
00402900movzx eax, [rbp-30]
00402904movzx eax, al
00402907cdqe
00402909movzx eax, [rax+0x40e7e0]
00402910mov [rbp-30], al
00402913movzx eax, [rbp-29]
00402917movzx eax, al
0040291acdqe
0040291cmovzx eax, [rax+0x40e7e0]
00402923mov [rbp-29], al
00402926movzx edx, [rbp-32]
0040292amov eax, [rbp-4]
0040292dshr eax, 2
00402930mov eax, eax
00402932movzx eax, [rax+0x40e9e0]
00402939xor eax, edx
0040293bmov [rbp-32], al
0040293e
0040293eloc_40293e:
0040293emov eax, [rbp-4]
00402941shl eax, 2
00402944mov [rbp-16], eax
00402947mov eax, [rbp-4]
0040294aadd eax, 0x3ffffffc
0040294fshl eax, 2
00402952mov [rbp-8], eax
00402955mov eax, [rbp-16]
00402958add rax, [rbp-40]
0040295cmov edx, [rbp-8]
0040295fadd rdx, [rbp-40]
00402963movzx ecx, [rdx]
00402966movzx edx, [rbp-32]
0040296axor edx, ecx
0040296cmov [rax], dl
0040296emov eax, [rbp-16]
00402971add eax, 1
00402974mov eax, eax
00402976add rax, [rbp-40]
0040297amov edx, [rbp-8]
0040297dadd edx, 1
00402980mov edx, edx
00402982add rdx, [rbp-40]
00402986movzx ecx, [rdx]
00402989movzx edx, [rbp-31]
0040298dxor edx, ecx
0040298fmov [rax], dl
00402991mov eax, [rbp-16]
00402994add eax, 2
00402997mov eax, eax
00402999add rax, [rbp-40]
0040299dmov edx, [rbp-8]
004029a0add edx, 2
004029a3mov edx, edx
004029a5add rdx, [rbp-40]
004029a9movzx ecx, [rdx]
004029acmovzx edx, [rbp-30]
004029b0xor edx, ecx
004029b2mov [rax], dl
004029b4mov eax, [rbp-16]
004029b7add eax, 3
004029bamov eax, eax
004029bcadd rax, [rbp-40]
004029c0mov edx, [rbp-8]
004029c3add edx, 3
004029c6mov edx, edx
004029c8add rdx, [rbp-40]
004029ccmovzx ecx, [rdx]
004029cfmovzx edx, [rbp-29]
004029d3xor edx, ecx
004029d5mov [rax], dl
004029d7add [rbp-4], 1
004029db
004029dbloc_4029db:
004029dbcmp [rbp-4], 43
004029dfjbe 0x402858
004029e5pop rbp
004029e6ret
004027a0
004027a0KeyExpansion:
004027a0push rbp
004027a1mov rbp, rsp
004027a4mov [rbp-40], rdi
004027a8mov [rbp-48], rsi
004027acmov [rbp-4], 0
004027b3jmp 0x402842
004027b8
004027b8loc_4027b8:
004027b8mov eax, [rbp-4]
004027bbshl eax, 2
004027bemov eax, eax
004027c0add rax, [rbp-40]
004027c4mov edx, [rbp-4]
004027c7shl edx, 2
004027camov edx, edx
004027ccadd rdx, [rbp-48]
004027d0movzx edx, [rdx]
004027d3mov [rax], dl
004027d5mov eax, [rbp-4]
004027d8shl eax, 2
004027dbadd eax, 1
004027demov eax, eax
004027e0add rax, [rbp-40]
004027e4mov edx, [rbp-4]
004027e7shl edx, 2
004027eaadd edx, 1
004027edmov edx, edx
004027efadd rdx, [rbp-48]
004027f3movzx edx, [rdx]
004027f6mov [rax], dl
004027f8mov eax, [rbp-4]
004027fbshl eax, 2
004027feadd eax, 2
00402801mov eax, eax
00402803add rax, [rbp-40]
00402807mov edx, [rbp-4]
0040280ashl edx, 2
0040280dadd edx, 2
00402810mov edx, edx
00402812add rdx, [rbp-48]
00402816movzx edx, [rdx]
00402819mov [rax], dl
0040281bmov eax, [rbp-4]
0040281eshl eax, 2
00402821add eax, 3
00402824mov eax, eax
00402826add rax, [rbp-40]
0040282amov edx, [rbp-4]
0040282dshl edx, 2
00402830add edx, 3
00402833mov edx, edx
00402835add rdx, [rbp-48]
00402839movzx edx, [rdx]
0040283cmov [rax], dl
0040283eadd [rbp-4], 1
00402842
00402842loc_402842:
00402842cmp [rbp-4], 3
00402846jbe 0x4027b8
0040284cmov [rbp-4], 4
00402853jmp 0x4029db
00402858
00402858loc_402858:
00402858mov eax, [rbp-4]
0040285badd eax, 0x3fffffff
00402860shl eax, 2
00402863mov [rbp-8], eax
00402866mov eax, [rbp-8]
00402869add rax, [rbp-40]
0040286dmovzx eax, [rax]
00402870mov [rbp-32], al
00402873mov eax, [rbp-8]
00402876add eax, 1
00402879mov eax, eax
0040287badd rax, [rbp-40]
0040287fmovzx eax, [rax]
00402882mov [rbp-31], al
00402885mov eax, [rbp-8]
00402888add eax, 2
0040288bmov eax, eax
0040288dadd rax, [rbp-40]
00402891movzx eax, [rax]
00402894mov [rbp-30], al
00402897mov eax, [rbp-8]
0040289aadd eax, 3
0040289dmov eax, eax
0040289fadd rax, [rbp-40]
004028a3movzx eax, [rax]
004028a6mov [rbp-29], al
004028a9mov eax, [rbp-4]
004028acand eax, 3
004028aftest eax, eax
004028b1jne 0x40293e
004028b7movzx eax, [rbp-32]
004028bbmov [rbp-9], al
004028bemovzx eax, [rbp-31]
004028c2mov [rbp-32], al
004028c5movzx eax, [rbp-30]
004028c9mov [rbp-31], al
004028ccmovzx eax, [rbp-29]
004028d0mov [rbp-30], al
004028d3movzx eax, [rbp-9]
004028d7mov [rbp-29], al
004028damovzx eax, [rbp-32]
004028demovzx eax, al
004028e1cdqe
004028e3movzx eax, [rax+0x40e7e0]
004028eamov [rbp-32], al
004028edmovzx eax, [rbp-31]
004028f1movzx eax, al
004028f4cdqe
004028f6movzx eax, [rax+0x40e7e0]
004028fdmov [rbp-31], al
00402900movzx eax, [rbp-30]
00402904movzx eax, al
00402907cdqe
00402909movzx eax, [rax+0x40e7e0]
00402910mov [rbp-30], al
00402913movzx eax, [rbp-29]
00402917movzx eax, al
0040291acdqe
0040291cmovzx eax, [rax+0x40e7e0]
00402923mov [rbp-29], al
00402926movzx edx, [rbp-32]
0040292amov eax, [rbp-4]
0040292dshr eax, 2
00402930mov eax, eax
00402932movzx eax, [rax+0x40e9e0]
00402939xor eax, edx
0040293bmov [rbp-32], al
0040293e
0040293eloc_40293e:
0040293emov eax, [rbp-4]
00402941shl eax, 2
00402944mov [rbp-16], eax
00402947mov eax, [rbp-4]
0040294aadd eax, 0x3ffffffc
0040294fshl eax, 2
00402952mov [rbp-8], eax
00402955mov eax, [rbp-16]
00402958add rax, [rbp-40]
0040295cmov edx, [rbp-8]
0040295fadd rdx, [rbp-40]
00402963movzx ecx, [rdx]
00402966movzx edx, [rbp-32]
0040296axor edx, ecx
0040296cmov [rax], dl
0040296emov eax, [rbp-16]
00402971add eax, 1
00402974mov eax, eax
00402976add rax, [rbp-40]
0040297amov edx, [rbp-8]
0040297dadd edx, 1
00402980mov edx, edx
00402982add rdx, [rbp-40]
00402986movzx ecx, [rdx]
00402989movzx edx, [rbp-31]
0040298dxor edx, ecx
0040298fmov [rax], dl
00402991mov eax, [rbp-16]
00402994add eax, 2
00402997mov eax, eax
00402999add rax, [rbp-40]
0040299dmov edx, [rbp-8]
004029a0add edx, 2
004029a3mov edx, edx
004029a5add rdx, [rbp-40]
004029a9movzx ecx, [rdx]
004029acmovzx edx, [rbp-30]
004029b0xor edx, ecx
004029b2mov [rax], dl
004029b4mov eax, [rbp-16]
004029b7add eax, 3
004029bamov eax, eax
004029bcadd rax, [rbp-40]
004029c0mov edx, [rbp-8]
004029c3add edx, 3
004029c6mov edx, edx
004029c8add rdx, [rbp-40]
004029ccmovzx ecx, [rdx]
004029cfmovzx edx, [rbp-29]
004029d3xor edx, ecx
004029d5mov [rax], dl
004029d7add [rbp-4], 1
004029db
004029dbloc_4029db:
004029dbcmp [rbp-4], 43
004029dfjbe 0x402858
004029e5pop rbp
004029e6ret
004027a0
004029e7
004029e7AES_init_ctx:
004029e7push rbp
004029e8mov rbp, rsp
004029ebsub rsp, 16
004029efmov [rbp-8], rdi
004029f3mov [rbp-16], rsi
004029f7mov rax, [rbp-8]
004029fbmov rdx, [rbp-16]
004029ffmov rsi, rdx
00402a02mov rdi, rax
00402a05call KeyExpansion
00402a0aleave
00402a0bret
004029e7
004029e7AES_init_ctx:
004029e7push rbp
004029e8mov rbp, rsp
004029ebsub rsp, 16
004029efmov [rbp-8], rdi
004029f3mov [rbp-16], rsi
004029f7mov rax, [rbp-8]
004029fbmov rdx, [rbp-16]
004029ffmov rsi, rdx
00402a02mov rdi, rax
00402a05call KeyExpansion
00402a0aleave
00402a0bret
004029e7
00402a0c
00402a0cAES_init_ctx_iv:
00402a0cpush rbp
00402a0dmov rbp, rsp
00402a10sub rsp, 24
00402a14mov [rbp-8], rdi
00402a18mov [rbp-16], rsi
00402a1cmov [rbp-24], rdx
00402a20mov rax, [rbp-8]
00402a24mov rdx, [rbp-16]
00402a28mov rsi, rdx
00402a2bmov rdi, rax
00402a2ecall KeyExpansion
00402a33mov rdx, [rbp-24]
00402a37mov rax, [rbp-8]
00402a3badd rax, 176
00402a41mov rcx, [rdx]
00402a44mov [rax], rcx
00402a47mov rdx, [rdx+8]
00402a4bmov [rax+8], rdx
00402a4fleave
00402a50ret
00402a0c
00402a0cAES_init_ctx_iv:
00402a0cpush rbp
00402a0dmov rbp, rsp
00402a10sub rsp, 24
00402a14mov [rbp-8], rdi
00402a18mov [rbp-16], rsi
00402a1cmov [rbp-24], rdx
00402a20mov rax, [rbp-8]
00402a24mov rdx, [rbp-16]
00402a28mov rsi, rdx
00402a2bmov rdi, rax
00402a2ecall KeyExpansion
00402a33mov rdx, [rbp-24]
00402a37mov rax, [rbp-8]
00402a3badd rax, 176
00402a41mov rcx, [rdx]
00402a44mov [rax], rcx
00402a47mov rdx, [rdx+8]
00402a4bmov [rax+8], rdx
00402a4fleave
00402a50ret
00402a0c
00402a51
00402a51AES_ctx_set_iv:
00402a51push rbp
00402a52mov rbp, rsp
00402a55mov [rbp-8], rdi
00402a59mov [rbp-16], rsi
00402a5dmov rdx, [rbp-16]
00402a61mov rax, [rbp-8]
00402a65add rax, 176
00402a6bmov rcx, [rdx]
00402a6emov [rax], rcx
00402a71mov rdx, [rdx+8]
00402a75mov [rax+8], rdx
00402a79pop rbp
00402a7aret
00402a51
00402a51AES_ctx_set_iv:
00402a51push rbp
00402a52mov rbp, rsp
00402a55mov [rbp-8], rdi
00402a59mov [rbp-16], rsi
00402a5dmov rdx, [rbp-16]
00402a61mov rax, [rbp-8]
00402a65add rax, 176
00402a6bmov rcx, [rdx]
00402a6emov [rax], rcx
00402a71mov rdx, [rdx+8]
00402a75mov [rax+8], rdx
00402a79pop rbp
00402a7aret
00402a51
00402a7b
00402a7bAddRoundKey:
00402a7bpush rbp
00402a7cmov rbp, rsp
00402a7fmov eax, edi
00402a81mov [rbp-32], rsi
00402a85mov [rbp-40], rdx
00402a89mov [rbp-20], al
00402a8cmov [rbp-1], 0
00402a90jmp 0x402b0b
00402a92
00402a92loc_402a92:
00402a92mov [rbp-2], 0
00402a96jmp 0x402b01
00402a98
00402a98loc_402a98:
00402a98movzx edi, [rbp-1]
00402a9cmovzx esi, [rbp-2]
00402aa0movzx eax, [rbp-1]
00402aa4movzx ecx, [rbp-2]
00402aa8mov rdx, [rbp-32]
00402aacmovsxd rcx, ecx
00402aafcdqe
00402ab1shl rax, 2
00402ab5add rax, rcx
00402ab8add rax, rdx
00402abbmovzx edx, [rax]
00402abemovzx eax, [rbp-20]
00402ac2lea ecx, [4*rax]
00402ac9movzx eax, [rbp-1]
00402acdadd eax, ecx
00402acflea ecx, [4*rax]
00402ad6movzx eax, [rbp-2]
00402adaadd eax, ecx
00402adccdqe
00402adeadd rax, [rbp-40]
00402ae2movzx eax, [rax]
00402ae5xor edx, eax
00402ae7mov rcx, [rbp-32]
00402aebmovsxd rsi, esi
00402aeemovsxd rax, edi
00402af1shl rax, 2
00402af5add rax, rsi
00402af8add rax, rcx
00402afbmov [rax], dl
00402afdadd [rbp-2], 1
00402b01
00402b01loc_402b01:
00402b01cmp [rbp-2], 3
00402b05jbe 0x402a98
00402b07add [rbp-1], 1
00402b0b
00402b0bloc_402b0b:
00402b0bcmp [rbp-1], 3
00402b0fjbe 0x402a92
00402b11pop rbp
00402b12ret
00402a7b
00402a7bAddRoundKey:
00402a7bpush rbp
00402a7cmov rbp, rsp
00402a7fmov eax, edi
00402a81mov [rbp-32], rsi
00402a85mov [rbp-40], rdx
00402a89mov [rbp-20], al
00402a8cmov [rbp-1], 0
00402a90jmp 0x402b0b
00402a92
00402a92loc_402a92:
00402a92mov [rbp-2], 0
00402a96jmp 0x402b01
00402a98
00402a98loc_402a98:
00402a98movzx edi, [rbp-1]
00402a9cmovzx esi, [rbp-2]
00402aa0movzx eax, [rbp-1]
00402aa4movzx ecx, [rbp-2]
00402aa8mov rdx, [rbp-32]
00402aacmovsxd rcx, ecx
00402aafcdqe
00402ab1shl rax, 2
00402ab5add rax, rcx
00402ab8add rax, rdx
00402abbmovzx edx, [rax]
00402abemovzx eax, [rbp-20]
00402ac2lea ecx, [4*rax]
00402ac9movzx eax, [rbp-1]
00402acdadd eax, ecx
00402acflea ecx, [4*rax]
00402ad6movzx eax, [rbp-2]
00402adaadd eax, ecx
00402adccdqe
00402adeadd rax, [rbp-40]
00402ae2movzx eax, [rax]
00402ae5xor edx, eax
00402ae7mov rcx, [rbp-32]
00402aebmovsxd rsi, esi
00402aeemovsxd rax, edi
00402af1shl rax, 2
00402af5add rax, rsi
00402af8add rax, rcx
00402afbmov [rax], dl
00402afdadd [rbp-2], 1
00402b01
00402b01loc_402b01:
00402b01cmp [rbp-2], 3
00402b05jbe 0x402a98
00402b07add [rbp-1], 1
00402b0b
00402b0bloc_402b0b:
00402b0bcmp [rbp-1], 3
00402b0fjbe 0x402a92
00402b11pop rbp
00402b12ret
00402a7b
00402b13
00402b13SubBytes:
00402b13push rbp
00402b14mov rbp, rsp
00402b17mov [rbp-24], rdi
00402b1bmov [rbp-1], 0
00402b1fjmp 0x402b7d
00402b21
00402b21loc_402b21:
00402b21mov [rbp-2], 0
00402b25jmp 0x402b73
00402b27
00402b27loc_402b27:
00402b27movzx edi, [rbp-2]
00402b2bmovzx esi, [rbp-1]
00402b2fmovzx eax, [rbp-2]
00402b33movzx ecx, [rbp-1]
00402b37mov rdx, [rbp-24]
00402b3bmovsxd rcx, ecx
00402b3ecdqe
00402b40shl rax, 2
00402b44add rax, rcx
00402b47add rax, rdx
00402b4amovzx eax, [rax]
00402b4dmovzx eax, al
00402b50cdqe
00402b52movzx edx, [rax+0x40e7e0]
00402b59mov rcx, [rbp-24]
00402b5dmovsxd rsi, esi
00402b60movsxd rax, edi
00402b63shl rax, 2
00402b67add rax, rsi
00402b6aadd rax, rcx
00402b6dmov [rax], dl
00402b6fadd [rbp-2], 1
00402b73
00402b73loc_402b73:
00402b73cmp [rbp-2], 3
00402b77jbe 0x402b27
00402b79add [rbp-1], 1
00402b7d
00402b7dloc_402b7d:
00402b7dcmp [rbp-1], 3
00402b81jbe 0x402b21
00402b83pop rbp
00402b84ret
00402b13
00402b13SubBytes:
00402b13push rbp
00402b14mov rbp, rsp
00402b17mov [rbp-24], rdi
00402b1bmov [rbp-1], 0
00402b1fjmp 0x402b7d
00402b21
00402b21loc_402b21:
00402b21mov [rbp-2], 0
00402b25jmp 0x402b73
00402b27
00402b27loc_402b27:
00402b27movzx edi, [rbp-2]
00402b2bmovzx esi, [rbp-1]
00402b2fmovzx eax, [rbp-2]
00402b33movzx ecx, [rbp-1]
00402b37mov rdx, [rbp-24]
00402b3bmovsxd rcx, ecx
00402b3ecdqe
00402b40shl rax, 2
00402b44add rax, rcx
00402b47add rax, rdx
00402b4amovzx eax, [rax]
00402b4dmovzx eax, al
00402b50cdqe
00402b52movzx edx, [rax+0x40e7e0]
00402b59mov rcx, [rbp-24]
00402b5dmovsxd rsi, esi
00402b60movsxd rax, edi
00402b63shl rax, 2
00402b67add rax, rsi
00402b6aadd rax, rcx
00402b6dmov [rax], dl
00402b6fadd [rbp-2], 1
00402b73
00402b73loc_402b73:
00402b73cmp [rbp-2], 3
00402b77jbe 0x402b27
00402b79add [rbp-1], 1
00402b7d
00402b7dloc_402b7d:
00402b7dcmp [rbp-1], 3
00402b81jbe 0x402b21
00402b83pop rbp
00402b84ret
00402b13
00402b85
00402b85ShiftRows:
00402b85push rbp
00402b86mov rbp, rsp
00402b89mov [rbp-24], rdi
00402b8dmov rax, [rbp-24]
00402b91movzx eax, [rax+1]
00402b95mov [rbp-1], al
00402b98mov rax, [rbp-24]
00402b9cmovzx edx, [rax+5]
00402ba0mov rax, [rbp-24]
00402ba4mov [rax+1], dl
00402ba7mov rax, [rbp-24]
00402babmovzx edx, [rax+9]
00402bafmov rax, [rbp-24]
00402bb3mov [rax+5], dl
00402bb6mov rax, [rbp-24]
00402bbamovzx edx, [rax+13]
00402bbemov rax, [rbp-24]
00402bc2mov [rax+9], dl
00402bc5mov rax, [rbp-24]
00402bc9movzx edx, [rbp-1]
00402bcdmov [rax+13], dl
00402bd0mov rax, [rbp-24]
00402bd4movzx eax, [rax+2]
00402bd8mov [rbp-1], al
00402bdbmov rax, [rbp-24]
00402bdfmovzx edx, [rax+10]
00402be3mov rax, [rbp-24]
00402be7mov [rax+2], dl
00402beamov rax, [rbp-24]
00402beemovzx edx, [rbp-1]
00402bf2mov [rax+10], dl
00402bf5mov rax, [rbp-24]
00402bf9movzx eax, [rax+6]
00402bfdmov [rbp-1], al
00402c00mov rax, [rbp-24]
00402c04movzx edx, [rax+14]
00402c08mov rax, [rbp-24]
00402c0cmov [rax+6], dl
00402c0fmov rax, [rbp-24]
00402c13movzx edx, [rbp-1]
00402c17mov [rax+14], dl
00402c1amov rax, [rbp-24]
00402c1emovzx eax, [rax+3]
00402c22mov [rbp-1], al
00402c25mov rax, [rbp-24]
00402c29movzx edx, [rax+15]
00402c2dmov rax, [rbp-24]
00402c31mov [rax+3], dl
00402c34mov rax, [rbp-24]
00402c38movzx edx, [rax+11]
00402c3cmov rax, [rbp-24]
00402c40mov [rax+15], dl
00402c43mov rax, [rbp-24]
00402c47movzx edx, [rax+7]
00402c4bmov rax, [rbp-24]
00402c4fmov [rax+11], dl
00402c52mov rax, [rbp-24]
00402c56movzx edx, [rbp-1]
00402c5amov [rax+7], dl
00402c5dpop rbp
00402c5eret
00402b85
00402b85ShiftRows:
00402b85push rbp
00402b86mov rbp, rsp
00402b89mov [rbp-24], rdi
00402b8dmov rax, [rbp-24]
00402b91movzx eax, [rax+1]
00402b95mov [rbp-1], al
00402b98mov rax, [rbp-24]
00402b9cmovzx edx, [rax+5]
00402ba0mov rax, [rbp-24]
00402ba4mov [rax+1], dl
00402ba7mov rax, [rbp-24]
00402babmovzx edx, [rax+9]
00402bafmov rax, [rbp-24]
00402bb3mov [rax+5], dl
00402bb6mov rax, [rbp-24]
00402bbamovzx edx, [rax+13]
00402bbemov rax, [rbp-24]
00402bc2mov [rax+9], dl
00402bc5mov rax, [rbp-24]
00402bc9movzx edx, [rbp-1]
00402bcdmov [rax+13], dl
00402bd0mov rax, [rbp-24]
00402bd4movzx eax, [rax+2]
00402bd8mov [rbp-1], al
00402bdbmov rax, [rbp-24]
00402bdfmovzx edx, [rax+10]
00402be3mov rax, [rbp-24]
00402be7mov [rax+2], dl
00402beamov rax, [rbp-24]
00402beemovzx edx, [rbp-1]
00402bf2mov [rax+10], dl
00402bf5mov rax, [rbp-24]
00402bf9movzx eax, [rax+6]
00402bfdmov [rbp-1], al
00402c00mov rax, [rbp-24]
00402c04movzx edx, [rax+14]
00402c08mov rax, [rbp-24]
00402c0cmov [rax+6], dl
00402c0fmov rax, [rbp-24]
00402c13movzx edx, [rbp-1]
00402c17mov [rax+14], dl
00402c1amov rax, [rbp-24]
00402c1emovzx eax, [rax+3]
00402c22mov [rbp-1], al
00402c25mov rax, [rbp-24]
00402c29movzx edx, [rax+15]
00402c2dmov rax, [rbp-24]
00402c31mov [rax+3], dl
00402c34mov rax, [rbp-24]
00402c38movzx edx, [rax+11]
00402c3cmov rax, [rbp-24]
00402c40mov [rax+15], dl
00402c43mov rax, [rbp-24]
00402c47movzx edx, [rax+7]
00402c4bmov rax, [rbp-24]
00402c4fmov [rax+11], dl
00402c52mov rax, [rbp-24]
00402c56movzx edx, [rbp-1]
00402c5amov [rax+7], dl
00402c5dpop rbp
00402c5eret
00402b85
Loading..