Function at 0x457ce0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xc0
mov esi, esp
mov dword [esi + 0xa8], ebp
mov dword [esi + 0xac], esp
mov dword [esi + 0xb8], 0xffffffff
lea eax, [esi + 0xb0]
mov dword [esi + 0xb4], 0x55c9f0
mov ecx, dword fs:[0]
mov dword [esi + 0xb0], ecx
mov dword fs:[0], eax
mov eax, dword [0x5976d8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5976dc], 0xa
setl cl
test cl, al
jne 0x457d55
xor cl, al
je 0x4591f1
push eax
sub esp, 0x24
mov dword [esi + 0x80], esp
sub esp, 0x18
mov dword [esi + 0x70], esp
sub esp, 0x10
mov eax, esp
and eax, 0xfffffff0
mov dword [esi + 0x14], eax
mov esp, eax
push eax
sub esp, 0x14
mov edi, esp
push eax
mov dword [esi + 0x7c], esp
mov word [esi + 0x24], 0x7a61
vpxor xmm0, xmm0, xmm0
vmovdqa xmmword [esi + 0x30], xmm0
mov dword [esi + 0x44], 0
mov dword [esi + 0x40], 0
lea ecx, [esi + 0x30]
call fcn.004213f0
mov eax, dword [0x5975d8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x5975dc], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x457dd2
or cl, al
jne 0x458030
mov dword [esi + 0x2c], edi
xor edx, edx
nop word [eax + eax]
cmp edx, 0x3e8
je 0x458032
mov dword [esi + 0x10], edx
movsx eax, byte [esi + 0x25]
movsx edx, byte [esi + 0x24]
mov dword [esi + 0xb8], 0
lea ecx, [esi + 0x24]
push eax
push edx
lea eax, [esi + 0x78]
push eax
call fcn.0041cef0
lea ecx, [esi + 0x30]
movsx eax, al
push eax
call fcn.0041d4c0
lea edi, [esi + 0x30]
mov dword [esi + 0x18], edi
mov eax, 0x7a6f23c6
mov ecx, dword [esi + 0x18]
nop dword [eax]
cmp eax, 0x7f3c2ae8
je 0x457e70
cmp eax, 0x7bfe88dc
je 0x457e5b
cmp eax, 0x7a6f23c6
jne 0x457e30
mov eax, dword [esi + 0x18]
cmp dword [eax + 0x14], 0x10
mov eax, 0x7f3c2ae8
mov edx, 0x7bfe88dc
cmovae eax, edx
jmp 0x457e30
mov eax, dword [esi + 0x18]
mov ecx, dword [eax]
mov eax, 0x7f3c2ae8
jmp 0x457e30
mov eax, dword [esi + 0x40]
cmp byte [ecx + eax - 1], 0x6f
je 0x457eda
dec eax
mov dword [esi + 0x18], edi
mov edx, 0x7a6f23c6
mov ecx, dword [esi + 0x18]
nop word cs:[eax + eax]
cmp edx, 0x7f3c2ae8
je 0x457ed0
cmp edx, 0x7bfe88dc
je 0x457ebe
cmp edx, 0x7a6f23c6
jne 0x457e90
mov edx, dword [esi + 0x18]
cmp dword [edx + 0x14], 0x10
mov edx, 0x7f3c2ae8
mov ebx, 0x7bfe88dc
cmovae edx, ebx
jmp 0x457e90
mov ecx, dword [esi + 0x18]
mov ecx, dword [ecx]
mov edx, 0x7f3c2ae8
jmp 0x457e90
cmp byte [ecx + eax], 0x75
jne 0x457ff0
mov ecx, edi
lea eax, [esi + 0x48]
push eax
call fcn.00436b90
mov ecx, edi
lea eax, [esi + 0x60]
push eax
call fcn.00436e20
mov eax, dword [esi + 0x48]
jmp 0x457f22
mov dword [esi + 0x18], eax
mov edi, dword [esi + 0x18]
movsx eax, byte [edi]
push eax
call fcn.0056d735
add esp, 4
mov ecx, eax
xor cl, 0xf5
and cl, al
mov byte [edi], cl
mov eax, dword [esi + 0x48]
inc eax
mov dword [esi + 0x48], eax
cmp eax, dword [esi + 0x60]
je 0x457ff0
mov edi, dword [0x5975e0]
mov edx, dword [0x5975e4]
mov dword [esi + 0xc], edx
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0x744230af
mov edx, 0xfb938587
cmovne ebx, edx
test edi, ecx
sete byte [esi + 0x67]
mov ecx, ebx
cmove ecx, edx
cmp dword [esi + 0xc], 0xa
setl byte [esi + 0x58]
cmovge ecx, ebx
mov edx, 0x8ab0ad55
nop word [eax + eax]
cmp edx, 0x701b27a
jg 0x457fa0
cmp edx, 0x8ab0ad55
je 0x457fb7
cmp edx, 0xfb938587
jne 0x457f80
jmp 0x457f00
cmp edx, 0x701b27b
je 0x457fe4
cmp edx, 0x744230af
jne 0x457f80
mov edx, 0x701b27b
jmp 0x457f80
movzx ebx, byte [esi + 0x67]
movzx edx, byte [esi + 0x58]
mov dh, bl
xor dh, dl
mov edi, 0x744230af
mov dword [esi + 0xc], ecx
mov ecx, 0x701b27b
cmovne edi, ecx
test dl, dl
mov edx, edi
cmovne edx, ecx
mov ecx, dword [esi + 0xc]
test bl, bl
cmove edx, edi
jmp 0x457f80
mov edx, ecx
jmp 0x457f80
mov edx, dword [esi + 0x10]
inc edx
mov eax, dword [0x5975d8]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5975dc], 0xa
setl cl
test cl, al
jne 0x457de0
xor cl, al
jne 0x457de0
nop word cs:[eax + eax]
jmp 0x458030
lea ecx, [esi + 0x30]
push 0xd7
call fcn.00462640
mov ecx, dword [0x5975d8]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete cl
cmp dword [0x5975dc], 0xa
setl dl
test dl, cl
jne 0x4580b2
xor dl, cl
jne 0x4580b2
lea edi, [esi + 0x30]
nop dword [eax + eax]
mov ecx, edi
push 0xd7
call fcn.00462640
mov ecx, edi
push 0xd7
call fcn.00462640
mov edx, dword [0x5975d8]
lea ecx, [edx + 1]
imul ecx, edx
test cl, 1
sete dh
cmp dword [0x5975dc], 0xa
setge dl
setl bl
xor bl, dh
jne 0x4580b2
or dl, cl
test dl, 1
jne 0x458070
cmp byte [eax], 0x31
jne 0x4580d3
lea ecx, [esi + 0x30]
push 0x2d0
call fcn.00462640
cmp byte [eax], 0x30
jne 0x4580d3
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
lea ecx, [esi + 0x30]
call fcn.0040e680
mov word [esi + 0x24], 0x7a61
vpxor xmm0, xmm0, xmm0
vmovdqa xmmword [esi + 0x30], xmm0
mov dword [esi + 0x44], 0
mov dword [esi + 0x40], 0
lea ecx, [esi + 0x30]
call fcn.004213f0
mov eax, dword [0x5975d8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5975dc], 0xa
setl cl
test cl, al
jne 0x45812b
xor cl, al
je 0x458370
xor ebx, ebx
nop dword [eax]
cmp ebx, 0x3e8
je 0x458372
mov dword [esi + 0x10], ebx
movsx eax, byte [esi + 0x25]
movsx edx, byte [esi + 0x24]
mov dword [esi + 0xb8], 1
lea ecx, [esi + 0x24]
push eax
push edx
lea eax, [esi + 0x78]
push eax
call fcn.0041cef0
movsx eax, al
lea ecx, [esi + 0x30]
push eax
call fcn.0041d4c0
lea edi, [esi + 0x30]
mov dword [esi + 0x18], edi
mov eax, 0x7a6f23c6
mov ecx, dword [esi + 0x18]
nop dword [eax]
cmp eax, 0x7f3c2ae8
je 0x4581c0
cmp eax, 0x7bfe88dc
je 0x4581ab
cmp eax, 0x7a6f23c6
jne 0x458180
mov eax, dword [esi + 0x18]
cmp dword [eax + 0x14], 0x10
mov eax, 0x7f3c2ae8
mov edx, 0x7bfe88dc
cmovae eax, edx
jmp 0x458180
mov eax, dword [esi + 0x18]
mov ecx, dword [eax]
mov eax, 0x7f3c2ae8
jmp 0x458180
mov eax, dword [esi + 0x40]
cmp byte [ecx + eax - 1], 0x6f
je 0x45822a
dec eax
mov dword [esi + 0x18], edi
mov edx, 0x7a6f23c6
mov ecx, dword [esi + 0x18]
nop word cs:[eax + eax]
cmp edx, 0x7f3c2ae8
je 0x458220
cmp edx, 0x7bfe88dc
je 0x45820e
cmp edx, 0x7a6f23c6
jne 0x4581e0
mov edx, dword [esi + 0x18]
cmp dword [edx + 0x14], 0x10
mov edx, 0x7f3c2ae8
mov ebx, 0x7bfe88dc
cmovae edx, ebx
jmp 0x4581e0
mov ecx, dword [esi + 0x18]
mov ecx, dword [ecx]
mov edx, 0x7f3c2ae8
jmp 0x4581e0
cmp byte [ecx + eax], 0x75
jne 0x458330
mov ecx, edi
lea eax, [esi + 0x48]
push eax
call fcn.00436b90
mov ecx, edi
lea eax, [esi + 0x60]
push eax
call fcn.00436e20
mov eax, dword [esi + 0x48]
jmp 0x45826d
mov dword [esi + 0x18], eax
mov edi, dword [esi + 0x18]
movsx eax, byte [edi]
push eax
call fcn.0056d735
add esp, 4
and al, 0xa
mov byte [edi], al
mov eax, dword [esi + 0x48]
inc eax
mov dword [esi + 0x48], eax
cmp eax, dword [esi + 0x60]
je 0x458330
mov ecx, dword [0x5975e0]
lea edx, [ecx + 1]
imul edx, ecx
mov edi, dword [0x5975e4]
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x67]
sete dl
mov ecx, 0x744230af
mov ebx, 0xfb938587
cmove ecx, ebx
cmp edi, 0xa
setl byte [esi + 0x58]
setl dh
mov edi, 0x744230af
cmovge ecx, edi
xor dh, dl
cmovne ecx, ebx
mov edx, 0x8ab0ad55
cmp edx, 0x701b27a
jg 0x4582e0
cmp edx, 0x8ab0ad55
je 0x4582f7
cmp edx, 0xfb938587
jne 0x4582c0
jmp 0x458250
cmp edx, 0x701b27b
je 0x45831f
cmp edx, 0x744230af
jne 0x4582c0
mov edx, 0x701b27b
jmp 0x4582c0
mov dh, byte [esi + 0x67]
mov byte [esi + 0xc], dh
mov dl, byte [esi + 0x58]
xor dh, dl
mov edi, 0x744230af
mov ebx, 0x701b27b
cmovne edi, ebx
test dl, dl
mov edx, edi
cmovne edx, ebx
cmp byte [esi + 0xc], 0
cmove edx, edi
jmp 0x4582c0
mov edx, ecx
jmp 0x4582c0
mov ebx, dword [esi + 0x10]
inc ebx
mov ecx, dword [0x5975d8]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5975dc], 0xa
setge cl
setl ch
xor ch, dl
jne 0x458130
or cl, al
test cl, 1
je 0x458130
nop word cs:[eax + eax]
jmp 0x458370
lea ecx, [esi + 0x30]
push 0xd7
call fcn.00462640
mov ecx, dword [0x5975d8]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete cl
cmp dword [0x5975dc], 0xa
setl dl
test dl, cl
jne 0x4583f6
xor dl, cl
jne 0x4583f6
lea edi, [esi + 0x30]
nop dword [eax + eax]
mov ecx, edi
push 0xd7
call fcn.00462640
mov ecx, edi
push 0xd7
call fcn.00462640
mov ecx, dword [0x5975d8]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete ch
setne cl
cmp dword [0x5975dc], 0xa
setl dh
setge dl
cmp dh, ch
jne 0x4583f6
or dl, cl
jne 0x4583b0
cmp byte [eax], 0x31
jne 0x458417
lea ecx, [esi + 0x30]
push 0x2d0
call fcn.00462640
cmp byte [eax], 0x30
jne 0x458417
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
lea ecx, [esi + 0x30]
call fcn.0040e680
mov eax, dword [0x5976e0]
mov ecx, dword [0x5976e4]
lea edx, [eax + 1]
imul edx, eax
mov edi, edx
xor edi, 0xfffffffe
test edi, edx
sete al
cmp ecx, 0xa
setl ah
xor ah, al
mov eax, 0x341bb243
mov ebx, 0x95b6c11a
cmovne ebx, eax
test edi, edx
sete byte [esi + 0x18]
cmovne eax, ebx
cmp ecx, 0xa
setl byte [esi + 0x30]
cmovge eax, ebx
mov edx, 0xf93b175b
mov ecx, 0xcdaf83c0
nop dword [eax]
cmp edx, 0xf93b175a
jg 0x458490
cmp edx, 0x95b6c11a
je 0x4584c2
cmp edx, 0xcdaf83c0
jne 0x458470
mov edx, eax
jmp 0x458470
cmp edx, 0x341bb243
je 0x4584c9
cmp edx, 0xf93b175b
jne 0x458470
movzx ebx, byte [esi + 0x18]
movzx edx, byte [esi + 0x30]
mov dh, bl
xor dh, dl
mov edi, 0x95b6c11a
cmovne edi, ecx
test dl, dl
mov edx, edi
cmovne edx, ecx
test bl, bl
cmove edx, edi
jmp 0x458470
mov edx, 0xcdaf83c0
jmp 0x458470
vpxor xmm0, xmm0, xmm0
mov eax, dword [esi + 0x80]
vmovdqu ymmword [eax], ymm0
mov ecx, dword [0x5974c8]
mov ebx, dword [0x5974cc]
lea edx, [ecx - 1]
imul edx, ecx
mov ecx, edx
and ecx, 1
sete cl
cmp ebx, 0xa
setl ch
xor ch, cl
mov edi, 0xd5434fb
mov ecx, 0x44403878
cmovne ecx, edi
and edx, 1
sete byte [esi + 0x48]
mov dword [eax + 0x24], 0
mov dword [eax + 0x20], 0
cmovne edi, ecx
mov dword [esi + 0x10], ebx
cmp ebx, 0xa
setl byte [esi + 0x18]
cmovge edi, ecx
mov dword [esi + 0xc], edi
mov ecx, 0xabcb70c5
mov edi, 0x48a27a50
nop dword [eax + eax]
cmp ecx, 0x44403877
jg 0x458560
cmp ecx, 0xabcb70c5
je 0x458585
cmp ecx, 0xd5434fb
jne 0x458540
jmp 0x4585ae
cmp ecx, 0x44403878
je 0x4585a7
cmp ecx, 0x48a27a50
jne 0x458540
mov eax, 0x25bb26ac
mov ecx, 0xe6d291fb
mov dword [esi + 0x54], ecx
mov dword [esi + 0x28], eax
mov ecx, dword [esi + 0xc]
jmp 0x458540
movzx eax, byte [esi + 0x48]
movzx ecx, byte [esi + 0x18]
mov ah, al
xor ah, cl
mov ebx, 0x44403878
cmovne ebx, edi
test cl, cl
mov ecx, ebx
cmovne ecx, edi
test al, al
cmove ecx, ebx
jmp 0x458540
mov ecx, 0x48a27a50
jmp 0x458540
test edx, edx
mov eax, dword [esi + 0x28]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x54]
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x30]
mov ecx, dword [esi + 0x34]
mov edx, dword [esi + 0x14]
mov dword [edx + 4], ecx
sete byte [esi + 0x48]
cmp dword [esi + 0x10], 0xa
setl byte [esi + 0x18]
mov dword [edx], eax
mov eax, 0xabcb70c5
mov edi, 0x48a27a50
mov edx, 0x44403878
nop word cs:[eax + eax]
cmp eax, 0x44403877
jg 0x458610
cmp eax, 0xabcb70c5
je 0x458630
cmp eax, 0xd5434fb
jne 0x4585f0
jmp 0x458659
cmp eax, 0x44403878
je 0x458652
cmp eax, 0x48a27a50
jne 0x4585f0
mov eax, 0x1ee2ff25
mov ebx, 0xab360c1
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0xc]
jmp 0x4585f0
movzx ecx, byte [esi + 0x48]
movzx eax, byte [esi + 0x18]
mov ch, al
xor ch, cl
test al, al
mov eax, 0x44403878
cmovne eax, edi
test cl, cl
cmove eax, edx
test ch, ch
cmovne eax, edi
jmp 0x4585f0
mov eax, 0x48a27a50
jmp 0x4585f0
mov eax, dword [esi + 0x10]
mov dword [esi + 0x30], eax
mov dword [esi + 0x34], ebx
mov eax, dword [esi + 0x30]
mov ecx, dword [esi + 0x34]
mov edx, dword [0x597658]
lea edi, [edx + 1]
imul edi, edx
mov edx, edi
xor edx, 0xfffffffe
test edx, edi
sete byte [esi + 0x24]
mov dword [esi + 0x68], esp
mov ebx, dword [esi + 0x14]
mov dword [ebx + 0xc], ecx
mov edx, 0x5a48033f
mov ecx, 0xb0327a89
cmove ecx, edx
sete dl
mov edi, dword [0x59765c]
cmp edi, 0xa
mov edi, 0xb0327a89
cmovge ecx, edi
mov dword [ebx + 8], eax
setl byte [esi + 0x60]
setl al
xor al, dl
mov eax, 0x5a48033f
cmovne ecx, eax
mov dword [esi + 0x5c], ecx
vmovdqa xmm0, xmmword [ebx]
mov eax, 0x83f04af4
vpbroadcastq xmm1, qword [0x57ff00]
nop word cs:[eax + eax]
cmp eax, 0xe80ac46b
jle 0x458700
cmp eax, 0xe80ac46c
je 0x458c38
cmp eax, 0x5a48033f
jne 0x4586e0
jmp 0x459186
cmp eax, 0x83f04af4
je 0x458d14
cmp eax, 0xb0327a89
jne 0x4586e0
push eax
sub esp, 0xc
mov eax, esp
and eax, 0xfffffff0
mov dword [esi + 0xc], eax
mov esp, eax
mov eax, dword [0x5974c8]
mov ecx, dword [0x5974cc]
lea edx, [eax + 1]
imul edx, eax
and edx, 1
mov dword [esi + 0x54], edx
sete byte [esi + 0x48]
sete al
mov ebx, 0x44403878
mov edx, 0xd5434fb
cmove ebx, edx
mov dword [esi + 0x28], ecx
cmp ecx, 0xa
setl byte [esi + 0x18]
setl cl
mov edi, 0x44403878
cmovge ebx, edi
xor cl, al
cmovne ebx, edx
mov dword [esi + 0x10], ebx
mov ebx, 0xabcb70c5
nop dword [eax]
cmp ebx, 0x44403877
jg 0x458790
cmp ebx, 0xabcb70c5
je 0x4587b2
cmp ebx, 0xd5434fb
jne 0x458770
jmp 0x4587e5
cmp ebx, 0x44403878
je 0x4587de
cmp ebx, 0x48a27a50
jne 0x458770
mov ecx, 0x49da45f3
mov eax, 0x83a5ce98
mov dword [esi + 0x74], ecx
mov ebx, dword [esi + 0x10]
jmp 0x458770
movzx edx, byte [esi + 0x48]
movzx ebx, byte [esi + 0x18]
mov dh, bl
xor dh, dl
test bl, bl
mov ebx, 0x44403878
mov ecx, 0x48a27a50
cmovne ebx, ecx
test dl, dl
mov edi, 0x44403878
cmove ebx, edi
test dh, dh
cmovne ebx, ecx
jmp 0x458770
mov ebx, 0x48a27a50
jmp 0x458770
cmp dword [esi + 0x54], 0
mov ecx, dword [esi + 0x74]
mov dword [esi + 0x30], ecx
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x30]
mov ecx, dword [esi + 0x34]
mov edx, dword [esi + 0xc]
mov dword [edx + 4], ecx
mov dword [edx], eax
sete byte [esi + 0x48]
cmp dword [esi + 0x28], 0xa
setl byte [esi + 0x18]
mov ebx, 0xabcb70c5
nop word cs:[eax + eax]
cmp ebx, 0x44403877
jg 0x458840
cmp ebx, 0xabcb70c5
je 0x458862
cmp ebx, 0xd5434fb
jne 0x458820
jmp 0x45888f
cmp ebx, 0x44403878
je 0x458888
cmp ebx, 0x48a27a50
jne 0x458820
mov eax, 0x6a8a984c
mov ecx, 0xab360c1
mov dword [esi + 0x74], eax
mov ebx, dword [esi + 0x10]
jmp 0x458820
movzx edx, byte [esi + 0x48]
mov dh, byte [esi + 0x18]
mov ebx, edx
xor bl, dh
mov edi, 0x44403878
mov eax, 0x48a27a50
cmovne edi, eax
test dh, dh
mov ebx, edi
cmovne ebx, eax
test dl, dl
cmove ebx, edi
jmp 0x458820
mov ebx, 0x48a27a50
jmp 0x458820
cmp dword [esi + 0x54], 0
mov eax, dword [esi + 0x74]
mov dword [esi + 0x30], eax
mov dword [esi + 0x34], ecx
mov eax, dword [esi + 0x30]
mov ecx, dword [esi + 0x34]
mov edx, dword [esi + 0xc]
mov dword [edx + 0xc], ecx
mov dword [edx + 8], eax
sete byte [esi + 0x48]
cmp dword [esi + 0x28], 0xa
setl byte [esi + 0x18]
mov edx, 0xabcb70c5
nop dword [eax]
cmp edx, 0x44403877
jg 0x4588e0
cmp edx, 0xabcb70c5
je 0x4588fd
cmp edx, 0xd5434fb
jne 0x4588c0
jmp 0x458930
cmp edx, 0x44403878
je 0x458929
cmp edx, 0x48a27a50
jne 0x4588c0
xor ecx, ecx
mov eax, dword [esi + 0xc]
mov dword [esi + 0x28], eax
mov edx, dword [esi + 0x10]
jmp 0x4588c0
movzx ebx, byte [esi + 0x48]
movzx edx, byte [esi + 0x18]
mov bh, dl
xor bh, bl
test dl, dl
mov edx, 0x44403878
mov eax, 0x48a27a50
cmovne edx, eax
test bl, bl
mov edi, 0x44403878
cmove edx, edi
test bh, bh
cmovne edx, eax
jmp 0x4588c0
mov edx, 0x48a27a50
jmp 0x4588c0
mov dword [esi + 0x34], ecx
mov eax, dword [esi + 0x28]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x34]
mov eax, dword [esi + 0x30]
mov dword [esi + 0x10], eax
mov eax, dword [0x5974d0]
mov edi, dword [0x5974d4]
lea ebx, [eax + 1]
imul ebx, eax
and ebx, 1
sete byte [esi + 0x48]
mov eax, 0xad433de1
mov edx, 0x1a30b9e6
cmove eax, edx
sete cl
mov dword [esi + 0xc], edi
cmp edi, 0xa
setl byte [esi + 0x18]
mov edi, 0xad433de1
cmovge eax, edi
setl ch
xor ch, cl
cmovne eax, edx
mov ecx, 0x1eec3208
nop dword [eax]
cmp ecx, 0x1eec3207
jg 0x4589b0
cmp ecx, 0xad433de1
je 0x4589f1
cmp ecx, 0x1a30b9e6
jne 0x458990
jmp 0x458a03
cmp ecx, 0x36f10a0d
je 0x4589f8
cmp ecx, 0x1eec3208
jne 0x458990
movzx edx, byte [esi + 0x48]
movzx ecx, byte [esi + 0x18]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0xad433de1
mov edi, 0x36f10a0d
cmovne ecx, edi
test dl, dl
mov edi, 0xad433de1
cmove ecx, edi
test dh, dh
mov edx, 0x36f10a0d
cmovne ecx, edx
jmp 0x458990
mov ecx, 0x36f10a0d
jmp 0x458990
mov ecx, dword [esi + 0x10]
vmovdqa xmm2, xmmword [ecx]
mov ecx, eax
jmp 0x458990
test ebx, ebx
vmovaps xmmword [esi + 0x30], xmm2
vmovdqa xmm2, xmmword [esi + 0x30]
sete byte [esi + 0x48]
cmp dword [esi + 0xc], 0xa
setl byte [esi + 0x18]
mov ecx, 0x1eec3208
cmp ecx, 0x1eec3207
jg 0x458a40
cmp ecx, 0xad433de1
je 0x458a7c
cmp ecx, 0x1a30b9e6
jne 0x458a20
jmp 0x458a87
cmp ecx, 0x36f10a0d
je 0x458a83
cmp ecx, 0x1eec3208
jne 0x458a20
movzx edx, byte [esi + 0x48]
movzx ecx, byte [esi + 0x18]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0xad433de1
mov ebx, 0x36f10a0d
cmovne ecx, ebx
test dl, dl
mov edi, 0xad433de1
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x458a20
mov ecx, 0x36f10a0d
jmp 0x458a20
mov ecx, eax
jmp 0x458a20
vmovdqa xmmword [esi + 0x30], xmm0
vmovdqa xmm3, xmmword [esi + 0x30]
mov eax, dword [0x5974d8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x5974dc]
sete dl
sete byte [esi + 0x48]
mov eax, 0xb21e9a37
mov edi, 0x84b2cb93
cmove eax, edi
cmp ecx, 0xa
setl cl
setl byte [esi + 0x18]
vpandn xmm4, xmm3, xmm2
vpandn xmm2, xmm2, xmm3
vpor xmm2, xmm4, xmm2
mov ebx, 0xb21e9a37
cmovge eax, ebx
xor cl, dl
cmovne eax, edi
mov ecx, 0xb9ddf4ac
nop word cs:[eax + eax]
cmp ecx, 0xb9ddf4ab
jg 0x458b10
cmp ecx, 0x84b2cb93
je 0x458b50
cmp ecx, 0xb21e9a37
jne 0x458af0
mov ecx, 0x5cef02c8
jmp 0x458af0
cmp ecx, 0x5cef02c8
je 0x458b4c
cmp ecx, 0xb9ddf4ac
jne 0x458af0
movzx edx, byte [esi + 0x48]
movzx ecx, byte [esi + 0x18]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0xb21e9a37
mov ebx, 0x5cef02c8
cmovne ecx, ebx
test dl, dl
mov edi, 0xb21e9a37
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x458af0
mov ecx, eax
jmp 0x458af0
mov edx, dword [0x5974e0]
mov ecx, dword [0x5974e4]
lea eax, [edx + 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0x40939665
mov edi, 0x11e7a8d0
cmovne edx, edi
cmp eax, 0xffffffff
vmovdqa xmmword [esi + 0x30], xmm2
vmovdqa xmm2, xmmword [esi + 0x30]
sete byte [esi + 0x18]
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x30]
cmovge eax, edx
mov ecx, 0xc9fd8551
nop word [eax + eax]
cmp ecx, 0x11e7a8cf
jg 0x458be0
cmp ecx, 0xc9fd8551
je 0x458c02
cmp ecx, 0xd9ec3163
jne 0x458bb0
mov ecx, dword [esi + 0x14]
vmovdqa xmmword [ecx], xmm2
vmovdqa xmm0, xmm2
mov ecx, eax
jmp 0x458bb0
cmp ecx, 0x11e7a8d0
je 0x458c2e
cmp ecx, 0x40939665
jne 0x458bb0
mov ecx, 0xd9ec3163
mov edx, dword [esi + 0x14]
vmovdqa xmmword [edx], xmm2
vmovdqa xmm0, xmm2
jmp 0x458bb0
movzx edx, byte [esi + 0x18]
movzx ecx, byte [esi + 0x30]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x40939665
mov ebx, 0xd9ec3163
cmovne ecx, ebx
test dl, dl
mov edi, 0x40939665
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x458bb0
mov eax, 0xe80ac46c
jmp 0x4586e0
push eax
sub esp, 0xc
mov eax, esp
and eax, 0xfffffff0
mov dword [esi + 0xc], eax
mov esp, eax
mov eax, dword [0x5974c8]
mov ecx, dword [0x5974cc]
lea edx, [eax + 1]
imul edx, eax
and edx, 1
mov dword [esi + 0x54], edx
sete byte [esi + 0x48]
sete al
mov ebx, 0x44403878
mov edx, 0xd5434fb
cmove ebx, edx
mov dword [esi + 0x28], ecx
cmp ecx, 0xa
setl byte [esi + 0x18]
setl cl
mov edi, 0x44403878
cmovge ebx, edi
xor cl, al
cmovne ebx, edx
mov dword [esi + 0x10], ebx
mov ebx, 0xabcb70c5
nop word cs:[eax + eax]
cmp ebx, 0x44403877
jg 0x458cc0
cmp ebx, 0xabcb70c5
je 0x458ce2
cmp ebx, 0xd5434fb
jne 0x458ca0
jmp 0x458d3e
cmp ebx, 0x44403878
je 0x458d0d
cmp ebx, 0x48a27a50
jne 0x458ca0
mov ecx, 0x49da45f3
mov eax, 0x83a5ce98
mov dword [esi + 0x74], ecx
mov ebx, dword [esi + 0x10]
jmp 0x458ca0
movzx ecx, byte [esi + 0x48]
mov dh, byte [esi + 0x18]
mov dl, cl
xor dl, dh
test dh, dh
mov ebx, 0x44403878
mov edi, 0x48a27a50
cmovne ebx, edi
test cl, cl
mov ecx, 0x44403878
cmove ebx, ecx
test dl, dl
cmovne ebx, edi
jmp 0x458ca0
mov ebx, 0x48a27a50
jmp 0x458ca0
movzx ecx, byte [esi + 0x24]
movzx eax, byte [esi + 0x60]
mov edx, ecx
xor dl, al
mov edx, 0xb0327a89
mov edi, 0xe80ac46c
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x4586e0
cmp dword [esi + 0x54], 0
mov ecx, dword [esi + 0x74]
mov dword [esi + 0x30], ecx
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x30]
mov ecx, dword [esi + 0x34]
mov edx, dword [esi + 0xc]
mov dword [edx + 4], ecx
mov dword [edx], eax
sete byte [esi + 0x48]
cmp dword [esi + 0x28], 0xa
setl byte [esi + 0x18]
mov ebx, 0xabcb70c5
nop word [eax + eax]
cmp ebx, 0x44403877
jg 0x458d90
cmp ebx, 0xabcb70c5
je 0x458db2
cmp ebx, 0xd5434fb
jne 0x458d70
jmp 0x458ddf
cmp ebx, 0x44403878
je 0x458dd8
cmp ebx, 0x48a27a50
jne 0x458d70
mov eax, 0x6a8a984c
mov ecx, 0xab360c1
mov dword [esi + 0x74], eax
mov ebx, dword [esi + 0x10]
jmp 0x458d70
movzx edx, byte [esi + 0x48]
mov dh, byte [esi + 0x18]
mov ebx, edx
xor bl, dh
mov edi, 0x44403878
mov eax, 0x48a27a50
cmovne edi, eax
test dh, dh
mov ebx, edi
cmovne ebx, eax
test dl, dl
cmove ebx, edi
jmp 0x458d70
mov ebx, 0x48a27a50
jmp 0x458d70
cmp dword [esi + 0x54], 0
mov eax, dword [esi + 0x74]
mov dword [esi + 0x30], eax
mov dword [esi + 0x34], ecx
mov eax, dword [esi + 0x30]
mov ecx, dword [esi + 0x34]
mov edx, dword [esi + 0xc]
mov dword [edx + 0xc], ecx
mov dword [edx + 8], eax
sete byte [esi + 0x48]
cmp dword [esi + 0x28], 0xa
setl byte [esi + 0x18]
mov edx, 0xabcb70c5
nop dword [eax]
cmp edx, 0x44403877
jg 0x458e30
cmp edx, 0xabcb70c5
je 0x458e4d
cmp edx, 0xd5434fb
jne 0x458e10
jmp 0x458e80
cmp edx, 0x44403878
je 0x458e79
cmp edx, 0x48a27a50
jne 0x458e10
xor ecx, ecx
mov eax, dword [esi + 0xc]
mov dword [esi + 0x28], eax
mov edx, dword [esi + 0x10]
jmp 0x458e10
movzx ebx, byte [esi + 0x48]
movzx edx, byte [esi + 0x18]
mov bh, bl
xor bh, dl
test dl, dl
mov edx, 0x44403878
mov eax, 0x48a27a50
cmovne edx, eax
test bl, bl
mov edi, 0x44403878
cmove edx, edi
test bh, bh
cmovne edx, eax
jmp 0x458e10
mov edx, 0x48a27a50
jmp 0x458e10
mov dword [esi + 0x34], ecx
mov eax, dword [esi + 0x28]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x34]
mov eax, dword [esi + 0x30]
mov dword [esi + 0x10], eax
mov eax, dword [0x5974d0]
mov edi, dword [0x5974d4]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
mov dword [esi + 0x28], ecx
sete byte [esi + 0x48]
mov eax, 0xad433de1
mov edx, 0x1a30b9e6
cmove eax, edx
sete cl
mov dword [esi + 0xc], edi
cmp edi, 0xa
setl byte [esi + 0x18]
mov edi, 0xad433de1
cmovge eax, edi
setl ch
xor ch, cl
cmovne eax, edx
mov ecx, 0x1eec3208
nop dword [eax]
cmp ecx, 0x1eec3207
jg 0x458f00
cmp ecx, 0xad433de1
je 0x458f37
cmp ecx, 0x1a30b9e6
jne 0x458ee0
jmp 0x458f49
cmp ecx, 0x36f10a0d
je 0x458f3e
cmp ecx, 0x1eec3208
jne 0x458ee0
movzx edx, byte [esi + 0x48]
movzx ecx, byte [esi + 0x18]
mov ch, dl
xor ch, cl
mov edi, 0xad433de1
mov ebx, 0x36f10a0d
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x458ee0
mov ecx, 0x36f10a0d
jmp 0x458ee0
mov ecx, dword [esi + 0x10]
vmovdqa xmm2, xmmword [ecx]
mov ecx, eax
jmp 0x458ee0
cmp dword [esi + 0x28], 0
vmovaps xmmword [esi + 0x30], xmm2
vmovdqa xmm2, xmmword [esi + 0x30]
sete byte [esi + 0x48]
cmp dword [esi + 0xc], 0xa
setl byte [esi + 0x18]
mov ecx, 0x1eec3208
nop dword [eax + eax]
cmp ecx, 0x1eec3207
jg 0x458f90
cmp ecx, 0xad433de1
je 0x458fc7
cmp ecx, 0x1a30b9e6
jne 0x458f70
jmp 0x458fd2
cmp ecx, 0x36f10a0d
je 0x458fce
cmp ecx, 0x1eec3208
jne 0x458f70
movzx edx, byte [esi + 0x48]
movzx ecx, byte [esi + 0x18]
mov ch, dl
xor ch, cl
mov edi, 0xad433de1
mov ebx, 0x36f10a0d
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x458f70
mov ecx, 0x36f10a0d
jmp 0x458f70
mov ecx, eax
jmp 0x458f70
mov edx, dword [0x5974d8]
mov ecx, dword [0x5974dc]
lea eax, [edx + 1]
imul eax, edx
mov edi, eax
xor edi, 0xfffffffe
test edi, eax
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0xb21e9a37
mov ebx, 0x84b2cb93
cmovne edx, ebx
test edi, eax
vmovdqa xmmword [esi + 0x30], xmm0
vmovdqa xmm3, xmmword [esi + 0x30]
sete byte [esi + 0x48]
mov eax, edx
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 0x18]
vpandn xmm4, xmm3, xmm1
vpandn xmm5, xmm2, xmm1
vpandn xmm3, xmm1, xmm3
vpor xmm3, xmm4, xmm3
vpandn xmm2, xmm1, xmm2
vpor xmm2, xmm5, xmm2
vpxor xmm2, xmm3, xmm2
cmovge eax, edx
mov ecx, 0xb9ddf4ac
nop word cs:[eax + eax]
cmp ecx, 0xb9ddf4ab
jg 0x459070
cmp ecx, 0x84b2cb93
je 0x4590ab
cmp ecx, 0xb21e9a37
jne 0x459050
mov ecx, 0x5cef02c8
jmp 0x459050
cmp ecx, 0x5cef02c8
je 0x4590a7
cmp ecx, 0xb9ddf4ac
jne 0x459050
movzx edx, byte [esi + 0x48]
movzx ecx, byte [esi + 0x18]
mov ch, dl
xor ch, cl
mov edi, 0xb21e9a37
mov ebx, 0x5cef02c8
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x459050
mov ecx, eax
jmp 0x459050
mov edx, dword [0x5974e0]
mov ecx, dword [0x5974e4]
lea eax, [edx + 1]
imul eax, edx
mov edi, eax
xor edi, 0xfffffffe
test edi, eax
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0x40939665
mov ebx, 0x11e7a8d0
cmovne edx, ebx
test edi, eax
vmovdqa xmmword [esi + 0x30], xmm2
vmovdqa xmm2, xmmword [esi + 0x30]
sete byte [esi + 0x18]
mov eax, edx
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 0x30]
cmovge eax, edx
mov ecx, 0xc9fd8551
cmp ecx, 0x11e7a8cf
jg 0x459130
cmp ecx, 0xc9fd8551
je 0x459152
cmp ecx, 0xd9ec3163
jne 0x459100
mov ecx, dword [esi + 0x14]
vmovdqa xmmword [ecx], xmm2
vmovdqa xmm0, xmm2
mov ecx, eax
jmp 0x459100
cmp ecx, 0x11e7a8d0
je 0x45917e
cmp ecx, 0x40939665
jne 0x459100
mov ecx, 0xd9ec3163
mov edx, dword [esi + 0x14]
vmovdqa xmmword [edx], xmm2
vmovdqa xmm0, xmm2
jmp 0x459100
movzx edx, byte [esi + 0x18]
movzx ecx, byte [esi + 0x30]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0x40939665
mov ebx, 0xd9ec3163
cmovne ecx, ebx
test dl, dl
mov edi, 0x40939665
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x459100
mov eax, dword [esi + 0x5c]
jmp 0x4586e0
mov eax, dword [esi + 0x14]
mov dword [esi + 0x30], eax
mov edi, dword [esi + 0x30]
mov esp, dword [esi + 0x68]
vzeroupper
call fcn.00569ede
mov ecx, eax
mov edx, 0x266ebf41
imul edx
mov eax, edx
shr eax, 0x1f
sar edx, 0xe
add edx, eax
imul eax, edx, 0x1aa4e
sub ecx, eax
push ecx
push dword [esi + 0x2c]
call fcn.0045e200
add esp, 8
mov eax, dword [0x5976d8]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5976dc], 0xa
setl cl
test cl, al
jne 0x45a666
xor cl, al
jne 0x45a666
push eax
sub esp, 0xc
mov eax, esp
and eax, 0xfffffff0
mov dword [esi + 0x14], eax
mov esp, eax
push eax
sub esp, 0x14
mov dword [esi + 0x80], esp
mov word [esi + 0x24], 0x7a61
vpxor xmm0, xmm0, xmm0
vmovdqa xmmword [esi + 0x30], xmm0
mov dword [esi + 0x44], 0
mov dword [esi + 0x40], 0
lea ecx, [esi + 0x30]
call fcn.004213f0
mov eax, dword [0x5975d8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x5975dc], 0xa
setge cl
setl ah
xor ah, dl
jne 0x45925f
or cl, al
jne 0x4594b0
xor edx, edx
nop word cs:[eax + eax]
cmp edx, 0x3e8
je 0x4594b2
mov dword [esi + 0x10], edx
movsx eax, byte [esi + 0x25]
movsx edx, byte [esi + 0x24]
mov dword [esi + 0xb8], 0xb
lea ecx, [esi + 0x24]
push eax
push edx
lea eax, [esi + 0x78]
push eax
call fcn.0041cef0
movsx eax, al
lea ecx, [esi + 0x30]
push eax
call fcn.0041d4c0
lea edi, [esi + 0x30]
mov dword [esi + 0x18], edi
mov eax, 0x7a6f23c6
mov ecx, dword [esi + 0x18]
nop dword [eax]
cmp eax, 0x7f3c2ae8
je 0x459300
cmp eax, 0x7bfe88dc
je 0x4592eb
cmp eax, 0x7a6f23c6
jne 0x4592c0
mov eax, dword [esi + 0x18]
cmp dword [eax + 0x14], 0x10
mov eax, 0x7f3c2ae8
mov edx, 0x7bfe88dc
cmovae eax, edx
jmp 0x4592c0
mov eax, dword [esi + 0x18]
mov ecx, dword [eax]
mov eax, 0x7f3c2ae8
jmp 0x4592c0
mov eax, dword [esi + 0x40]
cmp byte [ecx + eax - 1], 0x6f
je 0x45936a
dec eax
mov dword [esi + 0x18], edi
mov edx, 0x7a6f23c6
mov ecx, dword [esi + 0x18]
nop word cs:[eax + eax]
cmp edx, 0x7f3c2ae8
je 0x459360
cmp edx, 0x7bfe88dc
je 0x45934e
cmp edx, 0x7a6f23c6
jne 0x459320
mov edx, dword [esi + 0x18]
cmp dword [edx + 0x14], 0x10
mov edx, 0x7f3c2ae8
mov ebx, 0x7bfe88dc
cmovae edx, ebx
jmp 0x459320
mov ecx, dword [esi + 0x18]
mov ecx, dword [ecx]
mov edx, 0x7f3c2ae8
jmp 0x459320
cmp byte [ecx + eax], 0x75
jne 0x459470
mov ecx, edi
lea eax, [esi + 0x48]
push eax
call fcn.00436b90
mov ecx, edi
lea eax, [esi + 0x60]
push eax
call fcn.00436e20
mov eax, dword [esi + 0x48]
jmp 0x4593ad
mov dword [esi + 0x18], eax
mov edi, dword [esi + 0x18]
movsx eax, byte [edi]
push eax
call fcn.0056d735
add esp, 4
and al, 0xa
mov byte [edi], al
mov eax, dword [esi + 0x48]
inc eax
mov dword [esi + 0x48], eax
cmp eax, dword [esi + 0x60]
je 0x459470
mov ecx, dword [0x5975e0]
lea edx, [ecx + 1]
imul edx, ecx
mov edi, dword [0x5975e4]
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x67]
sete dl
mov ecx, 0x744230af
mov ebx, 0xfb938587
cmove ecx, ebx
cmp edi, 0xa
setl byte [esi + 0x58]
setl dh
mov edi, 0x744230af
cmovge ecx, edi
xor dh, dl
cmovne ecx, ebx
mov edx, 0x8ab0ad55
cmp edx, 0x701b27a
jg 0x459420
cmp edx, 0x8ab0ad55
je 0x459437
cmp edx, 0xfb938587
jne 0x459400
jmp 0x459390
cmp edx, 0x701b27b
je 0x45945f
cmp edx, 0x744230af
jne 0x459400
mov edx, 0x701b27b
jmp 0x459400
mov dh, byte [esi + 0x67]
mov byte [esi + 0xc], dh
mov dl, byte [esi + 0x58]
xor dh, dl
mov edi, 0x744230af
mov ebx, 0x701b27b
cmovne edi, ebx
test dl, dl
mov edx, edi
cmovne edx, ebx
cmp byte [esi + 0xc], 0
cmove edx, edi
jmp 0x459400
mov edx, ecx
jmp 0x459400
mov edx, dword [esi + 0x10]
inc edx
mov eax, dword [0x5975d8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5975dc], 0xa
setl cl
test cl, al
jne 0x459270
xor cl, al
jne 0x459270
nop word cs:[eax + eax]
jmp 0x4594b0
lea ecx, [esi + 0x30]
push 0xd7
call fcn.00462640
mov ecx, dword [0x5975d8]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
setne cl
sete ch
cmp dword [0x5975dc], 0xa
setge dl
setl dh
xor dh, ch
jne 0x459530
or dl, cl
je 0x459530
lea edi, [esi + 0x30]
mov ecx, edi
push 0xd7
call fcn.00462640
mov ecx, edi
push 0xd7
call fcn.00462640
mov ecx, dword [0x5975d8]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete cl
cmp dword [0x5975dc], 0xa
setl dl
test dl, cl
jne 0x459530
xor dl, cl
je 0x4594f0
cmp byte [eax], 0x31
jne 0x459551
lea ecx, [esi + 0x30]
push 0x2d0
call fcn.00462640
cmp byte [eax], 0x30
jne 0x459551
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
lea ecx, [esi + 0x30]
call fcn.0040e680
mov word [esi + 0x24], 0x7a61
vpxor xmm0, xmm0, xmm0
vmovdqa xmmword [esi + 0x30], xmm0
mov dword [esi + 0x44], 0
mov dword [esi + 0x40], 0
lea ecx, [esi + 0x30]
call fcn.004213f0
mov ecx, dword [0x5975d8]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5975dc], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x4595ab
or cl, al
test cl, 1
jne 0x459800
xor ebx, ebx
nop dword [eax]
cmp ebx, 0x3e8
je 0x459802
mov dword [esi + 0x10], ebx
movsx eax, byte [esi + 0x25]
movsx edx, byte [esi + 0x24]
mov dword [esi + 0xb8], 0xc
lea ecx, [esi + 0x24]
push eax
push edx
lea eax, [esi + 0x78]
push eax
call fcn.0041cef0
movsx eax, al
lea ecx, [esi + 0x30]
push eax
call fcn.0041d4c0
lea edi, [esi + 0x30]
mov dword [esi + 0x18], edi
mov eax, 0x7a6f23c6
mov ecx, dword [esi + 0x18]
nop dword [eax]
cmp eax, 0x7f3c2ae8
je 0x459640
cmp eax, 0x7bfe88dc
je 0x45962b
cmp eax, 0x7a6f23c6
jne 0x459600
mov eax, dword [esi + 0x18]
cmp dword [eax + 0x14], 0x10
mov eax, 0x7f3c2ae8
mov edx, 0x7bfe88dc
cmovae eax, edx
jmp 0x459600
mov eax, dword [esi + 0x18]
mov ecx, dword [eax]
mov eax, 0x7f3c2ae8
jmp 0x459600
mov eax, dword [esi + 0x40]
cmp byte [eax + ecx - 1], 0x6f
je 0x4596aa
dec eax
mov dword [esi + 0x18], edi
mov edx, 0x7a6f23c6
mov ecx, dword [esi + 0x18]
nop word cs:[eax + eax]
cmp edx, 0x7f3c2ae8
je 0x4596a0
cmp edx, 0x7bfe88dc
je 0x45968e
cmp edx, 0x7a6f23c6
jne 0x459660
mov edx, dword [esi + 0x18]
cmp dword [edx + 0x14], 0x10
mov edx, 0x7f3c2ae8
mov ebx, 0x7bfe88dc
cmovae edx, ebx
jmp 0x459660
mov ecx, dword [esi + 0x18]
mov ecx, dword [ecx]
mov edx, 0x7f3c2ae8
jmp 0x459660
cmp byte [ecx + eax], 0x75
jne 0x4597c0
mov ecx, edi
lea eax, [esi + 0x48]
push eax
call fcn.00436b90
mov ecx, edi
lea eax, [esi + 0x60]
push eax
call fcn.00436e20
mov eax, dword [esi + 0x48]
jmp 0x4596f2
mov dword [esi + 0x18], eax
mov edi, dword [esi + 0x18]
movsx eax, byte [edi]
push eax
call fcn.0056d735
add esp, 4
mov ecx, eax
xor cl, 0xf5
and cl, al
mov byte [edi], cl
mov eax, dword [esi + 0x48]
inc eax
mov dword [esi + 0x48], eax
cmp eax, dword [esi + 0x60]
je 0x4597c0
mov edi, dword [0x5975e0]
mov edx, dword [0x5975e4]
mov dword [esi + 0xc], edx
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0x744230af
mov edx, 0xfb938587
cmovne ebx, edx
test edi, ecx
sete byte [esi + 0x67]
mov ecx, ebx
cmove ecx, edx
cmp dword [esi + 0xc], 0xa
setl byte [esi + 0x58]
cmovge ecx, ebx
mov edx, 0x8ab0ad55
nop word [eax + eax]
cmp edx, 0x701b27a
jg 0x459770
cmp edx, 0x8ab0ad55
je 0x459787
cmp edx, 0xfb938587
jne 0x459750
jmp 0x4596d0
cmp edx, 0x701b27b
je 0x4597b8
cmp edx, 0x744230af
jne 0x459750
mov edx, 0x701b27b
jmp 0x459750
movzx ebx, byte [esi + 0x67]
movzx edx, byte [esi + 0x58]
mov bh, bl
xor bh, dl
test dl, dl
mov edx, 0x744230af
mov edi, 0x701b27b
cmovne edx, edi
test bl, bl
mov edi, 0x744230af
cmove edx, edi
test bh, bh
mov edi, 0x701b27b
cmovne edx, edi
jmp 0x459750
mov edx, ecx
jmp 0x459750
mov ebx, dword [esi + 0x10]
inc ebx
mov eax, dword [0x5975d8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x5975dc], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x4595b0
or cl, al
je 0x4595b0
nop dword [eax]
jmp 0x459800
lea ecx, [esi + 0x30]
push 0xd7
call fcn.00462640
mov edx, dword [0x5975d8]
lea ecx, [edx + 1]
imul ecx, edx
test cl, 1
sete dh
cmp dword [0x5975dc], 0xa
setge dl
setl bl
xor bl, dh
jne 0x459881
or dl, cl
test dl, 1
je 0x459881
lea edi, [esi + 0x30]
nop dword [eax]
mov ecx, edi
push 0xd7
call fcn.00462640
mov ecx, edi
push 0xd7
call fcn.00462640
mov ecx, dword [0x5975d8]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete cl
cmp dword [0x5975dc], 0xa
setl dl
test dl, cl
jne 0x459881
xor dl, cl
je 0x459840
cmp byte [eax], 0x31
jne 0x4598a2
lea ecx, [esi + 0x30]
push 0x2d0
call fcn.00462640
cmp byte [eax], 0x30
jne 0x4598a2
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
lea ecx, [esi + 0x30]
call fcn.0040e680
mov eax, dword [0x5976e0]
mov ecx, dword [0x5976e4]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete bl
sete byte [esi + 0x18]
mov edx, 0x341bb243
mov eax, 0x95b6c11a
cmove eax, edx
cmp ecx, 0xa
mov ecx, 0x95b6c11a
setl byte [esi + 0x30]
setl bh
cmovge eax, ecx
xor bh, bl
cmovne eax, edx
mov edi, 0xf93b175b
mov edx, 0xcdaf83c0
nop dword [eax + eax]
cmp edi, 0xf93b175a
jg 0x459920
cmp edi, 0x95b6c11a
je 0x459957
cmp edi, 0xcdaf83c0
jne 0x459900
mov edi, eax
jmp 0x459900
cmp edi, 0x341bb243
je 0x45995e
cmp edi, 0xf93b175b
jne 0x459900
movzx ebx, byte [esi + 0x18]
movzx ecx, byte [esi + 0x30]
mov bh, cl
xor bh, bl
test cl, cl
mov ecx, 0x95b6c11a
mov edi, 0x95b6c11a
cmovne edi, edx
test bl, bl
cmove edi, ecx
test bh, bh
cmovne edi, edx
jmp 0x459900
mov edi, 0xcdaf83c0
jmp 0x459900
mov eax, dword [0x5974c8]
mov ebx, dword [0x5974cc]
lea edx, [eax + 1]
imul edx, eax
mov edi, edx
xor edi, 0xfffffffe
test edi, edx
sete al
cmp ebx, 0xa
setl cl
xor cl, al
mov ecx, 0xd5434fb
mov eax, 0x44403878
cmovne eax, ecx
mov dword [esi + 0x7c], edi
test edi, edx
sete byte [esi + 0x48]
cmovne ecx, eax
mov dword [esi + 0x10], ebx
cmp ebx, 0xa
setl byte [esi + 0x18]
cmovge ecx, eax
mov dword [esi + 0xc], ecx
mov eax, 0xabcb70c5
nop
cmp eax, 0x44403877
jg 0x4599d0
cmp eax, 0xabcb70c5
je 0x4599f3
cmp eax, 0xd5434fb
jne 0x4599b0
jmp 0x459a21
cmp eax, 0x44403878
je 0x459a1a
cmp eax, 0x48a27a50
jne 0x4599b0
mov eax, 0x25bb26ac
mov ecx, 0xe6d291fb
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x70], eax
mov eax, dword [esi + 0xc]
jmp 0x4599b0
movzx ebx, byte [esi + 0x48]
movzx eax, byte [esi + 0x18]
mov ah, bl
xor ah, al
mov ecx, 0x44403878
mov edi, 0x48a27a50
cmovne ecx, edi
test al, al
mov eax, ecx
cmovne eax, edi
test bl, bl
cmove eax, ecx
jmp 0x4599b0
mov eax, 0x48a27a50
jmp 0x4599b0
test dword [esi + 0x7c], edx
mov eax, dword [esi + 0x70]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x30]
mov ecx, dword [esi + 0x34]
mov edx, dword [esi + 0x14]
mov dword [edx + 4], ecx
sete byte [esi + 0x48]
cmp dword [esi + 0x10], 0xa
setl byte [esi + 0x18]
mov dword [edx], eax
mov eax, 0xabcb70c5
mov ecx, 0x48a27a50
mov edi, 0x44403878
nop dword [eax]
cmp eax, 0x44403877
jg 0x459a80
cmp eax, 0xabcb70c5
je 0x459aa0
cmp eax, 0xd5434fb
jne 0x459a60
jmp 0x459ac9
cmp eax, 0x44403878
je 0x459ac2
cmp eax, 0x48a27a50
jne 0x459a60
mov eax, 0x1ee2ff25
mov edx, 0xab360c1
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0xc]
jmp 0x459a60
movzx ebx, byte [esi + 0x48]
movzx eax, byte [esi + 0x18]
mov bh, bl
xor bh, al
test al, al
mov eax, 0x44403878
cmovne eax, ecx
test bl, bl
cmove eax, edi
test bh, bh
cmovne eax, ecx
jmp 0x459a60
mov eax, 0x48a27a50
jmp 0x459a60
mov dword [esi + 0x28], esp
mov eax, dword [esi + 0x10]
mov dword [esi + 0x30], eax
mov dword [esi + 0x34], edx
mov eax, dword [esi + 0x30]
mov ecx, dword [esi + 0x34]
mov edi, dword [esi + 0x14]
mov dword [edi + 0xc], ecx
mov dword [edi + 8], eax
mov ecx, dword [0x597658]
mov eax, dword [0x59765c]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x24]
mov ecx, 0x5a48033f
mov ebx, 0xb0327a89
cmove ebx, ecx
sete dl
cmp eax, 0xa
mov eax, 0xb0327a89
cmovge ebx, eax
setl al
setl byte [esi + 0x60]
vmovdqa xmm0, xmmword [edi]
xor al, dl
cmovne ebx, ecx
mov dword [esi + 0x54], ebx
mov eax, 0x83f04af4
vpbroadcastq xmm1, qword [0x57fec0]
vpbroadcastq xmm2, qword [0x57fec8]
nop word cs:[eax + eax]
cmp eax, 0xe80ac46b
jle 0x459b70
cmp eax, 0xe80ac46c
je 0x45a0c8
cmp eax, 0x5a48033f
jne 0x459b50
jmp 0x45a626
cmp eax, 0x83f04af4
je 0x45a1a4
cmp eax, 0xb0327a89
jne 0x459b50
push eax
sub esp, 0xc
mov eax, esp
and eax, 0xfffffff0
mov dword [esi + 0xc], eax
mov esp, eax
mov eax, dword [0x5974c8]
mov ecx, dword [0x5974cc]
lea edx, [eax - 1]
imul edx, eax
and edx, 1
mov dword [esi + 0x2c], edx
sete byte [esi + 0x48]
sete al
mov ebx, 0x44403878
mov edx, 0xd5434fb
cmove ebx, edx
mov dword [esi + 0x70], ecx
cmp ecx, 0xa
setl byte [esi + 0x18]
setl cl
mov edi, 0x44403878
cmovge ebx, edi
xor cl, al
cmovne ebx, edx
mov dword [esi + 0x10], ebx
mov ebx, 0xabcb70c5
nop dword [eax]
cmp ebx, 0x44403877
jg 0x459c00
cmp ebx, 0xabcb70c5
je 0x459c22
cmp ebx, 0xd5434fb
jne 0x459be0
jmp 0x459c55
cmp ebx, 0x44403878
je 0x459c4e
cmp ebx, 0x48a27a50
jne 0x459be0
mov ecx, 0x83a5ce98
mov eax, 0x49da45f3
mov dword [esi + 0x7c], ecx
mov ebx, dword [esi + 0x10]
jmp 0x459be0
movzx edx, byte [esi + 0x48]
movzx ebx, byte [esi + 0x18]
mov dh, bl
xor dh, dl
test bl, bl
mov ebx, 0x44403878
mov ecx, 0x48a27a50
cmovne ebx, ecx
test dl, dl
mov edi, 0x44403878
cmove ebx, edi
test dh, dh
cmovne ebx, ecx
jmp 0x459be0
mov ebx, 0x48a27a50
jmp 0x459be0
cmp dword [esi + 0x2c], 0
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x7c]
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x30]
mov ecx, dword [esi + 0x34]
mov edx, dword [esi + 0xc]
mov dword [edx + 4], ecx
mov dword [edx], eax
sete byte [esi + 0x48]
cmp dword [esi + 0x70], 0xa
setl byte [esi + 0x18]
mov ebx, 0xabcb70c5
nop word cs:[eax + eax]
cmp ebx, 0x44403877
jg 0x459cb0
cmp ebx, 0xabcb70c5
je 0x459cd2
cmp ebx, 0xd5434fb
jne 0x459c90
jmp 0x459d05
cmp ebx, 0x44403878
je 0x459cfe
cmp ebx, 0x48a27a50
jne 0x459c90
mov ecx, 0x6a8a984c
mov eax, 0xab360c1
mov dword [esi + 0x7c], ecx
mov ebx, dword [esi + 0x10]
jmp 0x459c90
movzx edx, byte [esi + 0x48]
movzx ebx, byte [esi + 0x18]
mov dh, bl
xor dh, dl
test bl, bl
mov ebx, 0x44403878
mov ecx, 0x48a27a50
cmovne ebx, ecx
test dl, dl
mov edi, 0x44403878
cmove ebx, edi
test dh, dh
cmovne ebx, ecx
jmp 0x459c90
mov ebx, 0x48a27a50
jmp 0x459c90
cmp dword [esi + 0x2c], 0
mov ecx, dword [esi + 0x7c]
mov dword [esi + 0x30], ecx
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x30]
mov ecx, dword [esi + 0x34]
mov edx, dword [esi + 0xc]
mov dword [edx + 0xc], ecx
mov dword [edx + 8], eax
sete byte [esi + 0x48]
cmp dword [esi + 0x70], 0xa
setl byte [esi + 0x18]
mov edx, 0xabcb70c5
nop word cs:[eax + eax]
cmp edx, 0x44403877
jg 0x459d60
cmp edx, 0xabcb70c5
je 0x459d7d
cmp edx, 0xd5434fb
jne 0x459d40
jmp 0x459db0
cmp edx, 0x44403878
je 0x459da9
cmp edx, 0x48a27a50
jne 0x459d40
mov eax, dword [esi + 0xc]
xor ecx, ecx
mov dword [esi + 0x70], eax
mov edx, dword [esi + 0x10]
jmp 0x459d40
movzx ebx, byte [esi + 0x48]
movzx edx, byte [esi + 0x18]
mov bh, bl
xor bh, dl
test dl, dl
mov edx, 0x44403878
mov eax, 0x48a27a50
cmovne edx, eax
test bl, bl
mov edi, 0x44403878
cmove edx, edi
test bh, bh
cmovne edx, eax
jmp 0x459d40
mov edx, 0x48a27a50
jmp 0x459d40
mov dword [esi + 0x34], ecx
mov eax, dword [esi + 0x70]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x34]
mov eax, dword [esi + 0x30]
mov dword [esi + 0xc], eax
mov eax, dword [0x5974d0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
mov dword [esi + 0x10], eax
mov dword [esi + 0x2c], ecx
test eax, ecx
sete byte [esi + 0x48]
mov ecx, 0xad433de1
mov edi, 0x1a30b9e6
cmove ecx, edi
sete al
mov ebx, dword [0x5974d4]
mov dword [esi + 0x70], ebx
cmp ebx, 0xa
setl byte [esi + 0x18]
mov ebx, 0xad433de1
cmovge ecx, ebx
setl ah
xor ah, al
cmovne ecx, edi
mov eax, 0x1eec3208
nop word cs:[eax + eax]
cmp eax, 0x1eec3207
jg 0x459e40
cmp eax, 0xad433de1
je 0x459e75
cmp eax, 0x1a30b9e6
jne 0x459e20
jmp 0x459e87
cmp eax, 0x36f10a0d
je 0x459e7c
cmp eax, 0x1eec3208
jne 0x459e20
movzx ebx, byte [esi + 0x48]
movzx eax, byte [esi + 0x18]
mov ah, bl
xor ah, al
mov edi, 0xad433de1
mov edx, 0x36f10a0d
cmovne edi, edx
test al, al
mov eax, edi
cmovne eax, edx
test bl, bl
cmove eax, edi
jmp 0x459e20
mov eax, 0x36f10a0d
jmp 0x459e20
mov eax, dword [esi + 0xc]
vmovdqa xmm3, xmmword [eax]
mov eax, ecx
jmp 0x459e20
mov eax, dword [esi + 0x2c]
test dword [esi + 0x10], eax
vmovaps xmmword [esi + 0x30], xmm3
vmovdqa xmm3, xmmword [esi + 0x30]
sete byte [esi + 0x48]
cmp dword [esi + 0x70], 0xa
setl byte [esi + 0x18]
mov eax, 0x1eec3208
nop dword [eax + eax]
cmp eax, 0x1eec3207
jg 0x459ed0
cmp eax, 0xad433de1
je 0x459f05
cmp eax, 0x1a30b9e6
jne 0x459eb0
jmp 0x459f10
cmp eax, 0x36f10a0d
je 0x459f0c
cmp eax, 0x1eec3208
jne 0x459eb0
movzx edx, byte [esi + 0x48]
movzx eax, byte [esi + 0x18]
mov ah, dl
xor ah, al
mov edi, 0xad433de1
mov ebx, 0x36f10a0d
cmovne edi, ebx
test al, al
mov eax, edi
cmovne eax, ebx
test dl, dl
cmove eax, edi
jmp 0x459eb0
mov eax, 0x36f10a0d
jmp 0x459eb0
mov eax, ecx
jmp 0x459eb0
mov edx, dword [0x5974d8]
mov ecx, dword [0x5974dc]
lea eax, [edx + 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0xb21e9a37
mov edi, 0x84b2cb93
cmovne edx, edi
cmp eax, 0xffffffff
vmovdqa xmmword [esi + 0x30], xmm0
vmovdqa xmm4, xmmword [esi + 0x30]
sete byte [esi + 0x48]
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x18]
vpandn xmm5, xmm4, xmm1
vpandn xmm6, xmm3, xmm1
vpandn xmm4, xmm1, xmm4
vpor xmm4, xmm5, xmm4
vpandn xmm3, xmm1, xmm3
vpor xmm3, xmm6, xmm3
vpxor xmm3, xmm4, xmm3
cmovge eax, edx
mov ecx, 0xb9ddf4ac
nop word cs:[eax + eax]
cmp ecx, 0xb9ddf4ab
jg 0x459fb0
cmp ecx, 0x84b2cb93
je 0x459feb
cmp ecx, 0xb21e9a37
jne 0x459f90
mov ecx, 0x5cef02c8
jmp 0x459f90
cmp ecx, 0x5cef02c8
je 0x459fe7
cmp ecx, 0xb9ddf4ac
jne 0x459f90
movzx edx, byte [esi + 0x48]
movzx ecx, byte [esi + 0x18]
mov ch, dl
xor ch, cl
mov edi, 0xb21e9a37
mov ebx, 0x5cef02c8
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x459f90
mov ecx, eax
jmp 0x459f90
vmovdqa xmmword [esi + 0x30], xmm3
vmovdqa xmm3, xmmword [esi + 0x30]
mov eax, dword [0x5974e0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x5974e4]
sete byte [esi + 0x18]
sete dl
mov eax, 0x40939665
mov edi, 0x11e7a8d0
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x30]
setl cl
mov ebx, 0x40939665
cmovge eax, ebx
xor cl, dl
cmovne eax, edi
mov ecx, 0xc9fd8551
nop dword [eax]
cmp ecx, 0x11e7a8cf
jg 0x45a070
cmp ecx, 0xc9fd8551
je 0x45a092
cmp ecx, 0xd9ec3163
jne 0x45a040
mov ecx, dword [esi + 0x14]
vmovdqa xmmword [ecx], xmm3
vmovdqa xmm0, xmm3
mov ecx, eax
jmp 0x45a040
cmp ecx, 0x11e7a8d0
je 0x45a0be
cmp ecx, 0x40939665
jne 0x45a040
mov ecx, 0xd9ec3163
mov edx, dword [esi + 0x14]
vmovdqa xmmword [edx], xmm3
vmovdqa xmm0, xmm3
jmp 0x45a040
movzx edx, byte [esi + 0x18]
movzx ecx, byte [esi + 0x30]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x40939665
mov ebx, 0xd9ec3163
cmovne ecx, ebx
test dl, dl
mov edi, 0x40939665
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x45a040
mov eax, 0xe80ac46c
jmp 0x459b50
push eax
sub esp, 0xc
mov eax, esp
and eax, 0xfffffff0
mov dword [esi + 0xc], eax
mov esp, eax
mov eax, dword [0x5974c8]
mov ecx, dword [0x5974cc]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
mov dword [esi + 0x2c], edx
mov dword [esi + 0x7c], eax
test eax, edx
sete byte [esi + 0x48]
mov edi, 0x44403878
mov edx, 0xd5434fb
cmove edi, edx
sete al
mov dword [esi + 0x70], ecx
cmp ecx, 0xa
setl byte [esi + 0x18]
mov ecx, 0x44403878
cmovge edi, ecx
setl cl
xor cl, al
cmovne edi, edx
mov dword [esi + 0x10], edi
mov ebx, 0xabcb70c5
nop word [eax + eax]
cmp ebx, 0x44403877
jg 0x45a150
cmp ebx, 0xabcb70c5
je 0x45a172
cmp ebx, 0xd5434fb
jne 0x45a130
jmp 0x45a1ce
cmp ebx, 0x44403878
je 0x45a19d
cmp ebx, 0x48a27a50
jne 0x45a130
mov eax, 0x83a5ce98
mov ecx, 0x49da45f3
mov dword [esi + 0x68], eax
mov ebx, dword [esi + 0x10]
jmp 0x45a130
movzx eax, byte [esi + 0x48]
mov dh, byte [esi + 0x18]
mov dl, al
xor dl, dh
test dh, dh
mov ebx, 0x44403878
mov edi, 0x48a27a50
cmovne ebx, edi
test al, al
mov eax, 0x44403878
cmove ebx, eax
test dl, dl
cmovne ebx, edi
jmp 0x45a130
mov ebx, 0x48a27a50
jmp 0x45a130
movzx ecx, byte [esi + 0x24]
movzx eax, byte [esi + 0x60]
mov edx, ecx
xor dl, al
mov edx, 0xb0327a89
mov edi, 0xe80ac46c
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x459b50
mov eax, dword [esi + 0x7c]
test dword [esi + 0x2c], eax
mov dword [esi + 0x30], ecx
mov eax, dword [esi + 0x68]
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x30]
mov ecx, dword [esi + 0x34]
mov edx, dword [esi + 0xc]
mov dword [edx + 4], ecx
mov dword [edx], eax
sete byte [esi + 0x48]
cmp dword [esi + 0x70], 0xa
setl byte [esi + 0x18]
mov ebx, 0xabcb70c5
nop dword [eax]
cmp ebx, 0x44403877
jg 0x45a220
cmp ebx, 0xabcb70c5
je 0x45a242
cmp ebx, 0xd5434fb
jne 0x45a200
jmp 0x45a26f
cmp ebx, 0x44403878
je 0x45a268
cmp ebx, 0x48a27a50
jne 0x45a200
mov eax, 0x6a8a984c
mov ecx, 0xab360c1
mov dword [esi + 0x68], eax
mov ebx, dword [esi + 0x10]
jmp 0x45a200
movzx edx, byte [esi + 0x48]
mov dh, byte [esi + 0x18]
mov ebx, edx
xor bl, dh
mov edi, 0x44403878
mov eax, 0x48a27a50
cmovne edi, eax
test dh, dh
mov ebx, edi
cmovne ebx, eax
test dl, dl
cmove ebx, edi
jmp 0x45a200
mov ebx, 0x48a27a50
jmp 0x45a200
mov eax, dword [esi + 0x7c]
test dword [esi + 0x2c], eax
mov eax, dword [esi + 0x68]
mov dword [esi + 0x30], eax
mov dword [esi + 0x34], ecx
mov eax, dword [esi + 0x30]
mov ecx, dword [esi + 0x34]
mov edx, dword [esi + 0xc]
mov dword [edx + 0xc], ecx
mov dword [edx + 8], eax
sete byte [esi + 0x48]
cmp dword [esi + 0x70], 0xa
setl byte [esi + 0x18]
mov edx, 0xabcb70c5
nop
cmp edx, 0x44403877
jg 0x45a2c0
cmp edx, 0xabcb70c5
je 0x45a2dd
cmp edx, 0xd5434fb
jne 0x45a2a0
jmp 0x45a30b
cmp edx, 0x44403878
je 0x45a304
cmp edx, 0x48a27a50
jne 0x45a2a0
mov eax, dword [esi + 0xc]
xor ecx, ecx
mov dword [esi + 0x70], eax
mov edx, dword [esi + 0x10]
jmp 0x45a2a0
movzx ebx, byte [esi + 0x48]
movzx edx, byte [esi + 0x18]
mov dh, bl
xor dh, dl
mov edi, 0x44403878
mov eax, 0x48a27a50
cmovne edi, eax
test dl, dl
mov edx, edi
cmovne edx, eax
test bl, bl
cmove edx, edi
jmp 0x45a2a0
mov edx, 0x48a27a50
jmp 0x45a2a0
mov dword [esi + 0x34], ecx
mov eax, dword [esi + 0x70]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x34]
mov eax, dword [esi + 0x30]
mov dword [esi + 0xc], eax
mov eax, dword [0x5974d0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
mov dword [esi + 0x10], eax
mov dword [esi + 0x2c], ecx
test eax, ecx
sete byte [esi + 0x48]
mov ecx, 0xad433de1
mov edi, 0x1a30b9e6
cmove ecx, edi
sete al
mov ebx, dword [0x5974d4]
mov dword [esi + 0x70], ebx
cmp ebx, 0xa
setl byte [esi + 0x18]
mov ebx, 0xad433de1
cmovge ecx, ebx
setl ah
xor ah, al
cmovne ecx, edi
mov eax, 0x1eec3208
nop
cmp eax, 0x1eec3207
jg 0x45a390
cmp eax, 0xad433de1
je 0x45a3c5
cmp eax, 0x1a30b9e6
jne 0x45a370
jmp 0x45a3d7
cmp eax, 0x36f10a0d
je 0x45a3cc
cmp eax, 0x1eec3208
jne 0x45a370
movzx ebx, byte [esi + 0x48]
movzx eax, byte [esi + 0x18]
mov ah, bl
xor ah, al
mov edi, 0xad433de1
mov edx, 0x36f10a0d
cmovne edi, edx
test al, al
mov eax, edi
cmovne eax, edx
test bl, bl
cmove eax, edi
jmp 0x45a370
mov eax, 0x36f10a0d
jmp 0x45a370
mov eax, dword [esi + 0xc]
vmovdqa xmm3, xmmword [eax]
mov eax, ecx
jmp 0x45a370
mov eax, dword [esi + 0x2c]
test dword [esi + 0x10], eax
vmovaps xmmword [esi + 0x30], xmm3
vmovdqa xmm3, xmmword [esi + 0x30]
sete byte [esi + 0x48]
cmp dword [esi + 0x70], 0xa
setl byte [esi + 0x18]
mov eax, 0x1eec3208
nop dword [eax + eax]
cmp eax, 0x1eec3207
jg 0x45a420
cmp eax, 0xad433de1
je 0x45a45a
cmp eax, 0x1a30b9e6
jne 0x45a400
jmp 0x45a465
cmp eax, 0x36f10a0d
je 0x45a461
cmp eax, 0x1eec3208
jne 0x45a400
movzx edx, byte [esi + 0x48]
movzx eax, byte [esi + 0x18]
mov dh, al
xor dh, dl
test al, al
mov eax, 0xad433de1
mov ebx, 0x36f10a0d
cmovne eax, ebx
test dl, dl
mov edi, 0xad433de1
cmove eax, edi
test dh, dh
cmovne eax, ebx
jmp 0x45a400
mov eax, 0x36f10a0d
jmp 0x45a400
mov eax, ecx
jmp 0x45a400
vmovdqa xmmword [esi + 0x30], xmm0
vmovdqa xmm4, xmmword [esi + 0x30]
mov eax, dword [0x5974d8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov edx, dword [0x5974dc]
sete cl
sete byte [esi + 0x48]
mov eax, 0xb21e9a37
mov edi, 0x84b2cb93
cmove eax, edi
cmp edx, 0xa
setl dl
setl byte [esi + 0x18]
vpandn xmm5, xmm4, xmm2
vpandn xmm6, xmm3, xmm2
vpandn xmm4, xmm2, xmm4
vpor xmm4, xmm5, xmm4
vpandn xmm3, xmm2, xmm3
vpor xmm3, xmm6, xmm3
vpxor xmm3, xmm4, xmm3
mov ebx, 0xb21e9a37
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
mov ecx, 0xb9ddf4ac
nop word cs:[eax + eax]
cmp ecx, 0xb9ddf4ab
jg 0x45a500
cmp ecx, 0x84b2cb93
je 0x45a540
cmp ecx, 0xb21e9a37
jne 0x45a4e0
mov ecx, 0x5cef02c8
jmp 0x45a4e0
cmp ecx, 0x5cef02c8
je 0x45a53c
cmp ecx, 0xb9ddf4ac
jne 0x45a4e0
movzx edx, byte [esi + 0x48]
movzx ecx, byte [esi + 0x18]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0xb21e9a37
mov ebx, 0x5cef02c8
cmovne ecx, ebx
test dl, dl
mov edi, 0xb21e9a37
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x45a4e0
mov ecx, eax
jmp 0x45a4e0
vmovdqa xmmword [esi + 0x30], xmm3
vmovdqa xmm3, xmmword [esi + 0x30]
mov eax, dword [0x5974e0]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, dword [0x5974e4]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x18]
sete cl
mov eax, 0x40939665
mov edi, 0x11e7a8d0
cmove eax, edi
cmp edx, 0xa
setl byte [esi + 0x30]
setl dl
mov ebx, 0x40939665
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
mov ecx, 0xc9fd8551
nop word cs:[eax + eax]
cmp ecx, 0x11e7a8cf
jg 0x45a5d0
cmp ecx, 0xc9fd8551
je 0x45a5f2
cmp ecx, 0xd9ec3163
jne 0x45a5a0
mov ecx, dword [esi + 0x14]
vmovdqa xmmword [ecx], xmm3
vmovdqa xmm0, xmm3
mov ecx, eax
jmp 0x45a5a0
cmp ecx, 0x11e7a8d0
je 0x45a61e
cmp ecx, 0x40939665
jne 0x45a5a0
mov ecx, 0xd9ec3163
mov edx, dword [esi + 0x14]
vmovdqa xmmword [edx], xmm3
vmovdqa xmm0, xmm3
jmp 0x45a5a0
movzx edx, byte [esi + 0x18]
movzx ecx, byte [esi + 0x30]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x40939665
mov ebx, 0xd9ec3163
cmovne ecx, ebx
test dl, dl
mov edi, 0x40939665
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x45a5a0
mov eax, dword [esi + 0x54]
jmp 0x459b50
mov eax, dword [esi + 0x14]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x30]
mov esp, dword [esi + 0x28]
call fcn.00569ede
mov ecx, eax
mov edx, 0x266ebf41
imul edx
mov eax, edx
shr eax, 0x1f
sar edx, 0xe
add edx, eax
imul eax, edx, 0x1aa4e
sub ecx, eax
push ecx
push dword [esi + 0x80]
call fcn.0045e200
add esp, 8
jmp 0x457d55
mov dword [esi + 0xb8], 2
push edi
push dword [esi + 0x2c]
push dword [esi + 0x70]
call fcn.0045dcd0
add esp, 0xc
mov ecx, dword [esi + 0x2c]
call fcn.0040e680
mov eax, dword [esi + 0x80]
mov dword [eax], 3
mov dword [eax + 4], 0x4564b0
mov dword [esi + 0xb8], 3
push 0
call fcn.004026b0
mov edi, eax
mov ecx, dword [0x5976d8]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5976dc], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x45a6dc
or cl, al
test cl, 1
jne 0x45a7a4
jmp 0x45a6dc
mov ebx, dword [esi + 0x80]
mov dword [ebx + 0x10], edi
push 0x7f00
push 0
call dword [sym.imp.USER32.dll_LoadIconA]
mov dword [ebx + 0x14], eax
push 0x7f00
push 0
call dword [sym.imp.USER32.dll_LoadCursorA]
mov dword [ebx + 0x18], eax
push 0x2d2d2d
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
mov dword [ebx + 0x1c], eax
mov eax, dword [esi + 0x70]
mov dword [esi + 0x30], eax
mov edx, 0xfdfef298
mov eax, dword [esi + 0x30]
mov ecx, 0x46eeac8f
nop word cs:[eax + eax]
cmp edx, 0x46eeac8f
je 0x45a759
cmp edx, 0x2681245c
je 0x45a765
cmp edx, 0xfdfef298
jne 0x45a730
mov edx, dword [esi + 0x30]
cmp dword [edx + 0x14], 0x10
mov edx, 0x2681245c
cmovae edx, ecx
jmp 0x45a730
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
mov edx, 0x2681245c
jmp 0x45a730
mov ecx, dword [0x5976d8]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
setne cl
sete dl
cmp dword [0x5976dc], 0xa
mov ebx, dword [esi + 0x80]
mov dword [ebx + 0x24], eax
setge al
setl ah
xor ah, dl
jne 0x45a837
or al, cl
je 0x45a837
mov ebx, dword [esi + 0x80]
mov dword [ebx + 0x10], edi
push 0x7f00
push 0
call dword [sym.imp.USER32.dll_LoadIconA]
mov dword [ebx + 0x14], eax
push 0x7f00
push 0
call dword [sym.imp.USER32.dll_LoadCursorA]
mov dword [ebx + 0x18], eax
push 0x2d2d2d
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
mov dword [ebx + 0x1c], eax
mov eax, dword [esi + 0x70]
mov dword [esi + 0x30], eax
mov edx, 0xfdfef298
mov ecx, dword [esi + 0x30]
mov eax, 0x46eeac8f
jmp 0x45a800
mov ecx, dword [esi + 0x30]
mov ecx, dword [ecx]
mov edx, 0x2681245c
nop word [eax + eax]
cmp edx, 0x46eeac8f
je 0x45a7f0
cmp edx, 0x2681245c
je 0x45a829
cmp edx, 0xfdfef298
jne 0x45a800
mov edx, dword [esi + 0x30]
cmp dword [edx + 0x14], 0x10
mov edx, 0x2681245c
cmovae edx, eax
jmp 0x45a800
mov eax, dword [esi + 0x80]
mov dword [eax + 0x24], ecx
jmp 0x45a6dc
mov edi, esp
mov eax, dword [0x5976e8]
mov ecx, dword [0x5976ec]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov eax, 0xeeaf8a2
cmp eax, 0xeeaf8a1
jg 0x45a8cc
cmp eax, 0xd462d788
je 0x45a90d
cmp eax, 0xeee1d05b
jne 0x45a862
mov dword [esi + 0x88], edi
mov dword [esi + 0x84], esp
mov eax, dword [0x597660]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
cmp dword [0x597664], 0xa
setl dh
mov eax, dword [0x597668]
mov dword [esi + 0x14], eax
mov eax, dword [0x59766c]
mov dword [esi + 0x5c], eax
test dh, dl
jne 0x45a963
xor dh, dl
je 0x45aad5
jmp 0x45a963
cmp eax, 0x6c60fc45
je 0x45c882
cmp eax, 0xeeaf8a2
jne 0x45a862
movzx ecx, byte [esi + 0x24]
movzx eax, byte [esi + 0x60]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0xeee1d05b
mov ebx, 0xd462d788
cmovne eax, ebx
test cl, cl
mov ecx, 0xeee1d05b
cmove eax, ecx
test dl, dl
cmovne eax, ebx
jmp 0x45a862
mov dword [esi + 0x88], edi
mov dword [esi + 0x84], esp
mov eax, dword [0x597660]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne dl
sete al
cmp dword [0x597664], 0xa
setge dh
setl cl
xor cl, al
mov eax, dword [0x597668]
mov dword [esi + 0x14], eax
mov eax, dword [0x59766c]
mov dword [esi + 0x5c], eax
jne 0x45b877
or dh, dl
jne 0x45b9ed
jmp 0x45b877
push eax
mov dword [esi + 0xc], esp
sub esp, 8
mov eax, esp
sub esp, 8
mov ecx, esp
sub esp, 0xc
mov dword [esi + 0x2c], esp
push eax
mov dword [esi + 0x10], esp
push eax
mov dword [esi + 0x68], esp
sub esp, 0xc
mov dword [esi + 0x6c], esp
mov dword [eax], 1
mov dword [esi + 0x54], eax
mov dword [eax + 4], 0xa
mov dword [ecx], 0xf
mov dword [esi + 0x28], ecx
mov dword [ecx + 4], 0x1e
mov eax, dword [esi + 0x14]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x48]
cmp dword [esi + 0x5c], 0xa
setl byte [esi + 0x18]
mov edx, 0x4e11fdcf
cmp edx, 0xd96e7992
jg 0x45a9e4
cmp edx, 0xb1f09d23
je 0x45aa1b
cmp edx, 0xb29ab5f7
jne 0x45a9c7
jmp 0x45aa9f
cmp edx, 0xd96e7993
je 0x45aa39
cmp edx, 0x4e11fdcf
jne 0x45a9c7
movzx ebx, byte [esi + 0x48]
movzx edx, byte [esi + 0x18]
mov dh, bl
xor dh, dl
mov edi, 0xb1f09d23
mov eax, 0xd96e7993
cmovne edi, eax
test dl, dl
mov edx, edi
cmovne edx, eax
test bl, bl
cmove edx, edi
jmp 0x45a9c7
mov eax, dword [esi + 0x2c]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov edx, 0xd96e7993
jmp 0x45a9c7
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x30]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov eax, dword [esi + 0x30]
mov eax, dword [0x597668]
mov ecx, dword [0x59766c]
lea edx, [eax + 1]
mov dword [esi + 0x14], eax
imul edx, eax
mov edi, edx
xor edi, 0xfffffffe
test edi, edx
mov edx, 0xb1f09d23
mov eax, 0xb29ab5f7
cmove edx, eax
sete bl
mov dword [esi + 0x5c], ecx
cmp ecx, 0xa
mov ecx, 0xb1f09d23
cmovge edx, ecx
setl bh
xor bh, bl
cmovne edx, eax
jmp 0x45a9c7
mov edx, dword [esi + 0x30]
mov edi, dword [0x597660]
mov edx, dword [0x597664]
lea ebx, [edi - 1]
imul ebx, edi
not ebx
or ebx, 0xfffffffe
cmp ebx, 0xffffffff
sete bl
cmp edx, 0xa
setl bh
test bh, bl
jne 0x45abdc
xor bh, bl
jne 0x45abdc
push eax
sub esp, 8
mov dword [esi + 0xc], esp
mov eax, dword [esi + 0x14]
lea edi, [eax + 1]
imul edi, eax
mov ebx, edi
xor ebx, 0xfffffffe
test ebx, edi
sete byte [esi + 0x48]
cmp dword [esi + 0x5c], 0xa
setl byte [esi + 0x18]
mov edi, 0x4e11fdcf
jmp 0x45ab62
mov eax, dword [esi + 0xc]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x30]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov eax, dword [0x597668]
mov edx, dword [0x59766c]
lea edi, [eax + 1]
mov dword [esi + 0x14], eax
imul edi, eax
mov eax, edi
xor eax, 0xfffffffe
test eax, edi
sete cl
cmp edx, 0xa
setl ch
xor ch, cl
mov ecx, 0xb1f09d23
mov ebx, 0xb29ab5f7
cmovne ecx, ebx
test eax, edi
mov edi, ecx
cmove edi, ebx
mov dword [esi + 0x5c], edx
cmp edx, 0xa
cmovge edi, ecx
mov eax, dword [esi + 0x30]
cmp edi, 0xd96e7992
jg 0x45ab7c
cmp edi, 0xb1f09d23
je 0x45abb6
cmp edi, 0xb29ab5f7
jne 0x45ab62
jmp 0x45abd4
cmp edi, 0xd96e7993
je 0x45aaff
cmp edi, 0x4e11fdcf
jne 0x45ab62
movzx ecx, byte [esi + 0x48]
mov bh, byte [esi + 0x18]
mov bl, cl
xor bl, bh
mov eax, 0xb1f09d23
mov edx, 0xd96e7993
cmovne eax, edx
test bh, bh
mov edi, eax
cmovne edi, edx
test cl, cl
cmove edi, eax
jmp 0x45ab62
mov eax, dword [esi + 0xc]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov edi, 0xd96e7993
jmp 0x45ab62
mov eax, dword [esi + 0x30]
jmp 0x45a963
xor ebx, ebx
cmp ebx, 0x64
jae 0x45acc0
lea eax, [edi + 1]
imul eax, edi
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete al
cmp edx, 0xa
setl cl
test cl, al
jne 0x45ac0a
xor cl, al
je 0x45c810
mov dword [esi + 0x14], ebx
mov ecx, dword [esi + 0x28]
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov dword [esi + 0xb8], 7
push edx
push eax
push dword [esi + 0xc]
vzeroupper
call fcn.0041c660
mov ecx, dword [0x597660]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete cl
cmp dword [0x597664], 0xa
setl dl
test dl, cl
jne 0x45ac59
xor dl, cl
je 0x45c830
mov ecx, dword [esi + 0x10]
mov dword [ecx], eax
mov ecx, dword [esi + 0x54]
push dword [ecx + 4]
push dword [ecx]
push dword [esi + 0xc]
call fcn.0041c660
mov edx, dword [esi + 0x68]
mov dword [edx], eax
mov ecx, dword [esi + 0x2c]
push dword [esi + 0x10]
push edx
call fcn.004366f0
mov edi, dword [0x597660]
mov edx, dword [0x597664]
lea eax, [edi + 1]
imul eax, edi
mov ecx, eax
xor ecx, 0xfffffffe
test ecx, eax
sete ah
setne al
cmp edx, 0xa
setl ch
setge cl
mov ebx, dword [esi + 0x14]
inc ebx
cmp ch, ah
jne 0x45abde
or cl, al
je 0x45abde
jmp 0x45c850
mov eax, dword [0x597668]
mov ecx, dword [0x59766c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x48]
cmp ecx, 0xa
setl byte [esi + 0x18]
mov eax, 0x4e11fdcf
cmp eax, 0xd96e7992
jg 0x45ad02
cmp eax, 0xb1f09d23
je 0x45ad3c
cmp eax, 0xb29ab5f7
jne 0x45ace8
jmp 0x45adb8
cmp eax, 0xd96e7993
je 0x45ad5a
cmp eax, 0x4e11fdcf
jne 0x45ace8
movzx ecx, byte [esi + 0x48]
movzx eax, byte [esi + 0x18]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0xb1f09d23
mov edi, 0xd96e7993
cmovne eax, edi
test cl, cl
mov ecx, 0xb1f09d23
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x45ace8
mov eax, dword [esi + 0x6c]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov eax, 0xd96e7993
jmp 0x45ace8
mov eax, dword [esi + 0x6c]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x30]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov eax, dword [esi + 0x30]
mov eax, dword [0x597668]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0xb1f09d23
mov edi, 0xb29ab5f7
cmove eax, edi
cmp dword [0x59766c], 0xa
mov edx, 0xb1f09d23
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x45ace8
mov eax, dword [esi + 0x30]
mov eax, dword [0x597620]
mov ebx, dword [0x597624]
lea ecx, [eax - 1]
mov dword [esi + 0x28], eax
imul ecx, eax
and ecx, 1
mov dword [esi + 0x10], ecx
sete byte [esi + 0x18]
mov eax, 0xf6fc076c
mov edi, 0x549d064b
cmove eax, edi
sete cl
mov dword [esi + 0xc], ebx
cmp ebx, 0xa
setl byte [esi + 0x30]
mov ebx, 0xf6fc076c
cmovge eax, ebx
setl ch
xor ch, cl
cmovne eax, edi
mov ecx, dword [esi + 0x2c]
mov ebx, dword [ecx]
mov edi, 0x85388611
mov dword [esi + 0x5c], ebx
cmp edi, 0xf6fc076b
jle 0x45ae2a
cmp edi, 0xf6fc076c
je 0x45ae3e
cmp edi, 0x549d064b
jne 0x45ae10
jmp 0x45ae73
cmp edi, 0x85388611
je 0x45ae45
cmp edi, 0xcbffc385
jne 0x45ae10
mov edi, eax
jmp 0x45ae10
mov edi, 0xcbffc385
jmp 0x45ae10
movzx ecx, byte [esi + 0x18]
mov ch, byte [esi + 0x30]
mov bl, ch
xor bl, cl
test ch, ch
mov edi, 0xf6fc076c
mov edx, 0xcbffc385
cmovne edi, edx
test cl, cl
mov ecx, 0xf6fc076c
cmove edi, ecx
test bl, bl
mov ebx, dword [esi + 0x5c]
cmovne edi, edx
jmp 0x45ae10
cmp dword [esi + 0x10], 0
mov ecx, dword [esi + 0x2c]
mov ecx, dword [ecx + 4]
mov dword [esi + 0x8c], ecx
sete byte [esi + 0x18]
cmp dword [esi + 0xc], 0xa
setl byte [esi + 0x30]
mov edx, 0x85388611
cmp edx, 0xf6fc076b
jle 0x45aeae
cmp edx, 0xf6fc076c
je 0x45aec2
cmp edx, 0x549d064b
jne 0x45ae94
jmp 0x45aef8
cmp edx, 0x85388611
je 0x45aec9
cmp edx, 0xcbffc385
jne 0x45ae94
mov edx, eax
jmp 0x45ae94
mov edx, 0xcbffc385
jmp 0x45ae94
movzx ecx, byte [esi + 0x18]
movzx edx, byte [esi + 0x30]
mov ch, cl
xor ch, dl
test dl, dl
mov edx, 0xf6fc076c
mov ebx, 0xcbffc385
cmovne edx, ebx
test cl, cl
mov edi, 0xf6fc076c
cmove edx, edi
test ch, ch
cmovne edx, ebx
mov ebx, dword [esi + 0x5c]
jmp 0x45ae94
cmp ebx, dword [esi + 0x8c]
je 0x45b2bb
mov dword [esi + 0x5c], ebx
mov eax, dword [0x597620]
mov ecx, dword [0x597624]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
mov dword [esi + 0x10], edx
mov dword [esi + 0x14], eax
test eax, edx
sete byte [esi + 0x18]
mov ebx, 0xf6fc076c
mov edx, 0x549d064b
cmove ebx, edx
sete al
mov dword [esi + 0xc], ecx
cmp ecx, 0xa
setl byte [esi + 0x30]
mov ecx, 0xf6fc076c
cmovge ebx, ecx
setl cl
xor cl, al
cmovne ebx, edx
mov eax, dword [esi + 0x6c]
mov eax, dword [eax]
mov ecx, 0x85388611
cmp ecx, 0xf6fc076b
jle 0x45af77
cmp ecx, 0xf6fc076c
je 0x45af8b
cmp ecx, 0x549d064b
jne 0x45af5d
jmp 0x45afbf
cmp ecx, 0x85388611
je 0x45af92
cmp ecx, 0xcbffc385
jne 0x45af5d
mov ecx, ebx
jmp 0x45af5d
mov ecx, 0xcbffc385
jmp 0x45af5d
movzx edx, byte [esi + 0x18]
movzx ecx, byte [esi + 0x30]
mov ch, dl
xor ch, cl
mov edi, 0xf6fc076c
mov dword [esi + 0x28], ebx
mov ebx, 0xcbffc385
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
mov ebx, dword [esi + 0x28]
test dl, dl
cmove ecx, edi
jmp 0x45af5d
mov ecx, dword [esi + 0x14]
test dword [esi + 0x10], ecx
mov ecx, dword [esi + 0x6c]
mov ecx, dword [ecx + 4]
mov dword [esi + 0x74], ecx
sete byte [esi + 0x18]
cmp dword [esi + 0xc], 0xa
setl byte [esi + 0x30]
mov edx, 0x85388611
cmp edx, 0xf6fc076b
jle 0x45aff9
cmp edx, 0xf6fc076c
je 0x45b00d
cmp edx, 0x549d064b
jne 0x45afdf
jmp 0x45b045
cmp edx, 0x85388611
je 0x45b014
cmp edx, 0xcbffc385
jne 0x45afdf
mov edx, ebx
jmp 0x45afdf
mov edx, 0xcbffc385
jmp 0x45afdf
movzx ecx, byte [esi + 0x18]
movzx edx, byte [esi + 0x30]
mov ch, dl
xor ch, cl
test dl, dl
mov edx, 0xf6fc076c
mov edi, 0xcbffc385
cmovne edx, edi
test cl, cl
mov edi, 0xf6fc076c
cmove edx, edi
test ch, ch
mov ecx, 0xcbffc385
cmovne edx, ecx
jmp 0x45afdf
cmp eax, dword [esi + 0x74]
mov ebx, dword [esi + 0x5c]
je 0x45b272
mov ecx, dword [0x597670]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete cl
cmp dword [0x597674], 0xa
setl dl
or dl, cl
mov edx, 0xd7dad062
mov ecx, 0x94bde0a1
cmovne edx, ecx
mov dword [esi + 0x28], edx
mov edx, 0xd7dad062
mov ecx, 0xe89cf7ca
cmovne edx, ecx
mov dword [esi + 0x54], edx
mov ecx, dword [0x597660]
lea edx, [ecx + 1]
imul ecx, edx
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
sete cl
cmp dword [0x597664], 0xa
setl dl
or dl, cl
mov byte [esi + 0x90], dl
lea ecx, [ebx + 4]
mov dword [esi + 0xc], ecx
mov ecx, dword [ebx]
mov dword [esi + 0x18], ecx
mov ecx, dword [eax]
mov dword [esi + 0x30], ecx
mov ecx, 0x92406ad9
nop word cs:[eax + eax]
cmp ecx, 0xe89cf7c9
jle 0x45b105
cmp ecx, 0x4b4cf001
jg 0x45b128
cmp ecx, 0xe89cf7ca
je 0x45b143
cmp ecx, 0x111b723a
jne 0x45b0e0
jmp 0x45b188
cmp ecx, 0x92406ad9
je 0x45b14c
cmp ecx, 0x94bde0a1
je 0x45b17e
cmp ecx, 0xd7dad062
jne 0x45b0e0
mov ecx, 0xe89cf7ca
mov edx, ebx
mov edi, eax
jmp 0x45b0e0
cmp ecx, 0x4b4cf002
je 0x45b176
cmp ecx, 0x6ad0ca13
jne 0x45b0e0
mov ecx, 0x111b723a
mov edx, eax
mov edi, ebx
jmp 0x45b0e0
mov edx, ebx
mov edi, eax
mov ecx, dword [esi + 0x28]
jmp 0x45b0e0
mov ecx, dword [esi + 0x18]
cmp ecx, dword [esi + 0x30]
mov ecx, 0x4b4cf002
mov dword [esi + 0x10], edi
mov edi, eax
mov eax, ebx
mov ebx, edx
mov edx, 0x6ad0ca13
cmovl ecx, edx
mov edx, ebx
mov ebx, eax
mov eax, edi
mov edi, dword [esi + 0x10]
jmp 0x45b0e0
mov ecx, dword [esi + 0x54]
jmp 0x45b0e0
mov ecx, 0x111b723a
jmp 0x45b0e0
mov dword [esi + 0x68], edx
mov dword [esi + 0x10], edi
lea ecx, [eax + 4]
mov edx, dword [esi + 0xc]
mov edx, dword [edx]
mov dword [esi + 0x18], edx
mov edx, dword [eax + 4]
mov dword [esi + 0x30], edx
mov edx, 0x92406ad9
nop word cs:[eax + eax]
cmp edx, 0xe89cf7c9
jle 0x45b1d2
cmp edx, 0x4b4cf001
jg 0x45b1f9
cmp edx, 0xe89cf7ca
je 0x45b216
cmp edx, 0x111b723a
jne 0x45b1b0
jmp 0x45b250
cmp edx, 0x92406ad9
je 0x45b223
cmp edx, 0x94bde0a1
je 0x45b246
cmp edx, 0xd7dad062
jne 0x45b1b0
mov edx, 0xe89cf7ca
mov edi, dword [esi + 0xc]
mov dword [esi + 0x14], edi
mov edi, ecx
jmp 0x45b1b0
cmp edx, 0x4b4cf002
je 0x45b23e
cmp edx, 0x6ad0ca13
jne 0x45b1b0
mov edx, 0x111b723a
mov dword [esi + 0x14], ecx
mov edi, dword [esi + 0xc]
jmp 0x45b1b0
mov edx, dword [esi + 0xc]
mov dword [esi + 0x14], edx
mov edi, ecx
mov edx, dword [esi + 0x28]
jmp 0x45b1b0
mov edx, dword [esi + 0x18]
cmp edx, dword [esi + 0x30]
mov edx, 0x4b4cf002
mov ebx, 0x6ad0ca13
cmovl edx, ebx
mov ebx, dword [esi + 0x5c]
jmp 0x45b1b0
mov edx, dword [esi + 0x54]
jmp 0x45b1b0
mov edx, 0x111b723a
jmp 0x45b1b0
mov ecx, dword [esi + 0x68]
mov ecx, dword [ecx]
cmp ecx, dword [edi]
jle 0x45b28d
cmp byte [esi + 0x90], 0
je 0x45c880
add eax, 8
cmp eax, dword [esi + 0x74]
jne 0x45b0c2
mov dword [esi + 0xb8], 8
mov ecx, dword [esi + 0x6c]
push ebx
vzeroupper
call fcn.004369a0
mov ebx, dword [esi + 0x5c]
jmp 0x45b29c
mov ecx, dword [esi + 0x10]
mov ecx, dword [ecx]
mov dword [eax], ecx
mov ecx, dword [esi + 0x14]
mov ecx, dword [ecx]
mov dword [eax + 4], ecx
add ebx, 8
cmp ebx, dword [esi + 0x8c]
jne 0x45af04
mov eax, dword [0x597620]
mov dword [esi + 0x28], eax
mov eax, dword [0x597624]
mov dword [esi + 0xc], eax
mov ecx, dword [0x597660]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete cl
cmp dword [0x597664], 0xa
setge ch
setl dl
xor dl, cl
or ch, al
xor ch, 1
or ch, dl
mov eax, dword [esi + 0x6c]
mov eax, dword [eax]
mov dword [esi + 0x10], eax
mov byte [esi + 0x68], ch
test ch, 1
je 0x45b750
mov eax, dword [esi + 0x28]
lea ebx, [eax + 1]
imul ebx, eax
mov eax, ebx
and eax, 1
sete al
mov edi, dword [esi + 0xc]
cmp edi, 0xa
setl cl
xor cl, al
mov eax, 0xf6fc076c
mov edx, 0x549d064b
cmovne eax, edx
and ebx, 1
mov dword [esi + 0x14], ebx
sete byte [esi + 0x18]
mov ecx, eax
cmove ecx, edx
cmp edi, 0xa
setl byte [esi + 0x30]
cmovge ecx, eax
mov eax, 0x85388611
cmp eax, 0xf6fc076b
jle 0x45b354
cmp eax, 0xf6fc076c
je 0x45b366
cmp eax, 0x549d064b
jne 0x45b33d
jmp 0x45b394
cmp eax, 0x85388611
je 0x45b36d
cmp eax, 0xcbffc385
jne 0x45b33d
mov eax, ecx
jmp 0x45b33d
mov eax, 0xcbffc385
jmp 0x45b33d
movzx ebx, byte [esi + 0x18]
movzx eax, byte [esi + 0x30]
mov ah, bl
xor ah, al
mov edi, 0xf6fc076c
mov edx, 0xcbffc385
cmovne edi, edx
test al, al
mov eax, edi
cmovne eax, edx
test bl, bl
cmove eax, edi
jmp 0x45b33d
cmp dword [esi + 0x14], 0
mov eax, dword [esi + 0x6c]
mov eax, dword [eax + 4]
mov dword [esi + 0x54], eax
sete byte [esi + 0x18]
cmp dword [esi + 0xc], 0xa
setl byte [esi + 0x30]
mov ebx, 0x85388611
cmp ebx, 0xf6fc076b
jle 0x45b3cc
cmp ebx, 0xf6fc076c
je 0x45b3e0
cmp ebx, 0x549d064b
jne 0x45b3b2
jmp 0x45b413
cmp ebx, 0x85388611
je 0x45b3e7
cmp ebx, 0xcbffc385
jne 0x45b3b2
mov ebx, ecx
jmp 0x45b3b2
mov ebx, 0xcbffc385
jmp 0x45b3b2
movzx eax, byte [esi + 0x18]
movzx ebx, byte [esi + 0x30]
mov ah, bl
xor ah, al
test bl, bl
mov ebx, 0xf6fc076c
mov edi, 0xcbffc385
cmovne ebx, edi
test al, al
mov edx, 0xf6fc076c
cmove ebx, edx
test ah, ah
cmovne ebx, edi
jmp 0x45b3b2
test byte [esi + 0x68], 1
je 0x45b763
mov ecx, dword [esi + 0x10]
mov edi, dword [esi + 0x54]
cmp ecx, edi
je 0x45b57c
mov edx, edi
sub edx, ecx
add edx, 0xfffffff8
xor eax, eax
cmp edx, 0x78
jb 0x45b4f7
shr edx, 3
inc edx
mov edi, edx
xor edi, 0xf
mov dword [esi + 0xc], edx
and edi, edx
lea eax, [ecx + edi*8]
mov dword [esi + 0x28], eax
vpxor xmm0, xmm0, xmm0
xor edx, edx
mov dword [esi + 0x14], edi
vpxor xmm1, xmm1, xmm1
xor eax, eax
mov ebx, edx
or ebx, 0x40
mov ecx, dword [esi + 0x10]
vmovups ymm2, ymmword [ecx + ebx]
vmovups ymm3, ymmword [ecx + ebx + 0x20]
vmovups ymm4, ymmword [ecx + edx]
vmovups ymm5, ymmword [ecx + edx + 0x20]
vshufps ymm6, ymm4, ymm5, 0x88
vpermpd ymm6, ymm6, 0xd8
vshufps ymm7, ymm2, ymm3, 0x88
vpermpd ymm7, ymm7, 0xd8
vshufps ymm4, ymm4, ymm5, 0xdd
vpermpd ymm4, ymm4, 0xd8
vpaddd ymm0, ymm0, ymm4
vpsubd ymm0, ymm0, ymm6
vshufps ymm2, ymm2, ymm3, 0xdd
vpermpd ymm2, ymm2, 0xd8
vpaddd ymm1, ymm2, ymm1
vpsubd ymm1, ymm1, ymm7
add eax, 0x10
sub edx, 0xffffff80
add edi, 0xfffffff0
jne 0x45b460
vpaddd ymm0, ymm1, ymm0
vextracti128 xmm1, ymm0, 1
vpaddd xmm0, xmm0, xmm1
vpshufd xmm1, xmm0, 0xee
vpaddd xmm0, xmm0, xmm1
vpshufd xmm1, xmm0, 0x55
vpaddd xmm0, xmm0, xmm1
vmovd eax, xmm0
mov edx, dword [esi + 0x14]
cmp dword [esi + 0xc], edx
mov edi, dword [esi + 0x54]
mov ecx, dword [esi + 0x28]
je 0x45b505
add eax, dword [ecx + 4]
sub eax, dword [ecx]
lea edx, [ecx + 8]
mov ecx, edx
cmp edx, edi
jne 0x45b4f7
cmp eax, 0x12345678
jne 0x45b57c
push 0
push 0
vzeroupper
call dword [sym.imp.KERNEL32.dll_Beep]
mov ecx, dword [0x597660]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x597664], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x45b57c
or cl, al
test cl, 1
je 0x45b57c
push 0
push 0
mov edi, dword [sym.imp.KERNEL32.dll_Beep]
call edi
push 0
push 0
call edi
mov eax, dword [0x597660]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x597664], 0xa
setl cl
test cl, al
jne 0x45b57c
xor cl, al
je 0x45b542
mov eax, dword [0x597678]
mov ecx, dword [0x59767c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x18]
cmp ecx, 0xa
setl byte [esi + 0x30]
mov eax, 0x8dfc9453
mov edi, dword [esi + 0x88]
cmp eax, 0xddf9680e
jg 0x45b5c4
cmp eax, 0x8dfc9453
je 0x45b618
cmp eax, 0xa84f2e0c
jne 0x45b5aa
jmp 0x45b657
cmp eax, 0xddf9680f
je 0x45b642
cmp eax, 0x4d991d7a
jne 0x45b5aa
mov ecx, dword [esi + 0x6c]
vzeroupper
call fcn.0041cd30
mov eax, dword [0x597678]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0xddf9680f
mov ebx, 0xa84f2e0c
cmove eax, ebx
cmp dword [0x59767c], 0xa
mov edx, 0xddf9680f
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, ebx
jmp 0x45b5aa
movzx ecx, byte [esi + 0x18]
movzx eax, byte [esi + 0x30]
mov edx, ecx
xor dl, al
mov edx, 0xddf9680f
mov ebx, 0x4d991d7a
cmovne edx, ebx
test al, al
mov eax, edx
cmovne eax, ebx
test cl, cl
cmove eax, edx
jmp 0x45b5aa
mov ecx, dword [esi + 0x6c]
vzeroupper
call fcn.0041cd30
mov eax, 0x4d991d7a
jmp 0x45b5aa
mov eax, dword [0x597678]
mov ecx, dword [0x59767c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x18]
cmp ecx, 0xa
setl byte [esi + 0x30]
mov eax, 0x8dfc9453
cmp eax, 0xddf9680e
jg 0x45b699
cmp eax, 0x8dfc9453
je 0x45b6fc
cmp eax, 0xa84f2e0c
jne 0x45b67f
jmp 0x45b740
cmp eax, 0xddf9680f
je 0x45b72b
cmp eax, 0x4d991d7a
jne 0x45b67f
mov ecx, dword [esi + 0x2c]
vzeroupper
call fcn.0041cd30
mov edx, dword [0x597678]
mov ecx, dword [0x59767c]
lea eax, [edx + 1]
imul eax, edx
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov edi, 0xddf9680f
mov ebx, 0xa84f2e0c
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
mov edi, dword [esi + 0x88]
jmp 0x45b67f
movzx ecx, byte [esi + 0x18]
movzx eax, byte [esi + 0x30]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0xddf9680f
mov ebx, 0x4d991d7a
cmovne eax, ebx
test cl, cl
mov ecx, 0xddf9680f
cmove eax, ecx
test dl, dl
cmovne eax, ebx
jmp 0x45b67f
mov ecx, dword [esi + 0x2c]
vzeroupper
call fcn.0041cd30
mov eax, 0x4d991d7a
jmp 0x45b67f
mov eax, 0xd462d788
mov esp, dword [esi + 0x84]
jmp 0x45a862
mov ecx, dword [esi + 0x28]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
and ecx, eax
mov dword [esi + 0x14], ecx
mov ebx, dword [esi + 0x14]
test ebx, ebx
sete al
mov edi, dword [esi + 0xc]
cmp edi, 0xa
setl cl
xor cl, al
mov ecx, 0xf6fc076c
mov edx, 0x549d064b
cmovne ecx, edx
test ebx, ebx
sete byte [esi + 0x18]
mov eax, ecx
cmove eax, edx
cmp edi, 0xa
setl byte [esi + 0x30]
cmovge eax, ecx
mov ecx, 0x85388611
jmp 0x45b7c9
movzx edx, byte [esi + 0x18]
movzx ecx, byte [esi + 0x30]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0xf6fc076c
mov ebx, 0xcbffc385
cmovne ecx, ebx
test dl, dl
mov edi, 0xf6fc076c
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
cmp ecx, 0xf6fc076b
jle 0x45b7e3
cmp ecx, 0xf6fc076c
je 0x45b7f7
cmp ecx, 0x549d064b
jne 0x45b7c9
jmp 0x45b7fe
cmp ecx, 0x85388611
je 0x45b79f
cmp ecx, 0xcbffc385
jne 0x45b7c9
mov ecx, eax
jmp 0x45b7c9
mov ecx, 0xcbffc385
jmp 0x45b7c9
cmp dword [esi + 0x14], 0
sete byte [esi + 0x18]
cmp dword [esi + 0xc], 0xa
setl byte [esi + 0x30]
mov ecx, 0x85388611
cmp ecx, 0xf6fc076b
jg 0x45b82f
cmp ecx, 0x85388611
je 0x45b844
cmp ecx, 0xcbffc385
jne 0x45b813
mov ecx, eax
jmp 0x45b813
cmp ecx, 0xf6fc076c
je 0x45b870
cmp ecx, 0x549d064b
jne 0x45b813
jmp 0x45b2f6
movzx edx, byte [esi + 0x18]
movzx ecx, byte [esi + 0x30]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0xf6fc076c
mov ebx, 0xcbffc385
cmovne ecx, ebx
test dl, dl
mov edi, 0xf6fc076c
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x45b813
mov ecx, 0xcbffc385
jmp 0x45b813
push eax
mov dword [esi + 0xc], esp
sub esp, 8
mov eax, esp
sub esp, 8
mov ecx, esp
sub esp, 0xc
mov dword [esi + 0x2c], esp
push eax
mov dword [esi + 0x10], esp
push eax
mov dword [esi + 0x68], esp
sub esp, 0xc
mov dword [esi + 0x6c], esp
mov dword [eax], 1
mov dword [esi + 0x54], eax
mov dword [eax + 4], 0xa
mov dword [ecx], 0xf
mov dword [esi + 0x28], ecx
mov dword [ecx + 4], 0x1e
mov eax, dword [esi + 0x14]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x48]
cmp dword [esi + 0x5c], 0xa
setl byte [esi + 0x18]
mov edx, 0x4e11fdcf
cmp edx, 0xd96e7992
jg 0x45b8f8
cmp edx, 0xb1f09d23
je 0x45b934
cmp edx, 0xb29ab5f7
jne 0x45b8db
jmp 0x45b9b8
cmp edx, 0xd96e7993
je 0x45b952
cmp edx, 0x4e11fdcf
jne 0x45b8db
movzx ebx, byte [esi + 0x48]
movzx edx, byte [esi + 0x18]
mov bh, dl
xor bh, bl
test dl, dl
mov edx, 0xb1f09d23
mov ecx, 0xd96e7993
cmovne edx, ecx
test bl, bl
mov eax, 0xb1f09d23
cmove edx, eax
test bh, bh
cmovne edx, ecx
jmp 0x45b8db
mov eax, dword [esi + 0x2c]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov edx, 0xd96e7993
jmp 0x45b8db
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x30]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov eax, dword [esi + 0x30]
mov eax, dword [0x597668]
mov ecx, dword [0x59766c]
lea edx, [eax + 1]
mov dword [esi + 0x14], eax
imul edx, eax
mov edi, edx
xor edi, 0xfffffffe
test edi, edx
mov edx, 0xb1f09d23
mov eax, 0xb29ab5f7
cmove edx, eax
sete bl
mov dword [esi + 0x5c], ecx
cmp ecx, 0xa
mov edi, 0xb1f09d23
cmovge edx, edi
setl bh
xor bh, bl
cmovne edx, eax
jmp 0x45b8db
mov edx, dword [esi + 0x30]
mov edx, dword [0x597660]
mov edi, dword [0x597664]
lea ecx, [edx + 1]
imul ecx, edx
mov ebx, ecx
xor ebx, 0xfffffffe
test ebx, ecx
sete bl
cmp edi, 0xa
setl bh
test bh, bl
jne 0x45baf5
xor bh, bl
jne 0x45baf5
push eax
sub esp, 8
mov edx, esp
mov eax, dword [esi + 0x14]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x48]
cmp dword [esi + 0x5c], 0xa
setl byte [esi + 0x18]
mov edi, 0x4e11fdcf
jmp 0x45ba7e
mov dword [esi + 0x30], edx
mov eax, dword [esi + 0x30]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov eax, dword [esi + 0x30]
mov eax, dword [0x597668]
mov ebx, edx
mov edx, dword [0x59766c]
lea ecx, [eax + 1]
mov dword [esi + 0x14], eax
imul ecx, eax
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
mov edi, 0xb1f09d23
mov eax, 0xb29ab5f7
cmove edi, eax
sete cl
mov dword [esi + 0x5c], edx
cmp edx, 0xa
mov edx, ebx
mov eax, 0xb1f09d23
cmovge edi, eax
setl ch
xor ch, cl
mov eax, 0xb29ab5f7
cmovne edi, eax
cmp edi, 0xd96e7992
jg 0x45ba98
cmp edi, 0xb1f09d23
je 0x45bad2
cmp edi, 0xb29ab5f7
jne 0x45ba7e
jmp 0x45baed
cmp edi, 0xd96e7993
je 0x45ba17
cmp edi, 0x4e11fdcf
jne 0x45ba7e
movzx ecx, byte [esi + 0x48]
mov ch, byte [esi + 0x18]
mov ebx, ecx
xor bl, ch
mov ebx, 0xb1f09d23
mov eax, 0xd96e7993
cmovne ebx, eax
test ch, ch
mov edi, ebx
cmovne edi, eax
test cl, cl
cmove edi, ebx
jmp 0x45ba7e
mov dword [edx], 0
mov dword [edx + 4], 0
mov dword [edx + 8], 0
mov edi, 0xd96e7993
jmp 0x45ba7e
mov ecx, dword [esi + 0x30]
jmp 0x45b877
xor ebx, ebx
cmp ebx, 0x64
jae 0x45bbd4
lea eax, [edx + 1]
imul eax, edx
test al, 1
sete dl
cmp edi, 0xa
setge cl
setl ch
xor ch, dl
jne 0x45bb23
or cl, al
test cl, 1
jne 0x45c820
mov dword [esi + 0x14], ebx
mov ecx, dword [esi + 0x28]
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov dword [esi + 0xb8], 9
push edx
push eax
push dword [esi + 0xc]
vzeroupper
call fcn.0041c660
mov edx, dword [0x597660]
lea ecx, [edx + 1]
imul ecx, edx
test cl, 1
sete dh
cmp dword [0x597664], 0xa
setl bl
setge dl
cmp bl, dh
jne 0x45bb73
or dl, cl
test dl, 1
jne 0x45c840
mov ecx, dword [esi + 0x10]
mov dword [ecx], eax
mov ecx, dword [esi + 0x54]
push dword [ecx + 4]
push dword [ecx]
push dword [esi + 0xc]
call fcn.0041c660
mov edx, dword [esi + 0x68]
mov dword [edx], eax
mov ecx, dword [esi + 0x2c]
push dword [esi + 0x10]
push edx
call fcn.004366f0
mov edx, dword [0x597660]
lea eax, [edx + 1]
imul eax, edx
mov ecx, eax
xor ecx, 0xfffffffe
test ecx, eax
mov edi, dword [0x597664]
sete al
cmp edi, 0xa
setl cl
mov ebx, dword [esi + 0x14]
inc ebx
test cl, al
jne 0x45baf7
xor cl, al
jne 0x45baf7
jmp 0x45c860
mov eax, dword [0x597668]
mov ecx, dword [0x59766c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x48]
cmp ecx, 0xa
setl byte [esi + 0x18]
mov eax, 0x4e11fdcf
cmp eax, 0xd96e7992
jg 0x45bc16
cmp eax, 0xb1f09d23
je 0x45bc4b
cmp eax, 0xb29ab5f7
jne 0x45bbfc
jmp 0x45bccc
cmp eax, 0xd96e7993
je 0x45bc69
cmp eax, 0x4e11fdcf
jne 0x45bbfc
movzx ecx, byte [esi + 0x48]
movzx eax, byte [esi + 0x18]
mov edx, ecx
xor dl, al
mov edx, 0xb1f09d23
mov edi, 0xd96e7993
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x45bbfc
mov eax, dword [esi + 0x6c]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov eax, 0xd96e7993
jmp 0x45bbfc
mov eax, dword [esi + 0x6c]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x30]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov edx, dword [0x597668]
mov ecx, dword [0x59766c]
lea eax, [edx + 1]
imul eax, edx
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov edi, 0xb1f09d23
mov ebx, 0xb29ab5f7
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
mov ecx, dword [esi + 0x30]
jmp 0x45bbfc
mov eax, dword [0x597620]
mov ecx, dword [0x597624]
lea edx, [eax + 1]
mov dword [esi + 0x14], eax
imul edx, eax
mov edi, edx
xor edi, 0xfffffffe
test edi, edx
sete al
cmp ecx, 0xa
setl ah
xor ah, al
mov ebx, 0xf6fc076c
mov eax, 0x549d064b
cmovne ebx, eax
mov dword [esi + 0x28], edi
test edi, edx
mov eax, dword [esi + 0x30]
sete byte [esi + 0x18]
mov eax, ebx
mov edi, 0x549d064b
cmove eax, edi
mov dword [esi + 0xc], ecx
cmp ecx, 0xa
setl byte [esi + 0x30]
cmovge eax, ebx
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x2c]
mov eax, dword [eax]
mov dword [esi + 0x5c], eax
mov ebx, 0x85388611
cmp ebx, 0xf6fc076b
jle 0x45bd4c
cmp ebx, 0xf6fc076c
je 0x45bd61
cmp ebx, 0x549d064b
jne 0x45bd32
jmp 0x45bd93
cmp ebx, 0x85388611
je 0x45bd68
cmp ebx, 0xcbffc385
jne 0x45bd32
mov ebx, dword [esi + 0x10]
jmp 0x45bd32
mov ebx, 0xcbffc385
jmp 0x45bd32
movzx eax, byte [esi + 0x18]
mov ch, byte [esi + 0x30]
mov cl, al
xor cl, ch
test ch, ch
mov ebx, 0xf6fc076c
mov edi, 0xcbffc385
cmovne ebx, edi
test al, al
mov eax, 0xf6fc076c
cmove ebx, eax
test cl, cl
cmovne ebx, edi
jmp 0x45bd32
test dword [esi + 0x28], edx
mov eax, dword [esi + 0x2c]
mov eax, dword [eax + 4]
mov dword [esi + 0x8c], eax
sete byte [esi + 0x18]
cmp dword [esi + 0xc], 0xa
setl byte [esi + 0x30]
mov edx, 0x85388611
mov ebx, dword [esi + 0x5c]
cmp edx, 0xf6fc076b
jle 0x45bdd0
cmp edx, 0xf6fc076c
je 0x45bde5
cmp edx, 0x549d064b
jne 0x45bdb6
jmp 0x45be16
cmp edx, 0x85388611
je 0x45bdec
cmp edx, 0xcbffc385
jne 0x45bdb6
mov edx, dword [esi + 0x10]
jmp 0x45bdb6
mov edx, 0xcbffc385
jmp 0x45bdb6
movzx eax, byte [esi + 0x18]
movzx ecx, byte [esi + 0x30]
mov edx, eax
xor dl, cl
mov edi, 0xf6fc076c
mov ebx, 0xcbffc385
cmovne edi, ebx
test cl, cl
mov edx, edi
cmovne edx, ebx
mov ebx, dword [esi + 0x5c]
test al, al
cmove edx, edi
jmp 0x45bdb6
cmp ebx, dword [esi + 0x8c]
je 0x45c1db
mov eax, dword [0x597620]
mov edi, dword [0x597624]
mov dword [esi + 0x10], edi
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete ch
cmp edi, 0xa
setl cl
xor cl, ch
mov ecx, 0xf6fc076c
mov edi, 0x549d064b
cmovne ecx, edi
mov dword [esi + 0x14], edx
mov dword [esi + 0x28], eax
test eax, edx
sete byte [esi + 0x18]
mov edx, ecx
cmove edx, edi
cmp dword [esi + 0x10], 0xa
setl byte [esi + 0x30]
cmovge edx, ecx
mov dword [esi + 0xc], edx
mov eax, dword [esi + 0x6c]
mov eax, dword [eax]
mov ecx, 0x85388611
mov dword [esi + 0x5c], ebx
cmp ecx, 0xf6fc076b
jle 0x45be9b
cmp ecx, 0xf6fc076c
je 0x45beb0
cmp ecx, 0x549d064b
jne 0x45be81
jmp 0x45bee1
cmp ecx, 0x85388611
je 0x45beb7
cmp ecx, 0xcbffc385
jne 0x45be81
mov ecx, dword [esi + 0xc]
jmp 0x45be81
mov ecx, 0xcbffc385
jmp 0x45be81
movzx edx, byte [esi + 0x18]
movzx ecx, byte [esi + 0x30]
mov ch, dl
xor ch, cl
mov ebx, 0xf6fc076c
mov edi, 0xcbffc385
cmovne ebx, edi
test cl, cl
mov ecx, ebx
cmovne ecx, edi
test dl, dl
cmove ecx, ebx
mov ebx, dword [esi + 0x5c]
jmp 0x45be81
mov ecx, dword [esi + 0x28]
test dword [esi + 0x14], ecx
mov ecx, dword [esi + 0x6c]
mov ecx, dword [ecx + 4]
mov dword [esi + 0x74], ecx
sete byte [esi + 0x18]
cmp dword [esi + 0x10], 0xa
setl byte [esi + 0x30]
mov edx, 0x85388611
cmp edx, 0xf6fc076b
jle 0x45bf1b
cmp edx, 0xf6fc076c
je 0x45bf30
cmp edx, 0x549d064b
jne 0x45bf01
jmp 0x45bf66
cmp edx, 0x85388611
je 0x45bf37
cmp edx, 0xcbffc385
jne 0x45bf01
mov edx, dword [esi + 0xc]
jmp 0x45bf01
mov edx, 0xcbffc385
jmp 0x45bf01
movzx ecx, byte [esi + 0x18]
movzx edx, byte [esi + 0x30]
mov ch, cl
xor ch, dl
test dl, dl
mov edx, 0xf6fc076c
mov ebx, 0xcbffc385
cmovne edx, ebx
test cl, cl
mov edi, 0xf6fc076c
cmove edx, edi
test ch, ch
cmovne edx, ebx
mov ebx, dword [esi + 0x5c]
jmp 0x45bf01
cmp eax, dword [esi + 0x74]
je 0x45c192
mov ecx, dword [0x597670]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete cl
cmp dword [0x597674], 0xa
setl dl
or dl, cl
mov edx, 0xd7dad062
mov ecx, 0x94bde0a1
cmovne edx, ecx
mov dword [esi + 0x28], edx
mov edx, 0xd7dad062
mov ecx, 0xe89cf7ca
cmovne edx, ecx
mov dword [esi + 0x54], edx
mov ecx, dword [0x597660]
lea edx, [ecx + 1]
imul ecx, edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
setne cl
cmp dword [0x597664], 0xa
setge ch
mov dl, ch
xor dl, cl
or ch, cl
xor ch, 1
or ch, dl
mov byte [esi + 0x90], ch
lea ecx, [ebx + 4]
mov dword [esi + 0xc], ecx
mov ecx, dword [ebx]
mov dword [esi + 0x18], ecx
mov ecx, dword [eax]
mov dword [esi + 0x30], ecx
mov ecx, 0x92406ad9
nop dword [eax]
cmp ecx, 0xe89cf7c9
jle 0x45c025
cmp ecx, 0x4b4cf001
jg 0x45c048
cmp ecx, 0xe89cf7ca
je 0x45c063
cmp ecx, 0x111b723a
jne 0x45c000
jmp 0x45c0a8
cmp ecx, 0x92406ad9
je 0x45c06c
cmp ecx, 0x94bde0a1
je 0x45c09e
cmp ecx, 0xd7dad062
jne 0x45c000
mov ecx, 0xe89cf7ca
mov edx, ebx
mov edi, eax
jmp 0x45c000
cmp ecx, 0x4b4cf002
je 0x45c096
cmp ecx, 0x6ad0ca13
jne 0x45c000
mov ecx, 0x111b723a
mov edx, eax
mov edi, ebx
jmp 0x45c000
mov edx, ebx
mov edi, eax
mov ecx, dword [esi + 0x28]
jmp 0x45c000
mov ecx, dword [esi + 0x18]
cmp ecx, dword [esi + 0x30]
mov ecx, 0x4b4cf002
mov dword [esi + 0x10], edi
mov edi, eax
mov eax, ebx
mov ebx, edx
mov edx, 0x6ad0ca13
cmovl ecx, edx
mov edx, ebx
mov ebx, eax
mov eax, edi
mov edi, dword [esi + 0x10]
jmp 0x45c000
mov ecx, dword [esi + 0x54]
jmp 0x45c000
mov ecx, 0x111b723a
jmp 0x45c000
mov dword [esi + 0x68], edx
mov dword [esi + 0x10], edi
lea ecx, [eax + 4]
mov edx, dword [esi + 0xc]
mov edx, dword [edx]
mov dword [esi + 0x18], edx
mov edx, dword [eax + 4]
mov dword [esi + 0x30], edx
mov edx, 0x92406ad9
nop word cs:[eax + eax]
cmp edx, 0xe89cf7c9
jle 0x45c0f2
cmp edx, 0x4b4cf001
jg 0x45c119
cmp edx, 0xe89cf7ca
je 0x45c136
cmp edx, 0x111b723a
jne 0x45c0d0
jmp 0x45c170
cmp edx, 0x92406ad9
je 0x45c143
cmp edx, 0x94bde0a1
je 0x45c166
cmp edx, 0xd7dad062
jne 0x45c0d0
mov edx, 0xe89cf7ca
mov edi, dword [esi + 0xc]
mov dword [esi + 0x14], edi
mov edi, ecx
jmp 0x45c0d0
cmp edx, 0x4b4cf002
je 0x45c15e
cmp edx, 0x6ad0ca13
jne 0x45c0d0
mov edx, 0x111b723a
mov dword [esi + 0x14], ecx
mov edi, dword [esi + 0xc]
jmp 0x45c0d0
mov edx, dword [esi + 0xc]
mov dword [esi + 0x14], edx
mov edi, ecx
mov edx, dword [esi + 0x28]
jmp 0x45c0d0
mov edx, dword [esi + 0x18]
cmp edx, dword [esi + 0x30]
mov edx, 0x4b4cf002
mov ebx, 0x6ad0ca13
cmovl edx, ebx
mov ebx, dword [esi + 0x5c]
jmp 0x45c0d0
mov edx, dword [esi + 0x54]
jmp 0x45c0d0
mov edx, 0x111b723a
jmp 0x45c0d0
mov ecx, dword [esi + 0x68]
mov ecx, dword [ecx]
cmp ecx, dword [edi]
jle 0x45c1ad
cmp byte [esi + 0x90], 0
je 0x45c870
add eax, 8
cmp eax, dword [esi + 0x74]
jne 0x45bfea
mov dword [esi + 0xb8], 0xa
mov ecx, dword [esi + 0x6c]
push ebx
vzeroupper
call fcn.004369a0
mov ebx, dword [esi + 0x5c]
jmp 0x45c1bc
mov ecx, dword [esi + 0x10]
mov ecx, dword [ecx]
mov dword [eax], ecx
mov ecx, dword [esi + 0x14]
mov ecx, dword [ecx]
mov dword [eax + 4], ecx
add ebx, 8
cmp ebx, dword [esi + 0x8c]
jne 0x45be22
mov eax, dword [0x597620]
mov dword [esi + 0x14], eax
mov eax, dword [0x597624]
mov dword [esi + 0xc], eax
mov eax, dword [0x597660]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x597664], 0xa
setl cl
or cl, al
mov byte [esi + 0x54], cl
mov eax, dword [esi + 0x6c]
mov eax, dword [eax]
mov dword [esi + 0x10], eax
je 0x45c367
mov eax, dword [esi + 0x14]
lea edi, [eax + 1]
imul edi, eax
mov eax, edi
and eax, 1
sete al
mov ebx, dword [esi + 0xc]
cmp ebx, 0xa
setl cl
xor cl, al
mov edx, 0xf6fc076c
mov ecx, 0x549d064b
cmovne edx, ecx
and edi, 1
sete byte [esi + 0x18]
mov eax, edx
cmove eax, ecx
cmp ebx, 0xa
setl byte [esi + 0x30]
cmovge eax, edx
mov edx, 0x85388611
cmp edx, 0xf6fc076b
jle 0x45c26c
cmp edx, 0xf6fc076c
je 0x45c280
cmp edx, 0x549d064b
jne 0x45c252
jmp 0x45c2b8
cmp edx, 0x85388611
je 0x45c287
cmp edx, 0xcbffc385
jne 0x45c252
mov edx, eax
jmp 0x45c252
mov edx, 0xcbffc385
jmp 0x45c252
movzx ecx, byte [esi + 0x18]
movzx edx, byte [esi + 0x30]
mov ch, cl
xor ch, dl
mov ebx, 0xf6fc076c
mov dword [esi + 0x28], eax
mov eax, edi
mov edi, 0xcbffc385
cmovne ebx, edi
test dl, dl
mov edx, ebx
cmovne edx, edi
mov edi, eax
mov eax, dword [esi + 0x28]
test cl, cl
cmove edx, ebx
jmp 0x45c252
test edi, edi
mov ecx, dword [esi + 0x6c]
mov ecx, dword [ecx + 4]
mov dword [esi + 0x28], ecx
sete byte [esi + 0x18]
cmp dword [esi + 0xc], 0xa
setl byte [esi + 0x30]
mov edx, 0x85388611
cmp edx, 0xf6fc076b
jle 0x45c2ee
cmp edx, 0xf6fc076c
je 0x45c302
cmp edx, 0x549d064b
jne 0x45c2d4
jmp 0x45c33a
cmp edx, 0x85388611
je 0x45c309
cmp edx, 0xcbffc385
jne 0x45c2d4
mov edx, eax
jmp 0x45c2d4
mov edx, 0xcbffc385
jmp 0x45c2d4
movzx ecx, byte [esi + 0x18]
movzx edx, byte [esi + 0x30]
mov ch, cl
xor ch, dl
test dl, dl
mov edx, 0xf6fc076c
mov ebx, 0xcbffc385
cmovne edx, ebx
test cl, cl
mov ebx, 0xf6fc076c
cmove edx, ebx
test ch, ch
mov ecx, 0xcbffc385
cmovne edx, ecx
jmp 0x45c2d4
cmp byte [esi + 0x54], 0
je 0x45c377
mov eax, dword [esi + 0x10]
mov edx, dword [esi + 0x28]
cmp eax, edx
je 0x45c5f8
mov ebx, edx
sub ebx, eax
add ebx, 0xfffffff8
xor ecx, ecx
cmp ebx, 0x78
jae 0x45c48b
mov edi, eax
jmp 0x45c56f
mov ecx, dword [esi + 0x14]
lea eax, [ecx + 1]
imul eax, ecx
mov edi, eax
xor edi, 0xfffffffe
and edi, eax
test edi, edi
sete al
mov ebx, dword [esi + 0xc]
cmp ebx, 0xa
setl cl
xor cl, al
mov ecx, 0xf6fc076c
mov edx, 0x549d064b
cmovne ecx, edx
test edi, edi
sete byte [esi + 0x18]
mov eax, ecx
cmove eax, edx
cmp ebx, 0xa
setl byte [esi + 0x30]
cmovge eax, ecx
mov dword [esi + 0x28], eax
mov edx, 0x85388611
jmp 0x45c3dd
movzx ecx, byte [esi + 0x18]
movzx edx, byte [esi + 0x30]
mov ch, dl
xor ch, cl
test dl, dl
mov edx, 0xf6fc076c
mov eax, 0xcbffc385
cmovne edx, eax
test cl, cl
mov ebx, 0xf6fc076c
cmove edx, ebx
test ch, ch
cmovne edx, eax
cmp edx, 0xf6fc076b
jle 0x45c3f7
cmp edx, 0xf6fc076c
je 0x45c40c
cmp edx, 0x549d064b
jne 0x45c3dd
jmp 0x45c413
cmp edx, 0x85388611
je 0x45c3b3
cmp edx, 0xcbffc385
jne 0x45c3dd
mov edx, dword [esi + 0x28]
jmp 0x45c3dd
mov edx, 0xcbffc385
jmp 0x45c3dd
test edi, edi
sete byte [esi + 0x18]
cmp dword [esi + 0xc], 0xa
setl byte [esi + 0x30]
mov edx, 0x85388611
cmp edx, 0xf6fc076b
jg 0x45c443
cmp edx, 0x85388611
je 0x45c458
cmp edx, 0xcbffc385
jne 0x45c426
mov edx, dword [esi + 0x28]
jmp 0x45c426
cmp edx, 0xf6fc076c
je 0x45c484
cmp edx, 0x549d064b
jne 0x45c426
jmp 0x45c20e
movzx ecx, byte [esi + 0x18]
movzx edx, byte [esi + 0x30]
mov ch, dl
xor ch, cl
test dl, dl
mov edx, 0xf6fc076c
mov eax, 0xcbffc385
cmovne edx, eax
test cl, cl
mov edi, 0xf6fc076c
cmove edx, edi
test ch, ch
cmovne edx, eax
jmp 0x45c426
mov edx, 0xcbffc385
jmp 0x45c426
shr ebx, 3
inc ebx
mov dword [esi + 0x54], ebx
and ebx, 0xfffffff0
lea ecx, [eax + ebx*8]
mov dword [esi + 0x14], ecx
vpxor xmm0, xmm0, xmm0
xor edx, edx
mov eax, 0xffffffff
vpxor xmm1, xmm1, xmm1
mov dword [esi + 0x68], ebx
mov dword [esi + 0xc], 0
mov ecx, eax
and ecx, 0x77c6a806
mov edi, edx
and edi, 0x883957f9
or edi, ecx
mov ecx, eax
not ecx
xor edi, 0x77c6a846
and ecx, 0x40
or ecx, edi
mov edi, dword [esi + 0x10]
vmovups ymm2, ymmword [edi + ecx]
vmovups ymm3, ymmword [edi + ecx + 0x20]
vmovups ymm4, ymmword [edi + edx]
vmovups ymm5, ymmword [edi + edx + 0x20]
vshufps ymm6, ymm4, ymm5, 0x88
vpermpd ymm6, ymm6, 0xd8
vshufps ymm7, ymm2, ymm3, 0x88
vpermpd ymm7, ymm7, 0xd8
vshufps ymm4, ymm4, ymm5, 0xdd
vpermpd ymm4, ymm4, 0xd8
vpaddd ymm0, ymm4, ymm0
vpsubd ymm0, ymm0, ymm6
vshufps ymm2, ymm2, ymm3, 0xdd
vpermpd ymm2, ymm2, 0xd8
vpaddd ymm1, ymm2, ymm1
vpsubd ymm1, ymm1, ymm7
add dword [esi + 0xc], 0x10
sub edx, 0xffffff80
add eax, 0xffffff80
add ebx, 0xfffffff0
jne 0x45c4b4
vpaddd ymm0, ymm0, ymm1
vextracti128 xmm1, ymm0, 1
vpaddd xmm0, xmm1, xmm0
vpshufd xmm1, xmm0, 0xee
vpaddd xmm0, xmm0, xmm1
vpshufd xmm1, xmm0, 0x55
vpaddd xmm0, xmm0, xmm1
vmovd ecx, xmm0
mov eax, dword [esi + 0x68]
cmp dword [esi + 0x54], eax
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x14]
je 0x45c57d
add ecx, dword [edi + 4]
sub ecx, dword [edi]
lea eax, [edi + 8]
mov edi, eax
cmp eax, edx
jne 0x45c56f
cmp ecx, 0x12345678
jne 0x45c5f8
push 0
push 0
vzeroupper
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, dword [0x597660]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x597664], 0xa
setl cl
test cl, al
jne 0x45c5f8
xor cl, al
jne 0x45c5f8
push 0
push 0
mov edi, dword [sym.imp.KERNEL32.dll_Beep]
call edi
push 0
push 0
call edi
mov eax, dword [0x597660]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x597664], 0xa
setge cl
setl ah
xor ah, dl
jne 0x45c5f8
or cl, al
jne 0x45c5b9
mov eax, dword [0x597678]
mov ecx, dword [0x59767c]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x18]
cmp ecx, 0xa
setl byte [esi + 0x30]
mov eax, 0x8dfc9453
cmp eax, 0xddf9680e
jg 0x45c63b
cmp eax, 0x8dfc9453
je 0x45c698
cmp eax, 0xa84f2e0c
jne 0x45c621
jmp 0x45c6dc
cmp eax, 0xddf9680f
je 0x45c6c7
cmp eax, 0x4d991d7a
jne 0x45c621
mov ecx, dword [esi + 0x6c]
vzeroupper
call fcn.0041cd30
mov edx, dword [0x597678]
mov ecx, dword [0x59767c]
lea eax, [edx + 1]
imul eax, edx
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov edi, 0xddf9680f
mov ebx, 0xa84f2e0c
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
jmp 0x45c621
movzx ecx, byte [esi + 0x18]
movzx eax, byte [esi + 0x30]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0xddf9680f
mov edi, 0x4d991d7a
cmovne eax, edi
test cl, cl
mov ecx, 0xddf9680f
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x45c621
mov ecx, dword [esi + 0x6c]
vzeroupper
call fcn.0041cd30
mov eax, 0x4d991d7a
jmp 0x45c621
mov eax, dword [0x597678]
mov ecx, dword [0x59767c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x18]
cmp ecx, 0xa
setl byte [esi + 0x30]
mov eax, 0x8dfc9453
cmp eax, 0xddf9680e
jg 0x45c71e
cmp eax, 0x8dfc9453
je 0x45c779
cmp eax, 0xa84f2e0c
jne 0x45c704
jmp 0x45c7b8
cmp eax, 0xddf9680f
je 0x45c7a3
cmp eax, 0x4d991d7a
jne 0x45c704
mov ecx, dword [esi + 0x2c]
vzeroupper
call fcn.0041cd30
mov edx, dword [0x597678]
mov ecx, dword [0x59767c]
lea eax, [edx + 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0xddf9680f
mov edi, 0xa84f2e0c
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x45c704
movzx ecx, byte [esi + 0x18]
movzx eax, byte [esi + 0x30]
mov edx, ecx
xor dl, al
mov edx, 0xddf9680f
mov edi, 0x4d991d7a
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x45c704
mov ecx, dword [esi + 0x2c]
vzeroupper
call fcn.0041cd30
mov eax, 0x4d991d7a
jmp 0x45c704
mov esp, dword [esi + 0x84]
mov edx, dword [0x5976e8]
mov ecx, dword [0x5976ec]
lea eax, [edx + 1]
imul eax, edx
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov edi, 0xeee1d05b
mov ebx, 0x6c60fc45
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
mov edi, dword [esi + 0x88]
jmp 0x45a862
jmp 0x45c810
jmp 0x45c820
jmp 0x45c830
jmp 0x45c840
jmp 0x45c850
jmp 0x45c860
jmp 0x45c870
jmp 0x45c880
mov esp, edi
push dword [esi + 0x80]
vzeroupper
call dword [sym.imp.USER32.dll_RegisterClassA]
mov edi, 0xa
mov ecx, dword [0x597600]
mov edx, dword [0x597604]
lea eax, [ecx + 1]
mov dword [esi + 0x68], ecx
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
test ecx, eax
sete al
mov dword [esi + 0x54], edx
cmp edx, 0xa
setl cl
test cl, al
jne 0x45c8cc
xor cl, al
je 0x45d9f0
cmp edi, 0x1f3
ja 0x45d9f4
mov dword [esi + 0x18], 0
mov dword [esi + 0x1c], 0
mov dword [esi + 0x20], 0
lea eax, [edi + 1]
imul edi, eax
shr edi, 1
mov dword [esi + 0x28], edi
mov dword [esi + 0x98], eax
mov edx, eax
shr edx, 1
xor ebx, ebx
mov eax, edx
imul eax, ebx
mulx ecx, edi, edx
add eax, eax
add eax, ecx
cmp edi, dword [esi + 0x28]
sbb eax, 0
jae 0x45ce5d
mov edi, edx
mov dword [esi + 0x10], ebx
mov ecx, dword [esi + 0x68]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
and ecx, 1
mov dword [esi + 0x5c], ecx
sete dl
cmp dword [esi + 0x54], 0xa
setge cl
setl ch
or cl, al
xor ch, dl
xor cl, 1
or cl, ch
nop word [eax + eax]
test cl, 1
je 0x45c950
mov ebx, dword [esi + 0x28]
sub ebx, edi
mov ecx, ebx
mov dword [esi + 0x74], ebx
mov eax, edi
mov edi, 0
mov ebx, dword [esi + 0x10]
sbb edi, ebx
mov dword [esi + 0x84], eax
add eax, 1
mov dword [esi + 0x2c], eax
adc ebx, 0
push ebx
push eax
push edi
push ecx
call fcn.0055d9e0
mov dword [esi + 0xc], eax
mov dword [esi + 0x14], edx
mov edx, eax
mov eax, dword [esi + 0x2c]
mulx ecx, edx, eax
mov dword [esi + 0x90], ecx
mov dword [esi + 0x6c], edx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x88], ebx
imul edx, ebx
mov ebx, dword [esi + 0x14]
mov ecx, dword [esi + 0x90]
add ecx, edx
mov edx, ebx
imul edx, eax
add edx, ecx
mov ecx, dword [esi + 0x74]
sub ecx, dword [esi + 0x6c]
sbb edi, edx
or edi, ecx
mov ecx, dword [esi + 0x5c]
jne 0x45ce24
mov eax, dword [esi + 0x10]
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x84]
mov dword [esi + 0x30], eax
mov dword [esi + 0x3c], ebx
mov eax, dword [esi + 0xc]
mov dword [esi + 0x38], eax
mov dword [esi + 0xb8], 4
lea ecx, [esi + 0x48]
lea eax, [esi + 0x58]
push eax
lea eax, [esi + 0x40]
push eax
lea eax, [esi + 0x30]
push eax
call fcn.00435160
mov eax, dword [0x597600]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x597604], 0xa
setl cl
test cl, al
jne 0x45ca2f
xor cl, al
je 0x45d9d0
mov eax, dword [0x597608]
mov ecx, dword [0x59760c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov ecx, 0xda602179
lea eax, [esi + 0x48]
nop word [eax + eax]
cmp ecx, 0x1d3fa72d
jg 0x45ca7e
cmp ecx, 0x842ebd91
je 0x45cb24
cmp ecx, 0xda602179
jne 0x45ca60
jmp 0x45caa8
cmp ecx, 0x1d3fa72e
je 0x45cacf
cmp ecx, 0x5dc11797
jne 0x45ca60
mov dword [esi + 0xb8], 6
lea ecx, [esi + 0x18]
push eax
call fcn.004357a0
mov ecx, 0x1d3fa72e
jmp 0x45ca57
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, eax
xor dl, cl
mov edx, 0x5dc11797
mov edi, 0x1d3fa72e
cmovne edx, edi
test cl, cl
mov ecx, edx
cmovne ecx, edi
test al, al
cmove ecx, edx
jmp 0x45ca57
mov dword [esi + 0xb8], 6
lea ecx, [esi + 0x18]
push eax
call fcn.004357a0
mov edx, dword [0x597608]
mov eax, dword [0x59760c]
lea ecx, [edx + 1]
imul ecx, edx
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov edi, 0x5dc11797
mov ebx, 0x842ebd91
cmovne edi, ebx
test edx, ecx
mov ecx, edi
cmove ecx, ebx
cmp eax, 0xa
cmovge ecx, edi
jmp 0x45ca57
mov eax, dword [0x597610]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, dword [0x597614]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x24]
sete cl
mov eax, 0x2b32a888
mov edi, 0xbc50146f
cmove eax, edi
cmp edx, 0xa
setl byte [esi + 0x60]
setl dl
mov ebx, 0x2b32a888
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
mov ecx, 0xdb6005b8
mov ebx, dword [esi + 0x10]
mov edx, dword [esi + 0xc]
nop word cs:[eax + eax]
cmp ecx, 0xdb6005b7
jg 0x45cb9c
cmp ecx, 0xbc50146f
je 0x45cbe0
cmp ecx, 0xd056dfbd
jne 0x45cb80
mov ecx, eax
jmp 0x45cb80
cmp ecx, 0x2b32a888
je 0x45cbd9
cmp ecx, 0xdb6005b8
jne 0x45cb80
movzx edx, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov ch, dl
xor ch, cl
mov edi, 0x2b32a888
mov ebx, 0xd056dfbd
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
mov ebx, dword [esi + 0x10]
test dl, dl
mov edx, dword [esi + 0xc]
cmove ecx, edi
jmp 0x45cb80
mov ecx, 0xd056dfbd
jmp 0x45cb80
mov eax, dword [esi + 0x48]
test eax, eax
lea edi, [esi + 0x48]
je 0x45cc08
mov edx, dword [esi + 0x50]
sub edx, eax
sar edx, 3
mov ecx, edi
push edx
push eax
call fcn.005498c0
mov edx, dword [esi + 0xc]
mov dword [esi + 0xb8], 4
mov eax, dword [esi + 0x14]
mov dword [esi + 0x34], eax
mov dword [esi + 0x30], edx
mov dword [esi + 0x3c], ebx
mov eax, dword [esi + 0x84]
mov dword [esi + 0x38], eax
mov dword [esi + 0xb8], 4
mov ecx, edi
lea eax, [esi + 0x58]
push eax
lea eax, [esi + 0x40]
push eax
lea eax, [esi + 0x30]
push eax
call fcn.00435160
mov eax, dword [0x597608]
mov ecx, dword [0x59760c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov edi, 0xda602179
lea eax, [esi + 0x48]
nop word cs:[eax + eax]
cmp edi, 0x1d3fa72d
jg 0x45cc8e
cmp edi, 0x842ebd91
je 0x45cd39
cmp edi, 0xda602179
jne 0x45cc70
jmp 0x45ccb8
cmp edi, 0x1d3fa72e
je 0x45cce7
cmp edi, 0x5dc11797
jne 0x45cc70
mov dword [esi + 0xb8], 5
lea ecx, [esi + 0x18]
push eax
call fcn.004357a0
mov edi, 0x1d3fa72e
jmp 0x45cc62
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, eax
xor dl, cl
test cl, cl
mov edi, 0x5dc11797
mov ecx, 0x1d3fa72e
cmovne edi, ecx
test al, al
mov eax, 0x5dc11797
cmove edi, eax
test dl, dl
cmovne edi, ecx
jmp 0x45cc62
mov dword [esi + 0xb8], 5
lea ecx, [esi + 0x18]
push eax
call fcn.004357a0
mov eax, dword [0x597608]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov edi, 0x5dc11797
mov edx, 0x842ebd91
cmove edi, edx
cmp dword [0x59760c], 0xa
mov ecx, 0x5dc11797
cmovge edi, ecx
setl cl
xor cl, al
cmovne edi, edx
jmp 0x45cc62
mov eax, dword [0x597610]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, dword [0x597614]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x24]
sete cl
mov eax, 0x2b32a888
mov edi, 0xbc50146f
cmove eax, edi
cmp edx, 0xa
setl byte [esi + 0x60]
setl dl
mov ebx, 0x2b32a888
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
mov ecx, 0xdb6005b8
nop word cs:[eax + eax]
cmp ecx, 0xdb6005b7
jg 0x45cdac
cmp ecx, 0xbc50146f
je 0x45cdea
cmp ecx, 0xd056dfbd
jne 0x45cd90
mov ecx, eax
jmp 0x45cd90
cmp ecx, 0x2b32a888
je 0x45cde3
cmp ecx, 0xdb6005b8
jne 0x45cd90
movzx edx, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov ch, dl
xor ch, cl
mov edi, 0x2b32a888
mov ebx, 0xd056dfbd
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x45cd90
mov ecx, 0xd056dfbd
jmp 0x45cd90
mov eax, dword [esi + 0x48]
test eax, eax
je 0x45ce03
mov edx, dword [esi + 0x50]
sub edx, eax
sar edx, 3
lea ecx, [esi + 0x48]
push edx
push eax
call fcn.005498c0
mov ecx, dword [0x597600]
mov eax, dword [0x597604]
mov dword [esi + 0x54], eax
lea eax, [ecx + 1]
mov dword [esi + 0x68], ecx
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
and ecx, eax
mov eax, dword [esi + 0x2c]
test ecx, ecx
sete byte [esi + 0xc]
setne cl
cmp dword [esi + 0x54], 0xa
setl ch
setge byte [esi + 0x10]
mov edx, eax
mov edi, dword [esi + 0x88]
mov ebx, edi
cmp byte [esi + 0xc], ch
jne 0x45c904
or cl, byte [esi + 0x10]
mov edx, eax
mov ebx, edi
je 0x45c904
jmp 0x45d9b0
mov ecx, dword [esi + 0x18]
mov edx, dword [esi + 0x1c]
mov eax, edx
sub eax, ecx
sar eax, 2
imul eax, eax, 0xaaaaaaab
cmp eax, 2
jb 0x45d281
mov edi, 1
jmp 0x45cea2
mov edi, dword [esi + 0x9c]
inc edi
mov ecx, dword [esi + 0x18]
mov edx, dword [esi + 0x1c]
mov eax, edx
sub eax, ecx
sar eax, 2
imul eax, eax, 0xaaaaaaab
cmp edi, eax
jae 0x45d293
mov dword [esi + 0x9c], edi
mov dword [esi + 0xc], edi
jmp 0x45ceb6
dec dword [esi + 0xc]
je 0x45d25b
mov eax, dword [esi + 0x68]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
mov dword [esi + 0x94], ecx
sete al
cmp dword [esi + 0x54], 0xa
setl cl
or cl, al
mov byte [esi + 0x74], cl
mov eax, dword [esi + 0x18]
mov dword [esi + 0x10], eax
mov eax, dword [0x597618]
mov ecx, dword [0x59761c]
mov dword [esi + 0x14], ecx
mov dword [esi + 0x6c], eax
jne 0x45d04a
mov ecx, eax
inc eax
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
and ecx, eax
mov dword [esi + 0x2c], ecx
mov edi, dword [esi + 0x2c]
test edi, edi
sete al
mov edx, dword [esi + 0x14]
cmp edx, 0xa
setl cl
xor cl, al
mov eax, 0xdca2d407
mov ecx, 0xd1e95ec
cmovne eax, ecx
test edi, edi
sete byte [esi + 0x60]
mov edi, eax
cmove edi, ecx
cmp edx, 0xa
mov ecx, dword [esi + 0xc]
lea edx, [ecx + ecx*2]
setl byte [esi + 0x48]
mov ecx, dword [esi + 0x10]
mov ecx, dword [ecx + edx*4]
mov dword [esi + 0x5c], ecx
cmovge edi, eax
mov dword [esi + 0x28], edi
mov eax, 0x96a1725a
jmp 0x45cf80
movzx ebx, byte [esi + 0x60]
movzx eax, byte [esi + 0x48]
mov bh, al
xor bh, bl
test al, al
mov eax, 0xdca2d407
mov edi, 0x7a74daff
cmovne eax, edi
test bl, bl
mov ecx, 0xdca2d407
cmove eax, ecx
test bh, bh
cmovne eax, edi
nop dword [eax]
cmp eax, 0xd1e95eb
jg 0x45cfa0
cmp eax, 0x96a1725a
je 0x45cf52
cmp eax, 0xdca2d407
jne 0x45cf80
mov eax, 0x7a74daff
jmp 0x45cf80
cmp eax, 0xd1e95ec
je 0x45cfb3
cmp eax, 0x7a74daff
jne 0x45cf80
mov eax, dword [esi + 0x28]
jmp 0x45cf80
cmp dword [esi + 0x2c], 0
mov eax, dword [esi + 0x5c]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x30]
sete byte [esi + 0x60]
cmp dword [esi + 0x14], 0xa
setl byte [esi + 0x48]
mov eax, dword [esi + 0x10]
mov eax, dword [eax + edx*4 - 0xc]
mov ecx, 0x96a1725a
nop dword [eax + eax]
cmp ecx, 0xd1e95eb
jg 0x45d000
cmp ecx, 0x96a1725a
je 0x45d015
cmp ecx, 0xdca2d407
jne 0x45cfe0
mov ecx, 0x7a74daff
jmp 0x45cfe0
cmp ecx, 0xd1e95ec
je 0x45d041
cmp ecx, 0x7a74daff
jne 0x45cfe0
mov ecx, dword [esi + 0x28]
jmp 0x45cfe0
movzx edx, byte [esi + 0x60]
movzx ecx, byte [esi + 0x48]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0xdca2d407
mov edi, 0x7a74daff
cmovne ecx, edi
test dl, dl
mov ebx, 0xdca2d407
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x45cfe0
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x30]
mov eax, dword [esi + 0x6c]
mov ecx, eax
inc eax
imul eax, ecx
mov edi, eax
xor edi, 0xfffffffe
mov ecx, edi
and ecx, eax
sete cl
mov edx, dword [esi + 0x14]
cmp edx, 0xa
setl ch
xor ch, cl
mov ecx, 0xdca2d407
mov ebx, 0xd1e95ec
cmovne ecx, ebx
and edi, eax
mov dword [esi + 0x2c], edi
sete byte [esi + 0x60]
mov edi, ecx
cmove edi, ebx
cmp edx, 0xa
setl byte [esi + 0x48]
cmovge edi, ecx
mov eax, dword [esi + 0xc]
lea eax, [eax + eax*2]
mov ecx, dword [esi + 0x10]
lea edx, [ecx + eax*4]
mov dword [esi + 0x5c], edx
mov edx, dword [ecx + eax*4]
mov eax, 0x96a1725a
nop word cs:[eax + eax]
cmp eax, 0xd1e95eb
jg 0x45d0d0
cmp eax, 0x96a1725a
je 0x45d0e2
cmp eax, 0xdca2d407
jne 0x45d0b0
mov eax, 0x7a74daff
jmp 0x45d0b0
cmp eax, 0xd1e95ec
je 0x45d113
cmp eax, 0x7a74daff
jne 0x45d0b0
mov eax, edi
jmp 0x45d0b0
movzx ebx, byte [esi + 0x60]
movzx eax, byte [esi + 0x48]
mov bh, bl
xor bh, al
test al, al
mov eax, 0xdca2d407
mov ecx, 0x7a74daff
cmovne eax, ecx
test bl, bl
mov ecx, 0xdca2d407
cmove eax, ecx
test bh, bh
mov ecx, 0x7a74daff
cmovne eax, ecx
jmp 0x45d0b0
mov eax, dword [esi + 0xc]
lea ecx, [eax - 1]
cmp dword [esi + 0x2c], 0
mov dword [esi + 0x30], edx
mov eax, dword [esi + 0x30]
mov ebx, dword [eax]
mov dword [esi + 0x88], ebx
mov eax, dword [eax + 4]
mov dword [esi + 0x90], eax
sete byte [esi + 0x60]
cmp dword [esi + 0x14], 0xa
setl byte [esi + 0x48]
mov dword [esi + 0x84], ecx
lea eax, [ecx + ecx*2]
mov ecx, dword [esi + 0x10]
lea ebx, [ecx + eax*4]
mov dword [esi + 0x8c], ebx
mov eax, dword [ecx + eax*4]
mov ebx, 0x96a1725a
nop dword [eax]
cmp ebx, 0xd1e95eb
jg 0x45d180
cmp ebx, 0x96a1725a
je 0x45d194
cmp ebx, 0xdca2d407
jne 0x45d160
mov ebx, 0x7a74daff
jmp 0x45d160
cmp ebx, 0xd1e95ec
je 0x45d1c5
cmp ebx, 0x7a74daff
jne 0x45d160
mov ebx, edi
jmp 0x45d160
mov dword [esi + 0x28], eax
movzx eax, byte [esi + 0x60]
mov ch, byte [esi + 0x48]
mov cl, al
xor cl, ch
test ch, ch
mov ebx, 0xdca2d407
mov edx, 0x7a74daff
cmovne ebx, edx
test al, al
mov eax, 0xdca2d407
cmove ebx, eax
mov eax, dword [esi + 0x28]
test cl, cl
cmovne ebx, edx
jmp 0x45d160
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x30]
cmp byte [esi + 0x74], 0
je 0x45cf04
mov ecx, dword [esi + 0x88]
cmp ecx, dword [eax]
mov ecx, dword [esi + 0x90]
sbb ecx, dword [eax + 4]
jge 0x45d25b
mov ecx, dword [esi + 0x5c]
push dword [esi + 0x8c]
call fcn.00436090
mov eax, dword [0x597600]
mov edi, dword [0x597604]
lea ecx, [eax + 1]
mov dword [esi + 0x68], eax
imul ecx, eax
mov eax, ecx
and eax, 1
mov dword [esi + 0x94], eax
sete dl
mov dword [esi + 0x54], edi
cmp edi, 0xa
setge al
setl ah
or al, cl
xor ah, dl
xor al, 1
or al, ah
test al, 1
mov ecx, dword [esi + 0x84]
je 0x45d24e
nop word cs:[eax + eax]
test al, 1
jne 0x45cead
mov ecx, dword [esi + 0xc]
add ecx, 0xfffffffe
mov dword [esi + 0xc], ecx
test al, 1
jne 0x45cead
jmp 0x45d248
cmp dword [esi + 0x94], 0
sete al
cmp dword [esi + 0x54], 0xa
setl cl
test al, cl
jne 0x45ce80
xor al, cl
jne 0x45ce80
jmp 0x45d9e0
mov eax, dword [esi + 0x68]
lea edi, [eax - 1]
imul edi, eax
and edi, 1
mov dword [esi + 0x94], edi
mov dword [esi + 0x10], edx
mov dword [esi + 0x28], ecx
cmp dword [esi + 0x94], 0
setne al
cmp dword [esi + 0x54], 0xa
setge cl
mov edx, eax
xor dl, cl
or al, cl
xor al, 1
or al, dl
mov byte [esi + 0x5c], al
mov eax, dword [0x597620]
mov dword [esi + 0x2c], eax
mov eax, dword [0x597624]
mov dword [esi + 0xc], eax
je 0x45d877
mov eax, dword [esi + 0x2c]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
and eax, ecx
mov dword [esi + 0x14], eax
sete byte [esi + 0x48]
sete ah
mov ecx, 0xf6fc076c
mov edx, 0x549d064b
cmove ecx, edx
cmp dword [esi + 0xc], 0xa
setl byte [esi + 0x30]
setl bl
mov edi, 0xf6fc076c
cmovge ecx, edi
xor bl, ah
cmovne ecx, edx
mov ebx, 0x85388611
cmp ebx, 0xf6fc076b
jle 0x45d32b
cmp ebx, 0xf6fc076c
je 0x45d33f
cmp ebx, 0x549d064b
jne 0x45d311
jmp 0x45d36c
cmp ebx, 0x85388611
je 0x45d346
cmp ebx, 0xcbffc385
jne 0x45d311
mov ebx, ecx
jmp 0x45d311
mov ebx, 0xcbffc385
jmp 0x45d311
mov ah, byte [esi + 0x48]
movzx ebx, byte [esi + 0x30]
mov bh, ah
xor bh, bl
mov edx, 0xf6fc076c
mov edi, 0xcbffc385
cmovne edx, edi
test bl, bl
mov ebx, edx
cmovne ebx, edi
test ah, ah
cmove ebx, edx
jmp 0x45d311
cmp dword [esi + 0x14], 0
sete byte [esi + 0x48]
cmp dword [esi + 0xc], 0xa
setl byte [esi + 0x30]
mov ebx, 0x85388611
cmp ebx, 0xf6fc076b
jle 0x45d39b
cmp ebx, 0xf6fc076c
je 0x45d3af
cmp ebx, 0x549d064b
jne 0x45d381
jmp 0x45d3e1
cmp ebx, 0x85388611
je 0x45d3b6
cmp ebx, 0xcbffc385
jne 0x45d381
mov ebx, ecx
jmp 0x45d381
mov ebx, 0xcbffc385
jmp 0x45d381
movzx edx, byte [esi + 0x48]
mov ah, byte [esi + 0x30]
mov dh, dl
xor dh, ah
test ah, ah
mov ebx, 0xf6fc076c
mov edi, 0xcbffc385
cmovne ebx, edi
test dl, dl
mov eax, 0xf6fc076c
cmove ebx, eax
test dh, dh
cmovne ebx, edi
jmp 0x45d381
cmp byte [esi + 0x5c], 0
je 0x45d88a
mov ecx, dword [esi + 0x68]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
and ecx, eax
mov dword [esi + 0x5c], ecx
sete al
cmp dword [esi + 0x54], 0xa
setl cl
or cl, al
mov byte [esi + 0x14], cl
mov eax, dword [0x597628]
mov ecx, dword [0x59762c]
mov dword [esi + 0xc], ecx
mov dword [esi + 0x2c], eax
jne 0x45d4bd
lea ebx, [eax - 1]
imul ebx, eax
and ebx, 1
test ebx, ebx
sete byte [esi + 0x48]
sete cl
mov eax, 0xb80c0226
mov ebx, 0x6148f3e3
cmove eax, ebx
cmp dword [esi + 0xc], 0xa
setl byte [esi + 0x30]
setl dl
mov edi, 0xb80c0226
cmovge eax, edi
xor dl, cl
cmovne eax, ebx
mov ecx, 0xdc9b1c3
jmp 0x45d467
mov ecx, 0xf247af6c
cmp ecx, 0xdc9b1c2
jg 0x45d483
cmp ecx, 0xb80c0226
je 0x45d462
cmp ecx, 0xf247af6c
jne 0x45d467
mov ecx, eax
jmp 0x45d467
cmp ecx, 0x6148f3e3
je 0x45d4ba
cmp ecx, 0xdc9b1c3
jne 0x45d467
movzx edx, byte [esi + 0x48]
movzx ecx, byte [esi + 0x30]
mov ch, dl
xor ch, cl
mov ebx, 0xb80c0226
mov edi, 0xf247af6c
cmovne ebx, edi
test cl, cl
mov ecx, ebx
cmovne ecx, edi
test dl, dl
cmove ecx, ebx
jmp 0x45d467
mov eax, dword [esi + 0x2c]
lea ebx, [eax + 1]
imul ebx, eax
and ebx, 1
sete byte [esi + 0x48]
sete al
mov ecx, 0xb80c0226
mov edx, 0x6148f3e3
cmove ecx, edx
cmp dword [esi + 0xc], 0xa
setl byte [esi + 0x30]
setl ah
mov edi, 0xb80c0226
cmovge ecx, edi
mov edi, dword [esi + 0x10]
xor ah, al
cmovne ecx, edx
mov eax, 0xdc9b1c3
cmp eax, 0xdc9b1c2
jg 0x45d513
cmp eax, 0xb80c0226
je 0x45d555
cmp eax, 0xf247af6c
jne 0x45d4fa
mov eax, ecx
jmp 0x45d4fa
cmp eax, 0x6148f3e3
je 0x45d55c
cmp eax, 0xdc9b1c3
jne 0x45d4fa
movzx edx, byte [esi + 0x48]
movzx eax, byte [esi + 0x30]
mov dh, al
xor dh, dl
test al, al
mov eax, 0xb80c0226
mov edi, 0xf247af6c
cmovne eax, edi
test dl, dl
mov edi, 0xb80c0226
cmove eax, edi
mov edi, dword [esi + 0x10]
test dh, dh
mov edx, 0xf247af6c
cmovne eax, edx
jmp 0x45d4fa
mov eax, 0xf247af6c
jmp 0x45d4fa
cmp byte [esi + 0x14], 0
je 0x45d42d
cmp dword [esi + 0x28], edi
je 0x45d98f
mov eax, dword [0x597630]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, dword [0x597634]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x60]
sete cl
mov eax, 0x601b8bca
mov edi, 0xae2a3523
cmove eax, edi
cmp edx, 0xa
setl byte [esi + 0x48]
setl dl
mov ebx, 0x601b8bca
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
mov ecx, 0x78b7ce22
cmp ecx, 0x601b8bc9
jg 0x45d5d4
cmp ecx, 0xae2a3523
je 0x45d617
cmp ecx, 0x18a3c084
jne 0x45d5b8
mov ecx, eax
jmp 0x45d5b8
cmp ecx, 0x601b8bca
je 0x45d610
cmp ecx, 0x78b7ce22
jne 0x45d5b8
movzx edx, byte [esi + 0x60]
movzx ecx, byte [esi + 0x48]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0x601b8bca
mov ebx, 0x18a3c084
cmovne ecx, ebx
test dl, dl
mov edi, 0x601b8bca
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x45d5b8
mov ecx, 0x18a3c084
jmp 0x45d5b8
mov eax, dword [0x597620]
mov ebx, dword [0x597624]
lea edi, [eax + 1]
imul edi, eax
mov eax, edi
xor eax, 0xfffffffe
test eax, edi
sete cl
cmp ebx, 0xa
setl dl
xor dl, cl
mov ecx, 0xf6fc076c
mov edx, 0x549d064b
cmovne ecx, edx
mov dword [esi + 0xc], edi
mov dword [esi + 0x74], eax
test eax, edi
mov edx, dword [esi + 0x28]
mov dword [esi + 0x30], edx
mov eax, dword [esi + 0x30]
mov dword [esi + 0x6c], eax
mov edi, dword [eax]
sete byte [esi + 0x48]
mov edx, ecx
mov eax, 0x549d064b
cmove edx, eax
mov dword [esi + 0x2c], ebx
cmp ebx, 0xa
cmovge edx, ecx
mov dword [esi + 0x14], edx
setl byte [esi + 0x30]
mov ecx, 0x85388611
cmp ecx, 0xf6fc076b
jle 0x45d69a
cmp ecx, 0xf6fc076c
je 0x45d6af
cmp ecx, 0x549d064b
jne 0x45d680
jmp 0x45d6dd
cmp ecx, 0x85388611
je 0x45d6b6
cmp ecx, 0xcbffc385
jne 0x45d680
mov ecx, dword [esi + 0x14]
jmp 0x45d680
mov ecx, 0xcbffc385
jmp 0x45d680
movzx edx, byte [esi + 0x48]
movzx ecx, byte [esi + 0x30]
mov ch, dl
xor ch, cl
mov eax, 0xf6fc076c
mov ebx, 0xcbffc385
cmovne eax, ebx
test cl, cl
mov ecx, eax
cmovne ecx, ebx
test dl, dl
cmove ecx, eax
jmp 0x45d680
mov eax, dword [esi + 0x74]
test dword [esi + 0xc], eax
mov eax, dword [esi + 0x6c]
mov eax, dword [eax + 4]
mov dword [esi + 0xc], eax
sete byte [esi + 0x48]
cmp dword [esi + 0x2c], 0xa
setl byte [esi + 0x30]
mov eax, 0x85388611
cmp eax, 0xf6fc076b
jle 0x45d714
cmp eax, 0xf6fc076c
je 0x45d727
cmp eax, 0x549d064b
jne 0x45d6fd
jmp 0x45d755
cmp eax, 0x85388611
je 0x45d72e
cmp eax, 0xcbffc385
jne 0x45d6fd
mov eax, dword [esi + 0x14]
jmp 0x45d6fd
mov eax, 0xcbffc385
jmp 0x45d6fd
movzx ecx, byte [esi + 0x48]
movzx eax, byte [esi + 0x30]
mov edx, ecx
xor dl, al
mov edx, 0xf6fc076c
mov ebx, 0xcbffc385
cmovne edx, ebx
test al, al
mov eax, edx
cmovne eax, ebx
test cl, cl
cmove eax, edx
jmp 0x45d6fd
cmp edi, dword [esi + 0xc]
jne 0x45d76b
jmp 0x45d850
add edi, 8
cmp edi, dword [esi + 0xc]
je 0x45d83d
mov ecx, dword [esi + 0x68]
lea eax, [ecx + 1]
imul eax, ecx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete al
cmp dword [esi + 0x54], 0xa
setl cl
test cl, al
jne 0x45d792
xor cl, al
je 0x45d9c0
mov eax, dword [edi + 4]
mov ecx, 0x136
xor eax, ecx
mov ecx, dword [edi]
mov edx, 0xf74f03be
xor ecx, edx
or ecx, eax
jne 0x45d75f
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov ecx, dword [0x597600]
mov ebx, dword [0x597604]
lea eax, [ecx + 1]
mov dword [esi + 0x68], ecx
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
test ecx, eax
setne al
sete dl
mov dword [esi + 0x54], ebx
cmp ebx, 0xa
setge cl
setl ah
xor ah, dl
jne 0x45d75f
or cl, al
je 0x45d75f
push 0
push 0
mov ebx, dword [sym.imp.KERNEL32.dll_Beep]
call ebx
push 0
push 0
call ebx
mov ecx, dword [0x597600]
mov ebx, dword [0x597604]
lea eax, [ecx + 1]
mov dword [esi + 0x68], ecx
imul eax, ecx
test al, 1
sete dl
mov dword [esi + 0x54], ebx
cmp ebx, 0xa
setge cl
setl ch
xor ch, dl
jne 0x45d75f
or cl, al
test cl, 1
jne 0x45d7f1
jmp 0x45d75f
mov ecx, dword [esi + 0x68]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
and ecx, eax
mov dword [esi + 0x5c], ecx
cmp dword [esi + 0x5c], 0
sete al
cmp dword [esi + 0x54], 0xa
setl cl
add dword [esi + 0x28], 0xc
test al, cl
jne 0x45d3eb
xor al, cl
jne 0x45d3eb
jmp 0x45d9f2
mov eax, dword [esi + 0x2c]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
and eax, ecx
mov dword [esi + 0x14], eax
cmp dword [esi + 0x14], 0
sete byte [esi + 0x48]
sete cl
mov ebx, 0xf6fc076c
mov eax, 0x549d064b
cmove ebx, eax
cmp dword [esi + 0xc], 0xa
setl byte [esi + 0x30]
setl dl
mov edi, 0xf6fc076c
cmovge ebx, edi
xor dl, cl
cmovne ebx, eax
mov ecx, 0x85388611
jmp 0x45d8e6
movzx edx, byte [esi + 0x48]
movzx ecx, byte [esi + 0x30]
mov ah, dl
xor ah, cl
mov eax, 0xf6fc076c
mov edi, 0xcbffc385
cmovne eax, edi
test cl, cl
mov ecx, eax
cmovne ecx, edi
test dl, dl
cmove ecx, eax
cmp ecx, 0xf6fc076b
jle 0x45d900
cmp ecx, 0xf6fc076c
je 0x45d914
cmp ecx, 0x549d064b
jne 0x45d8e6
jmp 0x45d91b
cmp ecx, 0x85388611
je 0x45d8c1
cmp ecx, 0xcbffc385
jne 0x45d8e6
mov ecx, ebx
jmp 0x45d8e6
mov ecx, 0xcbffc385
jmp 0x45d8e6
cmp dword [esi + 0x14], 0
sete byte [esi + 0x48]
cmp dword [esi + 0xc], 0xa
setl byte [esi + 0x30]
mov ecx, 0x85388611
cmp ecx, 0xf6fc076b
jg 0x45d94c
cmp ecx, 0x85388611
je 0x45d961
cmp ecx, 0xcbffc385
jne 0x45d930
mov ecx, ebx
jmp 0x45d930
cmp ecx, 0xf6fc076c
je 0x45d988
cmp ecx, 0x549d064b
jne 0x45d930
jmp 0x45d2cd
movzx eax, byte [esi + 0x48]
movzx ecx, byte [esi + 0x30]
mov edx, eax
xor dl, cl
mov edx, 0xf6fc076c
mov edi, 0xcbffc385
cmovne edx, edi
test cl, cl
mov ecx, edx
cmovne ecx, edi
test al, al
cmove ecx, edx
jmp 0x45d930
mov ecx, 0xcbffc385
jmp 0x45d930
lea ecx, [esi + 0x18]
call fcn.0041e620
mov edi, dword [esi + 0x98]
jmp 0x45c898
jmp 0x45d9b0
jmp 0x45d9c0
jmp 0x45d9d0
jmp 0x45d9e0
jmp 0x45d9f0
jmp 0x45d9f2
mov eax, dword [0x5976f0]
mov ecx, dword [0x5976f4]
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete al
cmp ecx, 0xa
setl ah
xor ah, al
mov eax, 0x2bf4fd68
mov edi, 0xbc0c8f74
cmovne edi, eax
cmp edx, 0xffffffff
sete byte [esi + 0x18]
cmovne eax, edi
cmp ecx, 0xa
setl byte [esi + 0x30]
cmovge eax, edi
mov edx, 0xbfa64881
mov ecx, 0xb33a376f
cmp edx, 0xbfa64880
jg 0x45da62
cmp edx, 0xb33a376f
je 0x45da94
cmp edx, 0xbc0c8f74
jne 0x45da43
mov edx, 0xb33a376f
jmp 0x45da43
cmp edx, 0x2bf4fd68
je 0x45da98
cmp edx, 0xbfa64881
jne 0x45da43
movzx ebx, byte [esi + 0x18]
movzx edx, byte [esi + 0x30]
mov dh, bl
xor dh, dl
mov edi, 0xbc0c8f74
cmovne edi, ecx
test dl, dl
mov edx, edi
cmovne edx, ecx
test bl, bl
cmove edx, edi
jmp 0x45da43
mov edx, eax
jmp 0x45da43
mov eax, dword [esi + 0x80]
mov eax, dword [eax + 0x24]
sub esp, 0x30
vmovdqa ymm0, ymmword [0x57fee0]
vmovdqu ymmword [esp + 0xc], ymm0
mov dword [esp + 4], eax
mov dword [esp + 0x2c], 0
mov dword [esp + 8], 0x5870d0
mov dword [esp], 0
vzeroupper
call dword [sym.imp.USER32.dll_CreateWindowExA]
jmp 0x45daf4
mov eax, dword [esi + 0x7c]
mov dword [eax], 0xa
mov dword [esi + 0xb8], 3
push eax
call fcn.00456470
add esp, 4
mov eax, dword [0x5976d8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5976dc], 0xa
setl cl
test cl, al
jne 0x45dad8
xor cl, al
jne 0x45dad8
nop dword [eax + eax]
jmp 0x45db20