File inc_ransom_e16ac4475e24bbe97e50d7940df71079ea2f1dfd1f2bff6a649c09f7503d087c.elf
Function:
Loading..
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
00402c5f
00402c5fxtime:
00402c5fpush rbp
00402c60mov rbp, rsp
00402c63mov eax, edi
00402c65mov [rbp-4], al
00402c68movzx eax, [rbp-4]
00402c6cadd eax, eax
00402c6emov ecx, eax
00402c70movzx eax, [rbp-4]
00402c74mov edx, eax
00402c76shr dl, 7
00402c79mov eax, edx
00402c7badd eax, eax
00402c7dadd eax, edx
00402c7flea edx, [8*rax]
00402c86add eax, edx
00402c88xor eax, ecx
00402c8apop rbp
00402c8bret
00402c5f
00402c5fxtime:
00402c5fpush rbp
00402c60mov rbp, rsp
00402c63mov eax, edi
00402c65mov [rbp-4], al
00402c68movzx eax, [rbp-4]
00402c6cadd eax, eax
00402c6emov ecx, eax
00402c70movzx eax, [rbp-4]
00402c74mov edx, eax
00402c76shr dl, 7
00402c79mov eax, edx
00402c7badd eax, eax
00402c7dadd eax, edx
00402c7flea edx, [8*rax]
00402c86add eax, edx
00402c88xor eax, ecx
00402c8apop rbp
00402c8bret
00402c5f
00402c8c
00402c8cMixColumns:
00402c8cpush rbp
00402c8dmov rbp, rsp
00402c90sub rsp, 24
00402c94mov [rbp-24], rdi
00402c98mov [rbp-1], 0
00402c9cjmp 0x402e6d
00402ca1
00402ca1loc_402ca1:
00402ca1movzx edx, [rbp-1]
00402ca5mov rax, [rbp-24]
00402ca9movsxd rdx, edx
00402cacmovzx eax, [rax+4*rdx]
00402cb0mov [rbp-2], al
00402cb3movzx edx, [rbp-1]
00402cb7mov rax, [rbp-24]
00402cbbmovsxd rdx, edx
00402cbemovzx ecx, [rax+4*rdx]
00402cc2movzx edx, [rbp-1]
00402cc6mov rax, [rbp-24]
00402ccamovsxd rdx, edx
00402ccdmovzx eax, [rax+4*rdx+1]
00402cd2xor ecx, eax
00402cd4movzx edx, [rbp-1]
00402cd8mov rax, [rbp-24]
00402cdcmovsxd rdx, edx
00402cdfmovzx eax, [rax+4*rdx+2]
00402ce4xor ecx, eax
00402ce6movzx edx, [rbp-1]
00402ceamov rax, [rbp-24]
00402ceemovsxd rdx, edx
00402cf1movzx eax, [rax+4*rdx+3]
00402cf6xor eax, ecx
00402cf8mov [rbp-3], al
00402cfbmovzx edx, [rbp-1]
00402cffmov rax, [rbp-24]
00402d03movsxd rdx, edx
00402d06movzx ecx, [rax+4*rdx]
00402d0amovzx edx, [rbp-1]
00402d0emov rax, [rbp-24]
00402d12movsxd rdx, edx
00402d15movzx eax, [rax+4*rdx+1]
00402d1axor eax, ecx
00402d1cmov [rbp-4], al
00402d1fmovzx eax, [rbp-4]
00402d23mov edi, eax
00402d25call xtime
00402d2amov [rbp-4], al
00402d2dmovzx esi, [rbp-1]
00402d31movzx edx, [rbp-1]
00402d35mov rax, [rbp-24]
00402d39movsxd rdx, edx
00402d3cmovzx edx, [rax+4*rdx]
00402d40movzx eax, [rbp-3]
00402d44movzx ecx, [rbp-4]
00402d48xor eax, ecx
00402d4amov ecx, edx
00402d4cxor ecx, eax
00402d4emov rax, [rbp-24]
00402d52movsxd rdx, esi
00402d55mov [rax+4*rdx], cl
00402d58movzx edx, [rbp-1]
00402d5cmov rax, [rbp-24]
00402d60movsxd rdx, edx
00402d63movzx ecx, [rax+4*rdx+1]
00402d68movzx edx, [rbp-1]
00402d6cmov rax, [rbp-24]
00402d70movsxd rdx, edx
00402d73movzx eax, [rax+4*rdx+2]
00402d78xor eax, ecx
00402d7amov [rbp-4], al
00402d7dmovzx eax, [rbp-4]
00402d81mov edi, eax
00402d83call xtime
00402d88mov [rbp-4], al
00402d8bmovzx esi, [rbp-1]
00402d8fmovzx edx, [rbp-1]
00402d93mov rax, [rbp-24]
00402d97movsxd rdx, edx
00402d9amovzx edx, [rax+4*rdx+1]
00402d9fmovzx eax, [rbp-3]
00402da3movzx ecx, [rbp-4]
00402da7xor eax, ecx
00402da9mov ecx, edx
00402dabxor ecx, eax
00402dadmov rax, [rbp-24]
00402db1movsxd rdx, esi
00402db4mov [rax+4*rdx+1], cl
00402db8movzx edx, [rbp-1]
00402dbcmov rax, [rbp-24]
00402dc0movsxd rdx, edx
00402dc3movzx ecx, [rax+4*rdx+2]
00402dc8movzx edx, [rbp-1]
00402dccmov rax, [rbp-24]
00402dd0movsxd rdx, edx
00402dd3movzx eax, [rax+4*rdx+3]
00402dd8xor eax, ecx
00402ddamov [rbp-4], al
00402dddmovzx eax, [rbp-4]
00402de1mov edi, eax
00402de3call xtime
00402de8mov [rbp-4], al
00402debmovzx esi, [rbp-1]
00402defmovzx edx, [rbp-1]
00402df3mov rax, [rbp-24]
00402df7movsxd rdx, edx
00402dfamovzx edx, [rax+4*rdx+2]
00402dffmovzx eax, [rbp-3]
00402e03movzx ecx, [rbp-4]
00402e07xor eax, ecx
00402e09mov ecx, edx
00402e0bxor ecx, eax
00402e0dmov rax, [rbp-24]
00402e11movsxd rdx, esi
00402e14mov [rax+4*rdx+2], cl
00402e18movzx edx, [rbp-1]
00402e1cmov rax, [rbp-24]
00402e20movsxd rdx, edx
00402e23movzx eax, [rax+4*rdx+3]
00402e28xor al, [rbp-2]
00402e2bmov [rbp-4], al
00402e2emovzx eax, [rbp-4]
00402e32mov edi, eax
00402e34call xtime
00402e39mov [rbp-4], al
00402e3cmovzx esi, [rbp-1]
00402e40movzx edx, [rbp-1]
00402e44mov rax, [rbp-24]
00402e48movsxd rdx, edx
00402e4bmovzx edx, [rax+4*rdx+3]
00402e50movzx eax, [rbp-3]
00402e54movzx ecx, [rbp-4]
00402e58xor eax, ecx
00402e5amov ecx, edx
00402e5cxor ecx, eax
00402e5emov rax, [rbp-24]
00402e62movsxd rdx, esi
00402e65mov [rax+4*rdx+3], cl
00402e69add [rbp-1], 1
00402e6d
00402e6dloc_402e6d:
00402e6dcmp [rbp-1], 3
00402e71jbe 0x402ca1
00402e77leave
00402e78ret
00402c8c
00402c8cMixColumns:
00402c8cpush rbp
00402c8dmov rbp, rsp
00402c90sub rsp, 24
00402c94mov [rbp-24], rdi
00402c98mov [rbp-1], 0
00402c9cjmp 0x402e6d
00402ca1
00402ca1loc_402ca1:
00402ca1movzx edx, [rbp-1]
00402ca5mov rax, [rbp-24]
00402ca9movsxd rdx, edx
00402cacmovzx eax, [rax+4*rdx]
00402cb0mov [rbp-2], al
00402cb3movzx edx, [rbp-1]
00402cb7mov rax, [rbp-24]
00402cbbmovsxd rdx, edx
00402cbemovzx ecx, [rax+4*rdx]
00402cc2movzx edx, [rbp-1]
00402cc6mov rax, [rbp-24]
00402ccamovsxd rdx, edx
00402ccdmovzx eax, [rax+4*rdx+1]
00402cd2xor ecx, eax
00402cd4movzx edx, [rbp-1]
00402cd8mov rax, [rbp-24]
00402cdcmovsxd rdx, edx
00402cdfmovzx eax, [rax+4*rdx+2]
00402ce4xor ecx, eax
00402ce6movzx edx, [rbp-1]
00402ceamov rax, [rbp-24]
00402ceemovsxd rdx, edx
00402cf1movzx eax, [rax+4*rdx+3]
00402cf6xor eax, ecx
00402cf8mov [rbp-3], al
00402cfbmovzx edx, [rbp-1]
00402cffmov rax, [rbp-24]
00402d03movsxd rdx, edx
00402d06movzx ecx, [rax+4*rdx]
00402d0amovzx edx, [rbp-1]
00402d0emov rax, [rbp-24]
00402d12movsxd rdx, edx
00402d15movzx eax, [rax+4*rdx+1]
00402d1axor eax, ecx
00402d1cmov [rbp-4], al
00402d1fmovzx eax, [rbp-4]
00402d23mov edi, eax
00402d25call xtime
00402d2amov [rbp-4], al
00402d2dmovzx esi, [rbp-1]
00402d31movzx edx, [rbp-1]
00402d35mov rax, [rbp-24]
00402d39movsxd rdx, edx
00402d3cmovzx edx, [rax+4*rdx]
00402d40movzx eax, [rbp-3]
00402d44movzx ecx, [rbp-4]
00402d48xor eax, ecx
00402d4amov ecx, edx
00402d4cxor ecx, eax
00402d4emov rax, [rbp-24]
00402d52movsxd rdx, esi
00402d55mov [rax+4*rdx], cl
00402d58movzx edx, [rbp-1]
00402d5cmov rax, [rbp-24]
00402d60movsxd rdx, edx
00402d63movzx ecx, [rax+4*rdx+1]
00402d68movzx edx, [rbp-1]
00402d6cmov rax, [rbp-24]
00402d70movsxd rdx, edx
00402d73movzx eax, [rax+4*rdx+2]
00402d78xor eax, ecx
00402d7amov [rbp-4], al
00402d7dmovzx eax, [rbp-4]
00402d81mov edi, eax
00402d83call xtime
00402d88mov [rbp-4], al
00402d8bmovzx esi, [rbp-1]
00402d8fmovzx edx, [rbp-1]
00402d93mov rax, [rbp-24]
00402d97movsxd rdx, edx
00402d9amovzx edx, [rax+4*rdx+1]
00402d9fmovzx eax, [rbp-3]
00402da3movzx ecx, [rbp-4]
00402da7xor eax, ecx
00402da9mov ecx, edx
00402dabxor ecx, eax
00402dadmov rax, [rbp-24]
00402db1movsxd rdx, esi
00402db4mov [rax+4*rdx+1], cl
00402db8movzx edx, [rbp-1]
00402dbcmov rax, [rbp-24]
00402dc0movsxd rdx, edx
00402dc3movzx ecx, [rax+4*rdx+2]
00402dc8movzx edx, [rbp-1]
00402dccmov rax, [rbp-24]
00402dd0movsxd rdx, edx
00402dd3movzx eax, [rax+4*rdx+3]
00402dd8xor eax, ecx
00402ddamov [rbp-4], al
00402dddmovzx eax, [rbp-4]
00402de1mov edi, eax
00402de3call xtime
00402de8mov [rbp-4], al
00402debmovzx esi, [rbp-1]
00402defmovzx edx, [rbp-1]
00402df3mov rax, [rbp-24]
00402df7movsxd rdx, edx
00402dfamovzx edx, [rax+4*rdx+2]
00402dffmovzx eax, [rbp-3]
00402e03movzx ecx, [rbp-4]
00402e07xor eax, ecx
00402e09mov ecx, edx
00402e0bxor ecx, eax
00402e0dmov rax, [rbp-24]
00402e11movsxd rdx, esi
00402e14mov [rax+4*rdx+2], cl
00402e18movzx edx, [rbp-1]
00402e1cmov rax, [rbp-24]
00402e20movsxd rdx, edx
00402e23movzx eax, [rax+4*rdx+3]
00402e28xor al, [rbp-2]
00402e2bmov [rbp-4], al
00402e2emovzx eax, [rbp-4]
00402e32mov edi, eax
00402e34call xtime
00402e39mov [rbp-4], al
00402e3cmovzx esi, [rbp-1]
00402e40movzx edx, [rbp-1]
00402e44mov rax, [rbp-24]
00402e48movsxd rdx, edx
00402e4bmovzx edx, [rax+4*rdx+3]
00402e50movzx eax, [rbp-3]
00402e54movzx ecx, [rbp-4]
00402e58xor eax, ecx
00402e5amov ecx, edx
00402e5cxor ecx, eax
00402e5emov rax, [rbp-24]
00402e62movsxd rdx, esi
00402e65mov [rax+4*rdx+3], cl
00402e69add [rbp-1], 1
00402e6d
00402e6dloc_402e6d:
00402e6dcmp [rbp-1], 3
00402e71jbe 0x402ca1
00402e77leave
00402e78ret
00402c8c
00402e79
00402e79InvMixColumns:
00402e79push rbp
00402e7amov rbp, rsp
00402e7dpush r12
00402e7fpush rbx
00402e80sub rsp, 24
00402e84mov [rbp-40], rdi
00402e88mov [rbp-20], 0
00402e8fjmp 0x40369a
00402e94
00402e94loc_402e94:
00402e94mov rax, [rbp-40]
00402e98mov edx, [rbp-20]
00402e9bmovsxd rdx, edx
00402e9emovzx eax, [rax+4*rdx]
00402ea2mov [rbp-21], al
00402ea5mov rax, [rbp-40]
00402ea9mov edx, [rbp-20]
00402eacmovsxd rdx, edx
00402eafmovzx eax, [rax+4*rdx+1]
00402eb4mov [rbp-22], al
00402eb7mov rax, [rbp-40]
00402ebbmov edx, [rbp-20]
00402ebemovsxd rdx, edx
00402ec1movzx eax, [rax+4*rdx+2]
00402ec6mov [rbp-23], al
00402ec9mov rax, [rbp-40]
00402ecdmov edx, [rbp-20]
00402ed0movsxd rdx, edx
00402ed3movzx eax, [rax+4*rdx+3]
00402ed8mov [rbp-24], al
00402edbmovzx eax, [rbp-21]
00402edfmov edi, eax
00402ee1call xtime
00402ee6movzx eax, al
00402ee9mov edi, eax
00402eebcall xtime
00402ef0movzx eax, al
00402ef3mov edi, eax
00402ef5call xtime
00402efamovzx eax, al
00402efdmov edi, eax
00402effcall xtime
00402f04movzx eax, [rbp-22]
00402f08mov edi, eax
00402f0acall xtime
00402f0fmovzx eax, al
00402f12mov edi, eax
00402f14call xtime
00402f19movzx eax, [rbp-22]
00402f1dmov edi, eax
00402f1fcall xtime
00402f24movzx eax, al
00402f27mov edi, eax
00402f29call xtime
00402f2emovzx eax, al
00402f31mov edi, eax
00402f33call xtime
00402f38movzx eax, al
00402f3bmov edi, eax
00402f3dcall xtime
00402f42movzx eax, [rbp-23]
00402f46mov edi, eax
00402f48call xtime
00402f4dmovzx eax, [rbp-23]
00402f51mov edi, eax
00402f53call xtime
00402f58movzx eax, al
00402f5bmov edi, eax
00402f5dcall xtime
00402f62movzx eax, al
00402f65mov edi, eax
00402f67call xtime
00402f6cmovzx eax, al
00402f6fmov edi, eax
00402f71call xtime
00402f76movzx eax, [rbp-24]
00402f7amov edi, eax
00402f7ccall xtime
00402f81movzx eax, [rbp-24]
00402f85mov edi, eax
00402f87call xtime
00402f8cmovzx eax, al
00402f8fmov edi, eax
00402f91call xtime
00402f96movzx eax, [rbp-24]
00402f9amov edi, eax
00402f9ccall xtime
00402fa1movzx eax, al
00402fa4mov edi, eax
00402fa6call xtime
00402fabmovzx eax, al
00402faemov edi, eax
00402fb0call xtime
00402fb5movzx eax, al
00402fb8mov edi, eax
00402fbacall xtime
00402fbfmovzx eax, [rbp-21]
00402fc3mov edi, eax
00402fc5call xtime
00402fcamovzx ebx, al
00402fcdmovzx eax, [rbp-21]
00402fd1mov edi, eax
00402fd3call xtime
00402fd8movzx eax, al
00402fdbmov edi, eax
00402fddcall xtime
00402fe2movzx eax, al
00402fe5xor ebx, eax
00402fe7movzx eax, [rbp-21]
00402febmov edi, eax
00402fedcall xtime
00402ff2movzx eax, al
00402ff5mov edi, eax
00402ff7call xtime
00402ffcmovzx eax, al
00402fffmov edi, eax
00403001call xtime
00403006movzx eax, al
00403009mov r12l, ebx
0040300cxor r12l, eax
0040300fmovzx ebx, [rbp-22]
00403013movzx eax, [rbp-22]
00403017mov edi, eax
00403019call xtime
0040301emovzx eax, al
00403021xor ebx, eax
00403023movzx eax, [rbp-22]
00403027mov edi, eax
00403029call xtime
0040302emovzx eax, al
00403031mov edi, eax
00403033call xtime
00403038movzx eax, al
0040303bmov edi, eax
0040303dcall xtime
00403042movzx eax, al
00403045xor eax, ebx
00403047xor r12l, eax
0040304amovzx ebx, [rbp-23]
0040304emovzx eax, [rbp-23]
00403052mov edi, eax
00403054call xtime
00403059movzx eax, al
0040305cmov edi, eax
0040305ecall xtime
00403063movzx eax, al
00403066xor ebx, eax
00403068movzx eax, [rbp-23]
0040306cmov edi, eax
0040306ecall xtime
00403073movzx eax, al
00403076mov edi, eax
00403078call xtime
0040307dmovzx eax, al
00403080mov edi, eax
00403082call xtime
00403087movzx eax, al
0040308axor eax, ebx
0040308cxor r12l, eax
0040308fmovzx ebx, [rbp-24]
00403093movzx eax, [rbp-24]
00403097mov edi, eax
00403099call xtime
0040309emovzx eax, al
004030a1mov edi, eax
004030a3call xtime
004030a8movzx eax, al
004030abmov edi, eax
004030adcall xtime
004030b2movzx eax, al
004030b5xor eax, ebx
004030b7xor eax, r12l
004030bamov ecx, eax
004030bcmov rax, [rbp-40]
004030c0mov edx, [rbp-20]
004030c3movsxd rdx, edx
004030c6mov [rax+4*rdx], cl
004030c9movzx eax, [rbp-21]
004030cdmov edi, eax
004030cfcall xtime
004030d4movzx eax, [rbp-21]
004030d8mov edi, eax
004030dacall xtime
004030dfmovzx eax, al
004030e2mov edi, eax
004030e4call xtime
004030e9movzx eax, [rbp-21]
004030edmov edi, eax
004030efcall xtime
004030f4movzx eax, al
004030f7mov edi, eax
004030f9call xtime
004030femovzx eax, al
00403101mov edi, eax
00403103call xtime
00403108movzx eax, al
0040310bmov edi, eax
0040310dcall xtime
00403112movzx eax, [rbp-22]
00403116mov edi, eax
00403118call xtime
0040311dmovzx eax, al
00403120mov edi, eax
00403122call xtime
00403127movzx eax, al
0040312amov edi, eax
0040312ccall xtime
00403131movzx eax, al
00403134mov edi, eax
00403136call xtime
0040313bmovzx eax, [rbp-23]
0040313fmov edi, eax
00403141call xtime
00403146movzx eax, al
00403149mov edi, eax
0040314bcall xtime
00403150movzx eax, [rbp-23]
00403154mov edi, eax
00403156call xtime
0040315bmovzx eax, al
0040315emov edi, eax
00403160call xtime
00403165movzx eax, al
00403168mov edi, eax
0040316acall xtime
0040316fmovzx eax, al
00403172mov edi, eax
00403174call xtime
00403179movzx eax, [rbp-24]
0040317dmov edi, eax
0040317fcall xtime
00403184movzx eax, [rbp-24]
00403188mov edi, eax
0040318acall xtime
0040318fmovzx eax, al
00403192mov edi, eax
00403194call xtime
00403199movzx eax, al
0040319cmov edi, eax
0040319ecall xtime
004031a3movzx eax, al
004031a6mov edi, eax
004031a8call xtime
004031admovzx ebx, [rbp-21]
004031b1movzx eax, [rbp-21]
004031b5mov edi, eax
004031b7call xtime
004031bcmovzx eax, al
004031bfmov edi, eax
004031c1call xtime
004031c6movzx eax, al
004031c9mov edi, eax
004031cbcall xtime
004031d0movzx eax, al
004031d3mov r12l, ebx
004031d6xor r12l, eax
004031d9movzx eax, [rbp-22]
004031ddmov edi, eax
004031dfcall xtime
004031e4movzx ebx, al
004031e7movzx eax, [rbp-22]
004031ebmov edi, eax
004031edcall xtime
004031f2movzx eax, al
004031f5mov edi, eax
004031f7call xtime
004031fcmovzx eax, al
004031ffxor ebx, eax
00403201movzx eax, [rbp-22]
00403205mov edi, eax
00403207call xtime
0040320cmovzx eax, al
0040320fmov edi, eax
00403211call xtime
00403216movzx eax, al
00403219mov edi, eax
0040321bcall xtime
00403220movzx eax, al
00403223xor eax, ebx
00403225xor r12l, eax
00403228movzx ebx, [rbp-23]
0040322cmovzx eax, [rbp-23]
00403230mov edi, eax
00403232call xtime
00403237movzx eax, al
0040323axor ebx, eax
0040323cmovzx eax, [rbp-23]
00403240mov edi, eax
00403242call xtime
00403247movzx eax, al
0040324amov edi, eax
0040324ccall xtime
00403251movzx eax, al
00403254mov edi, eax
00403256call xtime
0040325bmovzx eax, al
0040325exor eax, ebx
00403260xor r12l, eax
00403263movzx ebx, [rbp-24]
00403267movzx eax, [rbp-24]
0040326bmov edi, eax
0040326dcall xtime
00403272movzx eax, al
00403275mov edi, eax
00403277call xtime
0040327cmovzx eax, al
0040327fxor ebx, eax
00403281movzx eax, [rbp-24]
00403285mov edi, eax
00403287call xtime
0040328cmovzx eax, al
0040328fmov edi, eax
00403291call xtime
00403296movzx eax, al
00403299mov edi, eax
0040329bcall xtime
004032a0movzx eax, al
004032a3xor eax, ebx
004032a5xor eax, r12l
004032a8mov ecx, eax
004032aamov rax, [rbp-40]
004032aemov edx, [rbp-20]
004032b1movsxd rdx, edx
004032b4mov [rax+4*rdx+1], cl
004032b8movzx eax, [rbp-21]
004032bcmov edi, eax
004032becall xtime
004032c3movzx eax, [rbp-21]
004032c7mov edi, eax
004032c9call xtime
004032cemovzx eax, al
004032d1mov edi, eax
004032d3call xtime
004032d8movzx eax, al
004032dbmov edi, eax
004032ddcall xtime
004032e2movzx eax, al
004032e5mov edi, eax
004032e7call xtime
004032ecmovzx eax, [rbp-22]
004032f0mov edi, eax
004032f2call xtime
004032f7movzx eax, [rbp-22]
004032fbmov edi, eax
004032fdcall xtime
00403302movzx eax, al
00403305mov edi, eax
00403307call xtime
0040330cmovzx eax, [rbp-22]
00403310mov edi, eax
00403312call xtime
00403317movzx eax, al
0040331amov edi, eax
0040331ccall xtime
00403321movzx eax, al
00403324mov edi, eax
00403326call xtime
0040332bmovzx eax, al
0040332emov edi, eax
00403330call xtime
00403335movzx eax, [rbp-23]
00403339mov edi, eax
0040333bcall xtime
00403340movzx eax, al
00403343mov edi, eax
00403345call xtime
0040334amovzx eax, al
0040334dmov edi, eax
0040334fcall xtime
00403354movzx eax, al
00403357mov edi, eax
00403359call xtime
0040335emovzx eax, [rbp-24]
00403362mov edi, eax
00403364call xtime
00403369movzx eax, al
0040336cmov edi, eax
0040336ecall xtime
00403373movzx eax, [rbp-24]
00403377mov edi, eax
00403379call xtime
0040337emovzx eax, al
00403381mov edi, eax
00403383call xtime
00403388movzx eax, al
0040338bmov edi, eax
0040338dcall xtime
00403392movzx eax, al
00403395mov edi, eax
00403397call xtime
0040339cmovzx ebx, [rbp-21]
004033a0movzx eax, [rbp-21]
004033a4mov edi, eax
004033a6call xtime
004033abmovzx eax, al
004033aemov edi, eax
004033b0call xtime
004033b5movzx eax, al
004033b8xor ebx, eax
004033bamovzx eax, [rbp-21]
004033bemov edi, eax
004033c0call xtime
004033c5movzx eax, al
004033c8mov edi, eax
004033cacall xtime
004033cfmovzx eax, al
004033d2mov edi, eax
004033d4call xtime
004033d9movzx eax, al
004033dcmov r12l, ebx
004033dfxor r12l, eax
004033e2movzx ebx, [rbp-22]
004033e6movzx eax, [rbp-22]
004033eamov edi, eax
004033eccall xtime
004033f1movzx eax, al
004033f4mov edi, eax
004033f6call xtime
004033fbmovzx eax, al
004033femov edi, eax
00403400call xtime
00403405movzx eax, al
00403408xor eax, ebx
0040340axor r12l, eax
0040340dmovzx eax, [rbp-23]
00403411mov edi, eax
00403413call xtime
00403418movzx ebx, al
0040341bmovzx eax, [rbp-23]
0040341fmov edi, eax
00403421call xtime
00403426movzx eax, al
00403429mov edi, eax
0040342bcall xtime
00403430movzx eax, al
00403433xor ebx, eax
00403435movzx eax, [rbp-23]
00403439mov edi, eax
0040343bcall xtime
00403440movzx eax, al
00403443mov edi, eax
00403445call xtime
0040344amovzx eax, al
0040344dmov edi, eax
0040344fcall xtime
00403454movzx eax, al
00403457xor eax, ebx
00403459xor r12l, eax
0040345cmovzx ebx, [rbp-24]
00403460movzx eax, [rbp-24]
00403464mov edi, eax
00403466call xtime
0040346bmovzx eax, al
0040346exor ebx, eax
00403470movzx eax, [rbp-24]
00403474mov edi, eax
00403476call xtime
0040347bmovzx eax, al
0040347emov edi, eax
00403480call xtime
00403485movzx eax, al
00403488mov edi, eax
0040348acall xtime
0040348fmovzx eax, al
00403492xor eax, ebx
00403494xor eax, r12l
00403497mov ecx, eax
00403499mov rax, [rbp-40]
0040349dmov edx, [rbp-20]
004034a0movsxd rdx, edx
004034a3mov [rax+4*rdx+2], cl
004034a7movzx eax, [rbp-21]
004034abmov edi, eax
004034adcall xtime
004034b2movzx eax, al
004034b5mov edi, eax
004034b7call xtime
004034bcmovzx eax, [rbp-21]
004034c0mov edi, eax
004034c2call xtime
004034c7movzx eax, al
004034camov edi, eax
004034cccall xtime
004034d1movzx eax, al
004034d4mov edi, eax
004034d6call xtime
004034dbmovzx eax, al
004034demov edi, eax
004034e0call xtime
004034e5movzx eax, [rbp-22]
004034e9mov edi, eax
004034ebcall xtime
004034f0movzx eax, [rbp-22]
004034f4mov edi, eax
004034f6call xtime
004034fbmovzx eax, al
004034femov edi, eax
00403500call xtime
00403505movzx eax, al
00403508mov edi, eax
0040350acall xtime
0040350fmovzx eax, al
00403512mov edi, eax
00403514call xtime
00403519movzx eax, [rbp-23]
0040351dmov edi, eax
0040351fcall xtime
00403524movzx eax, [rbp-23]
00403528mov edi, eax
0040352acall xtime
0040352fmovzx eax, al
00403532mov edi, eax
00403534call xtime
00403539movzx eax, [rbp-23]
0040353dmov edi, eax
0040353fcall xtime
00403544movzx eax, al
00403547mov edi, eax
00403549call xtime
0040354emovzx eax, al
00403551mov edi, eax
00403553call xtime
00403558movzx eax, al
0040355bmov edi, eax
0040355dcall xtime
00403562movzx eax, [rbp-24]
00403566mov edi, eax
00403568call xtime
0040356dmovzx eax, al
00403570mov edi, eax
00403572call xtime
00403577movzx eax, al
0040357amov edi, eax
0040357ccall xtime
00403581movzx eax, al
00403584mov edi, eax
00403586call xtime
0040358bmovzx ebx, [rbp-21]
0040358fmovzx eax, [rbp-21]
00403593mov edi, eax
00403595call xtime
0040359amovzx eax, al
0040359dxor ebx, eax
0040359fmovzx eax, [rbp-21]
004035a3mov edi, eax
004035a5call xtime
004035aamovzx eax, al
004035admov edi, eax
004035afcall xtime
004035b4movzx eax, al
004035b7mov edi, eax
004035b9call xtime
004035bemovzx eax, al
004035c1mov r12l, ebx
004035c4xor r12l, eax
004035c7movzx ebx, [rbp-22]
004035cbmovzx eax, [rbp-22]
004035cfmov edi, eax
004035d1call xtime
004035d6movzx eax, al
004035d9mov edi, eax
004035dbcall xtime
004035e0movzx eax, al
004035e3xor ebx, eax
004035e5movzx eax, [rbp-22]
004035e9mov edi, eax
004035ebcall xtime
004035f0movzx eax, al
004035f3mov edi, eax
004035f5call xtime
004035famovzx eax, al
004035fdmov edi, eax
004035ffcall xtime
00403604movzx eax, al
00403607xor eax, ebx
00403609xor r12l, eax
0040360cmovzx ebx, [rbp-23]
00403610movzx eax, [rbp-23]
00403614mov edi, eax
00403616call xtime
0040361bmovzx eax, al
0040361emov edi, eax
00403620call xtime
00403625movzx eax, al
00403628mov edi, eax
0040362acall xtime
0040362fmovzx eax, al
00403632xor eax, ebx
00403634xor r12l, eax
00403637movzx eax, [rbp-24]
0040363bmov edi, eax
0040363dcall xtime
00403642movzx ebx, al
00403645movzx eax, [rbp-24]
00403649mov edi, eax
0040364bcall xtime
00403650movzx eax, al
00403653mov edi, eax
00403655call xtime
0040365amovzx eax, al
0040365dxor ebx, eax
0040365fmovzx eax, [rbp-24]
00403663mov edi, eax
00403665call xtime
0040366amovzx eax, al
0040366dmov edi, eax
0040366fcall xtime
00403674movzx eax, al
00403677mov edi, eax
00403679call xtime
0040367emovzx eax, al
00403681xor eax, ebx
00403683xor eax, r12l
00403686mov ecx, eax
00403688mov rax, [rbp-40]
0040368cmov edx, [rbp-20]
0040368fmovsxd rdx, edx
00403692mov [rax+4*rdx+3], cl
00403696add [rbp-20], 1
0040369a
0040369aloc_40369a:
0040369acmp [rbp-20], 3
0040369ejle 0x402e94
004036a4add rsp, 24
004036a8pop rbx
004036a9pop r12
004036abpop rbp
004036acret
00402e79
00402e79InvMixColumns:
00402e79push rbp
00402e7amov rbp, rsp
00402e7dpush r12
00402e7fpush rbx
00402e80sub rsp, 24
00402e84mov [rbp-40], rdi
00402e88mov [rbp-20], 0
00402e8fjmp 0x40369a
00402e94
00402e94loc_402e94:
00402e94mov rax, [rbp-40]
00402e98mov edx, [rbp-20]
00402e9bmovsxd rdx, edx
00402e9emovzx eax, [rax+4*rdx]
00402ea2mov [rbp-21], al
00402ea5mov rax, [rbp-40]
00402ea9mov edx, [rbp-20]
00402eacmovsxd rdx, edx
00402eafmovzx eax, [rax+4*rdx+1]
00402eb4mov [rbp-22], al
00402eb7mov rax, [rbp-40]
00402ebbmov edx, [rbp-20]
00402ebemovsxd rdx, edx
00402ec1movzx eax, [rax+4*rdx+2]
00402ec6mov [rbp-23], al
00402ec9mov rax, [rbp-40]
00402ecdmov edx, [rbp-20]
00402ed0movsxd rdx, edx
00402ed3movzx eax, [rax+4*rdx+3]
00402ed8mov [rbp-24], al
00402edbmovzx eax, [rbp-21]
00402edfmov edi, eax
00402ee1call xtime
00402ee6movzx eax, al
00402ee9mov edi, eax
00402eebcall xtime
00402ef0movzx eax, al
00402ef3mov edi, eax
00402ef5call xtime
00402efamovzx eax, al
00402efdmov edi, eax
00402effcall xtime
00402f04movzx eax, [rbp-22]
00402f08mov edi, eax
00402f0acall xtime
00402f0fmovzx eax, al
00402f12mov edi, eax
00402f14call xtime
00402f19movzx eax, [rbp-22]
00402f1dmov edi, eax
00402f1fcall xtime
00402f24movzx eax, al
00402f27mov edi, eax
00402f29call xtime
00402f2emovzx eax, al
00402f31mov edi, eax
00402f33call xtime
00402f38movzx eax, al
00402f3bmov edi, eax
00402f3dcall xtime
00402f42movzx eax, [rbp-23]
00402f46mov edi, eax
00402f48call xtime
00402f4dmovzx eax, [rbp-23]
00402f51mov edi, eax
00402f53call xtime
00402f58movzx eax, al
00402f5bmov edi, eax
00402f5dcall xtime
00402f62movzx eax, al
00402f65mov edi, eax
00402f67call xtime
00402f6cmovzx eax, al
00402f6fmov edi, eax
00402f71call xtime
00402f76movzx eax, [rbp-24]
00402f7amov edi, eax
00402f7ccall xtime
00402f81movzx eax, [rbp-24]
00402f85mov edi, eax
00402f87call xtime
00402f8cmovzx eax, al
00402f8fmov edi, eax
00402f91call xtime
00402f96movzx eax, [rbp-24]
00402f9amov edi, eax
00402f9ccall xtime
00402fa1movzx eax, al
00402fa4mov edi, eax
00402fa6call xtime
00402fabmovzx eax, al
00402faemov edi, eax
00402fb0call xtime
00402fb5movzx eax, al
00402fb8mov edi, eax
00402fbacall xtime
00402fbfmovzx eax, [rbp-21]
00402fc3mov edi, eax
00402fc5call xtime
00402fcamovzx ebx, al
00402fcdmovzx eax, [rbp-21]
00402fd1mov edi, eax
00402fd3call xtime
00402fd8movzx eax, al
00402fdbmov edi, eax
00402fddcall xtime
00402fe2movzx eax, al
00402fe5xor ebx, eax
00402fe7movzx eax, [rbp-21]
00402febmov edi, eax
00402fedcall xtime
00402ff2movzx eax, al
00402ff5mov edi, eax
00402ff7call xtime
00402ffcmovzx eax, al
00402fffmov edi, eax
00403001call xtime
00403006movzx eax, al
00403009mov r12l, ebx
0040300cxor r12l, eax
0040300fmovzx ebx, [rbp-22]
00403013movzx eax, [rbp-22]
00403017mov edi, eax
00403019call xtime
0040301emovzx eax, al
00403021xor ebx, eax
00403023movzx eax, [rbp-22]
00403027mov edi, eax
00403029call xtime
0040302emovzx eax, al
00403031mov edi, eax
00403033call xtime
00403038movzx eax, al
0040303bmov edi, eax
0040303dcall xtime
00403042movzx eax, al
00403045xor eax, ebx
00403047xor r12l, eax
0040304amovzx ebx, [rbp-23]
0040304emovzx eax, [rbp-23]
00403052mov edi, eax
00403054call xtime
00403059movzx eax, al
0040305cmov edi, eax
0040305ecall xtime
00403063movzx eax, al
00403066xor ebx, eax
00403068movzx eax, [rbp-23]
0040306cmov edi, eax
0040306ecall xtime
00403073movzx eax, al
00403076mov edi, eax
00403078call xtime
0040307dmovzx eax, al
00403080mov edi, eax
00403082call xtime
00403087movzx eax, al
0040308axor eax, ebx
0040308cxor r12l, eax
0040308fmovzx ebx, [rbp-24]
00403093movzx eax, [rbp-24]
00403097mov edi, eax
00403099call xtime
0040309emovzx eax, al
004030a1mov edi, eax
004030a3call xtime
004030a8movzx eax, al
004030abmov edi, eax
004030adcall xtime
004030b2movzx eax, al
004030b5xor eax, ebx
004030b7xor eax, r12l
004030bamov ecx, eax
004030bcmov rax, [rbp-40]
004030c0mov edx, [rbp-20]
004030c3movsxd rdx, edx
004030c6mov [rax+4*rdx], cl
004030c9movzx eax, [rbp-21]
004030cdmov edi, eax
004030cfcall xtime
004030d4movzx eax, [rbp-21]
004030d8mov edi, eax
004030dacall xtime
004030dfmovzx eax, al
004030e2mov edi, eax
004030e4call xtime
004030e9movzx eax, [rbp-21]
004030edmov edi, eax
004030efcall xtime
004030f4movzx eax, al
004030f7mov edi, eax
004030f9call xtime
004030femovzx eax, al
00403101mov edi, eax
00403103call xtime
00403108movzx eax, al
0040310bmov edi, eax
0040310dcall xtime
00403112movzx eax, [rbp-22]
00403116mov edi, eax
00403118call xtime
0040311dmovzx eax, al
00403120mov edi, eax
00403122call xtime
00403127movzx eax, al
0040312amov edi, eax
0040312ccall xtime
00403131movzx eax, al
00403134mov edi, eax
00403136call xtime
0040313bmovzx eax, [rbp-23]
0040313fmov edi, eax
00403141call xtime
00403146movzx eax, al
00403149mov edi, eax
0040314bcall xtime
00403150movzx eax, [rbp-23]
00403154mov edi, eax
00403156call xtime
0040315bmovzx eax, al
0040315emov edi, eax
00403160call xtime
00403165movzx eax, al
00403168mov edi, eax
0040316acall xtime
0040316fmovzx eax, al
00403172mov edi, eax
00403174call xtime
00403179movzx eax, [rbp-24]
0040317dmov edi, eax
0040317fcall xtime
00403184movzx eax, [rbp-24]
00403188mov edi, eax
0040318acall xtime
0040318fmovzx eax, al
00403192mov edi, eax
00403194call xtime
00403199movzx eax, al
0040319cmov edi, eax
0040319ecall xtime
004031a3movzx eax, al
004031a6mov edi, eax
004031a8call xtime
004031admovzx ebx, [rbp-21]
004031b1movzx eax, [rbp-21]
004031b5mov edi, eax
004031b7call xtime
004031bcmovzx eax, al
004031bfmov edi, eax
004031c1call xtime
004031c6movzx eax, al
004031c9mov edi, eax
004031cbcall xtime
004031d0movzx eax, al
004031d3mov r12l, ebx
004031d6xor r12l, eax
004031d9movzx eax, [rbp-22]
004031ddmov edi, eax
004031dfcall xtime
004031e4movzx ebx, al
004031e7movzx eax, [rbp-22]
004031ebmov edi, eax
004031edcall xtime
004031f2movzx eax, al
004031f5mov edi, eax
004031f7call xtime
004031fcmovzx eax, al
004031ffxor ebx, eax
00403201movzx eax, [rbp-22]
00403205mov edi, eax
00403207call xtime
0040320cmovzx eax, al
0040320fmov edi, eax
00403211call xtime
00403216movzx eax, al
00403219mov edi, eax
0040321bcall xtime
00403220movzx eax, al
00403223xor eax, ebx
00403225xor r12l, eax
00403228movzx ebx, [rbp-23]
0040322cmovzx eax, [rbp-23]
00403230mov edi, eax
00403232call xtime
00403237movzx eax, al
0040323axor ebx, eax
0040323cmovzx eax, [rbp-23]
00403240mov edi, eax
00403242call xtime
00403247movzx eax, al
0040324amov edi, eax
0040324ccall xtime
00403251movzx eax, al
00403254mov edi, eax
00403256call xtime
0040325bmovzx eax, al
0040325exor eax, ebx
00403260xor r12l, eax
00403263movzx ebx, [rbp-24]
00403267movzx eax, [rbp-24]
0040326bmov edi, eax
0040326dcall xtime
00403272movzx eax, al
00403275mov edi, eax
00403277call xtime
0040327cmovzx eax, al
0040327fxor ebx, eax
00403281movzx eax, [rbp-24]
00403285mov edi, eax
00403287call xtime
0040328cmovzx eax, al
0040328fmov edi, eax
00403291call xtime
00403296movzx eax, al
00403299mov edi, eax
0040329bcall xtime
004032a0movzx eax, al
004032a3xor eax, ebx
004032a5xor eax, r12l
004032a8mov ecx, eax
004032aamov rax, [rbp-40]
004032aemov edx, [rbp-20]
004032b1movsxd rdx, edx
004032b4mov [rax+4*rdx+1], cl
004032b8movzx eax, [rbp-21]
004032bcmov edi, eax
004032becall xtime
004032c3movzx eax, [rbp-21]
004032c7mov edi, eax
004032c9call xtime
004032cemovzx eax, al
004032d1mov edi, eax
004032d3call xtime
004032d8movzx eax, al
004032dbmov edi, eax
004032ddcall xtime
004032e2movzx eax, al
004032e5mov edi, eax
004032e7call xtime
004032ecmovzx eax, [rbp-22]
004032f0mov edi, eax
004032f2call xtime
004032f7movzx eax, [rbp-22]
004032fbmov edi, eax
004032fdcall xtime
00403302movzx eax, al
00403305mov edi, eax
00403307call xtime
0040330cmovzx eax, [rbp-22]
00403310mov edi, eax
00403312call xtime
00403317movzx eax, al
0040331amov edi, eax
0040331ccall xtime
00403321movzx eax, al
00403324mov edi, eax
00403326call xtime
0040332bmovzx eax, al
0040332emov edi, eax
00403330call xtime
00403335movzx eax, [rbp-23]
00403339mov edi, eax
0040333bcall xtime
00403340movzx eax, al
00403343mov edi, eax
00403345call xtime
0040334amovzx eax, al
0040334dmov edi, eax
0040334fcall xtime
00403354movzx eax, al
00403357mov edi, eax
00403359call xtime
0040335emovzx eax, [rbp-24]
00403362mov edi, eax
00403364call xtime
00403369movzx eax, al
0040336cmov edi, eax
0040336ecall xtime
00403373movzx eax, [rbp-24]
00403377mov edi, eax
00403379call xtime
0040337emovzx eax, al
00403381mov edi, eax
00403383call xtime
00403388movzx eax, al
0040338bmov edi, eax
0040338dcall xtime
00403392movzx eax, al
00403395mov edi, eax
00403397call xtime
0040339cmovzx ebx, [rbp-21]
004033a0movzx eax, [rbp-21]
004033a4mov edi, eax
004033a6call xtime
004033abmovzx eax, al
004033aemov edi, eax
004033b0call xtime
004033b5movzx eax, al
004033b8xor ebx, eax
004033bamovzx eax, [rbp-21]
004033bemov edi, eax
004033c0call xtime
004033c5movzx eax, al
004033c8mov edi, eax
004033cacall xtime
004033cfmovzx eax, al
004033d2mov edi, eax
004033d4call xtime
004033d9movzx eax, al
004033dcmov r12l, ebx
004033dfxor r12l, eax
004033e2movzx ebx, [rbp-22]
004033e6movzx eax, [rbp-22]
004033eamov edi, eax
004033eccall xtime
004033f1movzx eax, al
004033f4mov edi, eax
004033f6call xtime
004033fbmovzx eax, al
004033femov edi, eax
00403400call xtime
00403405movzx eax, al
00403408xor eax, ebx
0040340axor r12l, eax
0040340dmovzx eax, [rbp-23]
00403411mov edi, eax
00403413call xtime
00403418movzx ebx, al
0040341bmovzx eax, [rbp-23]
0040341fmov edi, eax
00403421call xtime
00403426movzx eax, al
00403429mov edi, eax
0040342bcall xtime
00403430movzx eax, al
00403433xor ebx, eax
00403435movzx eax, [rbp-23]
00403439mov edi, eax
0040343bcall xtime
00403440movzx eax, al
00403443mov edi, eax
00403445call xtime
0040344amovzx eax, al
0040344dmov edi, eax
0040344fcall xtime
00403454movzx eax, al
00403457xor eax, ebx
00403459xor r12l, eax
0040345cmovzx ebx, [rbp-24]
00403460movzx eax, [rbp-24]
00403464mov edi, eax
00403466call xtime
0040346bmovzx eax, al
0040346exor ebx, eax
00403470movzx eax, [rbp-24]
00403474mov edi, eax
00403476call xtime
0040347bmovzx eax, al
0040347emov edi, eax
00403480call xtime
00403485movzx eax, al
00403488mov edi, eax
0040348acall xtime
0040348fmovzx eax, al
00403492xor eax, ebx
00403494xor eax, r12l
00403497mov ecx, eax
00403499mov rax, [rbp-40]
0040349dmov edx, [rbp-20]
004034a0movsxd rdx, edx
004034a3mov [rax+4*rdx+2], cl
004034a7movzx eax, [rbp-21]
004034abmov edi, eax
004034adcall xtime
004034b2movzx eax, al
004034b5mov edi, eax
004034b7call xtime
004034bcmovzx eax, [rbp-21]
004034c0mov edi, eax
004034c2call xtime
004034c7movzx eax, al
004034camov edi, eax
004034cccall xtime
004034d1movzx eax, al
004034d4mov edi, eax
004034d6call xtime
004034dbmovzx eax, al
004034demov edi, eax
004034e0call xtime
004034e5movzx eax, [rbp-22]
004034e9mov edi, eax
004034ebcall xtime
004034f0movzx eax, [rbp-22]
004034f4mov edi, eax
004034f6call xtime
004034fbmovzx eax, al
004034femov edi, eax
00403500call xtime
00403505movzx eax, al
00403508mov edi, eax
0040350acall xtime
0040350fmovzx eax, al
00403512mov edi, eax
00403514call xtime
00403519movzx eax, [rbp-23]
0040351dmov edi, eax
0040351fcall xtime
00403524movzx eax, [rbp-23]
00403528mov edi, eax
0040352acall xtime
0040352fmovzx eax, al
00403532mov edi, eax
00403534call xtime
00403539movzx eax, [rbp-23]
0040353dmov edi, eax
0040353fcall xtime
00403544movzx eax, al
00403547mov edi, eax
00403549call xtime
0040354emovzx eax, al
00403551mov edi, eax
00403553call xtime
00403558movzx eax, al
0040355bmov edi, eax
0040355dcall xtime
00403562movzx eax, [rbp-24]
00403566mov edi, eax
00403568call xtime
0040356dmovzx eax, al
00403570mov edi, eax
00403572call xtime
00403577movzx eax, al
0040357amov edi, eax
0040357ccall xtime
00403581movzx eax, al
00403584mov edi, eax
00403586call xtime
0040358bmovzx ebx, [rbp-21]
0040358fmovzx eax, [rbp-21]
00403593mov edi, eax
00403595call xtime
0040359amovzx eax, al
0040359dxor ebx, eax
0040359fmovzx eax, [rbp-21]
004035a3mov edi, eax
004035a5call xtime
004035aamovzx eax, al
004035admov edi, eax
004035afcall xtime
004035b4movzx eax, al
004035b7mov edi, eax
004035b9call xtime
004035bemovzx eax, al
004035c1mov r12l, ebx
004035c4xor r12l, eax
004035c7movzx ebx, [rbp-22]
004035cbmovzx eax, [rbp-22]
004035cfmov edi, eax
004035d1call xtime
004035d6movzx eax, al
004035d9mov edi, eax
004035dbcall xtime
004035e0movzx eax, al
004035e3xor ebx, eax
004035e5movzx eax, [rbp-22]
004035e9mov edi, eax
004035ebcall xtime
004035f0movzx eax, al
004035f3mov edi, eax
004035f5call xtime
004035famovzx eax, al
004035fdmov edi, eax
004035ffcall xtime
00403604movzx eax, al
00403607xor eax, ebx
00403609xor r12l, eax
0040360cmovzx ebx, [rbp-23]
00403610movzx eax, [rbp-23]
00403614mov edi, eax
00403616call xtime
0040361bmovzx eax, al
0040361emov edi, eax
00403620call xtime
00403625movzx eax, al
00403628mov edi, eax
0040362acall xtime
0040362fmovzx eax, al
00403632xor eax, ebx
00403634xor r12l, eax
00403637movzx eax, [rbp-24]
0040363bmov edi, eax
0040363dcall xtime
00403642movzx ebx, al
00403645movzx eax, [rbp-24]
00403649mov edi, eax
0040364bcall xtime
00403650movzx eax, al
00403653mov edi, eax
00403655call xtime
0040365amovzx eax, al
0040365dxor ebx, eax
0040365fmovzx eax, [rbp-24]
00403663mov edi, eax
00403665call xtime
0040366amovzx eax, al
0040366dmov edi, eax
0040366fcall xtime
00403674movzx eax, al
00403677mov edi, eax
00403679call xtime
0040367emovzx eax, al
00403681xor eax, ebx
00403683xor eax, r12l
00403686mov ecx, eax
00403688mov rax, [rbp-40]
0040368cmov edx, [rbp-20]
0040368fmovsxd rdx, edx
00403692mov [rax+4*rdx+3], cl
00403696add [rbp-20], 1
0040369a
0040369aloc_40369a:
0040369acmp [rbp-20], 3
0040369ejle 0x402e94
004036a4add rsp, 24
004036a8pop rbx
004036a9pop r12
004036abpop rbp
004036acret
00402e79
004036ad
004036adInvSubBytes:
004036adpush rbp
004036aemov rbp, rsp
004036b1mov [rbp-24], rdi
004036b5mov [rbp-1], 0
004036b9jmp 0x403717
004036bb
004036bbloc_4036bb:
004036bbmov [rbp-2], 0
004036bfjmp 0x40370d
004036c1
004036c1loc_4036c1:
004036c1movzx edi, [rbp-2]
004036c5movzx esi, [rbp-1]
004036c9movzx eax, [rbp-2]
004036cdmovzx ecx, [rbp-1]
004036d1mov rdx, [rbp-24]
004036d5movsxd rcx, ecx
004036d8cdqe
004036dashl rax, 2
004036deadd rax, rcx
004036e1add rax, rdx
004036e4movzx eax, [rax]
004036e7movzx eax, al
004036eacdqe
004036ecmovzx edx, [rax+0x40e8e0]
004036f3mov rcx, [rbp-24]
004036f7movsxd rsi, esi
004036famovsxd rax, edi
004036fdshl rax, 2
00403701add rax, rsi
00403704add rax, rcx
00403707mov [rax], dl
00403709add [rbp-2], 1
0040370d
0040370dloc_40370d:
0040370dcmp [rbp-2], 3
00403711jbe 0x4036c1
00403713add [rbp-1], 1
00403717
00403717loc_403717:
00403717cmp [rbp-1], 3
0040371bjbe 0x4036bb
0040371dpop rbp
0040371eret
004036ad
004036adInvSubBytes:
004036adpush rbp
004036aemov rbp, rsp
004036b1mov [rbp-24], rdi
004036b5mov [rbp-1], 0
004036b9jmp 0x403717
004036bb
004036bbloc_4036bb:
004036bbmov [rbp-2], 0
004036bfjmp 0x40370d
004036c1
004036c1loc_4036c1:
004036c1movzx edi, [rbp-2]
004036c5movzx esi, [rbp-1]
004036c9movzx eax, [rbp-2]
004036cdmovzx ecx, [rbp-1]
004036d1mov rdx, [rbp-24]
004036d5movsxd rcx, ecx
004036d8cdqe
004036dashl rax, 2
004036deadd rax, rcx
004036e1add rax, rdx
004036e4movzx eax, [rax]
004036e7movzx eax, al
004036eacdqe
004036ecmovzx edx, [rax+0x40e8e0]
004036f3mov rcx, [rbp-24]
004036f7movsxd rsi, esi
004036famovsxd rax, edi
004036fdshl rax, 2
00403701add rax, rsi
00403704add rax, rcx
00403707mov [rax], dl
00403709add [rbp-2], 1
0040370d
0040370dloc_40370d:
0040370dcmp [rbp-2], 3
00403711jbe 0x4036c1
00403713add [rbp-1], 1
00403717
00403717loc_403717:
00403717cmp [rbp-1], 3
0040371bjbe 0x4036bb
0040371dpop rbp
0040371eret
004036ad
Loading..