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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xe0
mov esi, esp
mov dword [esi + 0xc8], ebp
mov dword [esi + 0xcc], esp
mov dword [esi + 0xd8], 0xffffffff
lea eax, [esi + 0xd0]
mov dword [esi + 0xd4], 0x593a90
mov ecx, dword fs:[0]
mov dword [esi + 0xd0], ecx
mov dword fs:[0], eax
mov ecx, dword [0x5cf6b0]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5cf6b4], 0xa
setge cl
setl ch
xor ch, dl
jne 0x44cfa7
or cl, al
test cl, 1
jne 0x450549
push eax
sub esp, 0x24
mov dword [esi + 0xa8], esp
sub esp, 0x18
mov dword [esi + 0x8c], esp
sub esp, 0x10
mov eax, esp
and eax, 0xfffffff0
mov dword [esi + 0x70], eax
mov esp, eax
push eax
sub esp, 0x14
mov dword [esi + 0xb8], esp
push eax
mov dword [esi + 0xac], esp
mov eax, dword [0x5cf6b8]
mov ecx, dword [0x5cf6bc]
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x16]
cmp ecx, 0xa
setl byte [esi + 0x17]
mov ecx, esp
mov eax, 0xc6af5d97
nop word cs:[eax + eax]
cmp eax, 0xc6af5d96
jg 0x44d070
cmp eax, 0x891910a9
je 0x4501c2
cmp eax, 0x952d0ea6
jne 0x44d010
mov dword [esi + 0xa0], ecx
mov dword [esi + 0x2c], esp
mov eax, dword [0x5cf5f0]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5cf5f4], 0xa
setl cl
test cl, al
jne 0x44d0f0
xor cl, al
je 0x44d21a
jmp 0x44d0f0
cmp eax, 0xfc17cf40
je 0x44d0b1
cmp eax, 0xc6af5d97
jne 0x44d010
mov edi, ecx
movzx ecx, byte [esi + 0x16]
movzx eax, byte [esi + 0x17]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0xfc17cf40
mov ebx, 0x952d0ea6
cmovne eax, ebx
test cl, cl
mov ecx, edi
mov edi, 0xfc17cf40
cmove eax, edi
test dl, dl
cmovne eax, ebx
jmp 0x44d010
mov dword [esi + 0xa0], ecx
mov ecx, dword [0x5cf5f0]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5cf5f4], 0xa
mov dword [esi + 0x3c], esp
setge cl
setl ch
xor ch, dl
jne 0x44e8cc
or cl, al
test cl, 1
jne 0x44e9fa
jmp 0x44e8cc
push eax
mov dword [esi + 0x18], esp
push eax
mov ecx, esp
sub esp, 0x18
mov edi, esp
mov dword [esi + 0x10], edi
mov dword [esi + 0x28], ecx
push 0x7a
push 0x61
call fcn.00542260
sub esp, 4
movzx eax, byte [esi + 0x1c]
mov byte [esp], al
mov ecx, edi
call fcn.0040cd80
mov edx, dword [0x5cf4b8]
mov ecx, dword [0x5cf4bc]
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, 0x8f0f2ca8
mov ebx, 0x11f1fb1a
cmovne edx, ebx
test edi, eax
sete byte [esi + 0x30]
mov eax, edx
cmove eax, ebx
mov ebx, dword [esi + 0x10]
cmp ecx, 0xa
setl byte [esi + 0x40]
cmovge eax, edx
mov ecx, 0x13d3b53a
nop word [eax + eax]
cmp ecx, 0x13d3b539
jg 0x44d190
cmp ecx, 0x8f0f2ca8
je 0x44d1cf
cmp ecx, 0x11f1fb1a
jne 0x44d170
jmp 0x44d1da
cmp ecx, 0x1a1c1d98
je 0x44d1d6
cmp ecx, 0x13d3b53a
jne 0x44d170
movzx edx, byte [esi + 0x30]
movzx ecx, byte [esi + 0x40]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0x8f0f2ca8
mov ebx, 0x1a1c1d98
cmovne ecx, ebx
test dl, dl
mov edi, 0x8f0f2ca8
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
mov ebx, dword [esi + 0x10]
jmp 0x44d170
mov ecx, 0x1a1c1d98
jmp 0x44d170
mov ecx, eax
jmp 0x44d170
mov dword [ebx + 0x10], 0
mov dword [ebx + 0x14], 0xf
mov byte [ebx], 0
mov eax, dword [0x5cf5f0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5cf5f4], 0xa
setl cl
test cl, al
jne 0x44d30c
xor cl, al
jne 0x44d30c
push eax
mov ecx, esp
sub esp, 0x18
mov edi, esp
push 0x7a
push 0x61
call fcn.00542260
sub esp, 4
movzx eax, byte [esi + 0x1c]
mov byte [esp], al
mov dword [esi + 0xc], edi
mov ecx, edi
call fcn.0040cd80
mov eax, dword [0x5cf4b8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x5cf4bc]
sete byte [esi + 0x30]
sete dl
mov eax, 0x8f0f2ca8
mov edi, 0x11f1fb1a
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x40]
setl cl
mov ebx, 0x8f0f2ca8
cmovge eax, ebx
xor cl, dl
cmovne eax, edi
mov ecx, 0x13d3b53a
jmp 0x44d290
mov ecx, eax
nop dword [eax + eax]
cmp ecx, 0x13d3b539
jg 0x44d2b0
cmp ecx, 0x8f0f2ca8
je 0x44d2ec
cmp ecx, 0x11f1fb1a
jne 0x44d290
jmp 0x44d2f3
cmp ecx, 0x1a1c1d98
je 0x44d289
cmp ecx, 0x13d3b53a
jne 0x44d290
movzx edx, byte [esi + 0x30]
movzx ecx, byte [esi + 0x40]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0x8f0f2ca8
mov edi, 0x1a1c1d98
cmovne ecx, edi
test dl, dl
mov ebx, 0x8f0f2ca8
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x44d290
mov ecx, 0x1a1c1d98
jmp 0x44d290
mov eax, dword [esi + 0xc]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
jmp 0x44d0f0
xor edx, edx
cmp edx, 0x3e8
je 0x44d597
mov dword [esi + 0x24], edx
mov ecx, dword [esi + 0x28]
movsx eax, byte [ecx + 1]
movsx edx, byte [ecx]
mov dword [esi + 0xd8], 0
push eax
push edx
push dword [esi + 0x18]
call fcn.0041e700
movsx eax, al
mov ecx, dword [esi + 0x10]
push eax
call fcn.00441240
mov eax, dword [0x5cf5f0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5cf5f4], 0xa
setl cl
test cl, al
mov edi, dword [esi + 0x10]
jne 0x44d380
xor cl, al
je 0x44d3b5
nop word cs:[eax + eax]
mov ecx, edi
call fcn.00423280
mov ecx, dword [0x5cf5f0]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete ch
setne cl
cmp dword [0x5cf5f4], 0xa
setl dh
setge dl
cmp dh, ch
jne 0x44d3c0
or dl, cl
je 0x44d3c0
mov ecx, edi
call fcn.00423280
jmp 0x44d380
mov ecx, dword [edi + 0x10]
cmp byte [ecx + eax - 1], 0x6f
je 0x44d3df
mov ecx, edi
call fcn.00423280
mov ecx, dword [edi + 0x10]
cmp byte [ecx + eax - 1], 0x75
jne 0x44d550
mov ecx, edi
call fcn.00423280
mov ebx, eax
mov ecx, edi
call fcn.00423280
add eax, dword [edi + 0x10]
mov dword [esi + 0xc], eax
mov ecx, dword [0x5cf5f0]
mov eax, dword [0x5cf5f4]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
and ecx, edx
sete dl
cmp eax, 0xa
setl dh
test dh, dl
jne 0x44d422
xor dh, dl
je 0x450100
mov edi, ebx
cmp ebx, dword [esi + 0xc]
jne 0x44d43a
jmp 0x44d568
inc edi
cmp edi, dword [esi + 0xc]
je 0x44d568
mov eax, dword [0x5cf5f8]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, dword [0x5cf5fc]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x1c]
sete cl
mov eax, 0xc9893d93
mov ebx, 0x603280c6
cmove eax, ebx
cmp edx, 0xa
setl byte [esi + 0x30]
setl dl
mov ebx, 0xc9893d93
cmovge eax, ebx
xor dl, cl
mov ecx, 0x603280c6
cmovne eax, ecx
mov ecx, 0xfc461c64
nop dword [eax + eax]
cmp ecx, 0xfc461c63
jg 0x44d4b0
cmp ecx, 0xc9893d93
je 0x44d4f1
cmp ecx, 0xdac56cfa
jne 0x44d490
mov ecx, eax
jmp 0x44d490
cmp ecx, 0x603280c6
je 0x44d500
cmp ecx, 0xfc461c64
jne 0x44d490
movzx edx, byte [esi + 0x1c]
movzx ecx, byte [esi + 0x30]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0xc9893d93
mov ebx, 0xdac56cfa
cmovne ecx, ebx
test dl, dl
mov ebx, 0xc9893d93
cmove ecx, ebx
test dh, dh
mov edx, 0xdac56cfa
cmovne ecx, edx
jmp 0x44d490
mov ecx, 0xdac56cfa
jmp 0x44d490
mov dword [esi + 0x40], edi
mov ebx, dword [esi + 0x40]
movsx eax, byte [ebx]
push eax
call fcn.005a47b5
add esp, 4
and al, 0xa
mov byte [ebx], al
mov ecx, dword [0x5cf5f0]
mov eax, dword [0x5cf5f4]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
and ecx, edx
sete dl
cmp eax, 0xa
setl dh
test dh, dl
jne 0x44d430
xor dh, dl
jne 0x44d430
jmp 0x4500d0
mov ecx, dword [0x5cf5f0]
mov eax, dword [0x5cf5f4]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
and ecx, edx
mov edi, dword [esi + 0x24]
inc edi
test ecx, ecx
sete dl
setne cl
cmp eax, 0xa
setl ah
setge al
cmp dl, ah
mov edx, edi
mov ebx, dword [esi + 0x10]
jne 0x44d30e
or cl, al
je 0x44d30e
jmp 0x450120
mov ecx, ebx
call fcn.00423280
cmp byte [eax + 0xd7], 0x31
jne 0x44d686
mov eax, dword [0x5cf5f0]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5cf5f4], 0xa
setl cl
test cl, al
jne 0x44d5d3
xor cl, al
je 0x44d607
mov ecx, ebx
call fcn.00423280
mov edx, dword [0x5cf5f0]
lea ecx, [edx + 1]
imul ecx, edx
test cl, 1
sete dh
cmp dword [0x5cf5f4], 0xa
setge dl
setl bl
xor bl, dh
mov ebx, dword [esi + 0x10]
jne 0x44d610
or dl, cl
test dl, 1
je 0x44d610
mov ecx, ebx
call fcn.00423280
jmp 0x44d5d3
cmp byte [eax + 0x2d0], 0x30
jne 0x44d686
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, dword [0x5cf5f0]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5cf5f4], 0xa
setl cl
test cl, al
jne 0x44d686
xor cl, al
jne 0x44d686
push 0
push 0
mov edi, dword [sym.imp.KERNEL32.dll_Beep]
call edi
push 0
push 0
call edi
mov ecx, dword [0x5cf5f0]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5cf5f4], 0xa
setge cl
setl ch
xor ch, dl
jne 0x44d686
or cl, al
test cl, 1
jne 0x44d64b
mov ecx, ebx
call fcn.0040ed30
mov esp, dword [esi + 0x2c]
mov dword [esi + 0xb4], esp
mov ecx, dword [0x5cf6c0]
mov eax, dword [0x5cf6c4]
lea edx, [ecx - 1]
mov dword [esi + 0x18], ecx
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dh
mov dword [esi + 0x10], eax
cmp eax, 0xa
setl al
or al, dh
mov byte [esi + 0xc], al
nop word cs:[eax + eax]
push eax
sub esp, 8
mov dword [esi + 0x3c], esp
sub esp, 0xc
mov dword [esi + 0x64], esp
sub esp, 0x10
mov edi, esp
and edi, 0xfffffff8
mov esp, edi
push eax
mov dword [esi + 0x74], esp
sub esp, 0xc
mov dword [esi + 0x60], esp
sub esp, 0x10
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
push eax
mov ecx, esp
push eax
mov ebx, esp
push eax
mov edx, esp
cmp byte [esi + 0xc], 0
je 0x44d6d0
mov dword [esi + 0xa4], edx
mov dword [esi + 0x6c], ebx
mov dword [esi + 0x90], ecx
lea ecx, [edi + 0x10]
mov dword [esi + 0x80], ecx
lea ecx, [eax + 0x10]
mov dword [esi + 0x94], ecx
mov ebx, 0xa
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x84], edi
mov dword [esi + 0x9c], eax
cmp ebx, 0x1f4
jae 0x44e857
mov ecx, dword [esi + 0x3c]
call fcn.004322e0
lea eax, [ebx + 1]
imul ebx, eax
shr ebx, 1
mov dword [esi + 0x88], ebx
mov dword [esi + 0x98], eax
mov ebx, eax
shr ebx, 1
xor edi, edi
nop dword [eax]
mov ecx, dword [0x5cf6c0]
lea eax, [ecx + 1]
imul eax, ecx
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
mov dword [esi + 0xc], edi
mov edi, dword [0x5cf6c4]
sete al
cmp edi, 0xa
setl dl
test dl, al
jne 0x44d7a1
xor dl, al
je 0x450140
mov eax, ebx
imul eax, dword [esi + 0xc]
mov edx, ebx
mov dword [esi + 0x24], ebx
mulx edx, ebx, ebx
add eax, eax
add eax, edx
mov edx, dword [esi + 0x88]
cmp ebx, edx
sbb eax, 0
jae 0x44ddb9
mov edi, dword [esi + 0x24]
sub edx, edi
mov dword [esi + 0x2c], edx
mov ebx, 0
mov eax, dword [esi + 0xc]
sbb ebx, eax
add edi, 1
adc eax, 0
mov dword [esi + 0x10], eax
push eax
push edi
push ebx
push edx
call fcn.00594a90
mov dword [esi + 0x18], edx
mov edx, eax
mulx ecx, edx, edi
mov dword [esi + 0x5c], edx
mov dword [esi + 0x28], eax
mov edx, eax
imul edx, dword [esi + 0x10]
add ecx, edx
mov edx, dword [esi + 0x18]
imul edx, edi
add edx, ecx
mov eax, dword [esi + 0x2c]
sub eax, dword [esi + 0x5c]
sbb ebx, edx
or ebx, eax
mov ebx, edi
mov edi, dword [esi + 0x10]
jne 0x44d770
mov edx, dword [0x5cf6c8]
mov ecx, dword [0x5cf6cc]
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, 0xeb760989
mov edi, 0x3b23d0b1
cmovne edx, edi
cmp eax, 0xffffffff
sete byte [esi + 0x1c]
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
mov ecx, dword [esi + 0x84]
mov edi, dword [esi + 0x24]
mov dword [ecx], edi
mov edi, dword [esi + 0xc]
mov dword [ecx + 4], edi
mov edi, dword [esi + 0x28]
mov dword [ecx + 8], edi
setl byte [esi + 0x30]
mov edi, dword [esi + 0x18]
mov dword [ecx + 0xc], edi
cmovge eax, edx
mov ecx, 0x9c6e8745
mov edx, dword [esi + 0x74]
mov dword [esi + 0x2c], ebx
nop
cmp ecx, 0x20e9c048
jle 0x44d8b0
cmp ecx, 0x20e9c049
je 0x44d8c7
cmp ecx, 0x3b23d0b1
jne 0x44d890
jmp 0x44d8fa
cmp ecx, 0x9c6e8745
je 0x44d8cb
cmp ecx, 0xeb760989
jne 0x44d890
mov ecx, 0x20e9c049
jmp 0x44d890
mov ecx, eax
jmp 0x44d890
movzx edx, byte [esi + 0x1c]
movzx ecx, byte [esi + 0x30]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0xeb760989
mov ebx, 0x20e9c049
cmovne ecx, ebx
test dl, dl
mov edi, 0xeb760989
cmove ecx, edi
test dh, dh
mov edx, dword [esi + 0x74]
cmovne ecx, ebx
jmp 0x44d890
mov dword [esi + 0x40], edx
mov eax, dword [esi + 0x40]
mov edx, dword [0x5cf4d0]
mov ecx, dword [0x5cf4d4]
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, 0x7c4a5f2
mov ebx, 0xcfcad29c
cmovne edx, ebx
test edi, eax
sete byte [esi + 0x58]
mov ebx, edx
mov eax, 0xcfcad29c
cmove ebx, eax
cmp ecx, 0xa
mov ecx, dword [esi + 0x64]
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
mov eax, dword [esi + 0x80]
mov dword [esi + 0x30], eax
setl byte [esi + 0x78]
mov eax, dword [esi + 0x84]
mov dword [esi + 0x1c], eax
cmovge ebx, edx
mov eax, 0x389c0e25
nop dword [eax]
cmp eax, 0x7c4a5f1
jg 0x44d9a0
cmp eax, 0xcfcad29c
je 0x44d9e4
cmp eax, 0x3aca7e6
jne 0x44d980
mov eax, ebx
jmp 0x44d980
cmp eax, 0x7c4a5f2
je 0x44d9dd
cmp eax, 0x389c0e25
jne 0x44d980
movzx edx, byte [esi + 0x58]
movzx ecx, byte [esi + 0x78]
mov dh, cl
xor dh, dl
test cl, cl
mov eax, 0x7c4a5f2
mov ecx, 0x3aca7e6
cmovne eax, ecx
test dl, dl
mov edi, 0x7c4a5f2
cmove eax, edi
test dh, dh
cmovne eax, ecx
mov ecx, dword [esi + 0x64]
jmp 0x44d980
mov eax, 0x3aca7e6
jmp 0x44d980
mov dword [esi + 0x40], 2
mov eax, dword [esi + 0x40]
mov dword [esi + 0xd8], 1
lea edx, [esi + 0x30]
push edx
lea edx, [esi + 0x1c]
push edx
push eax
call fcn.00432de0
mov dword [esi + 0xd8], 3
mov ecx, dword [esi + 0x3c]
push dword [esi + 0x64]
call fcn.004325a0
mov eax, dword [0x5cf6d0]
mov ecx, dword [0x5cf6d4]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x30]
cmp ecx, 0xa
setl byte [esi + 0x40]
mov eax, 0x950d98a
mov ebx, dword [esi + 0x64]
mov edi, dword [esi + 0x18]
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 0x28]
nop
cmp eax, 0x31a61df4
jg 0x44da70
cmp eax, 0xc6e82640
je 0x44dafc
cmp eax, 0x950d98a
jne 0x44da50
jmp 0x44da8c
cmp eax, 0x31a61df5
je 0x44dab6
cmp eax, 0x4d86efb0
jne 0x44da50
mov ecx, ebx
call fcn.0041d690
mov eax, 0x31a61df5
jmp 0x44da49
movzx ecx, byte [esi + 0x30]
movzx eax, byte [esi + 0x40]
mov edx, ecx
xor dl, al
mov edx, 0x4d86efb0
mov edi, 0x31a61df5
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
mov edi, dword [esi + 0x18]
test cl, cl
cmove eax, edx
jmp 0x44da49
mov ecx, ebx
call fcn.0041d690
mov eax, dword [0x5cf6d0]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x4d86efb0
mov edi, 0xc6e82640
cmove eax, edi
cmp dword [0x5cf6d4], 0xa
mov edx, 0x4d86efb0
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x44da46
mov ebx, dword [esi + 0x9c]
mov dword [ebx + 4], edi
mov dword [ebx], edx
mov dword [ebx + 0xc], ecx
mov eax, dword [0x5cf6c8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x5cf6cc]
sete byte [esi + 0x1c]
sete dl
mov eax, 0xeb760989
mov edi, 0x3b23d0b1
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x30]
mov ecx, dword [esi + 0x24]
mov dword [ebx + 8], ecx
setl cl
mov ebx, 0xeb760989
cmovge eax, ebx
xor cl, dl
cmovne eax, edi
mov ecx, 0x9c6e8745
mov edx, dword [esi + 0x90]
nop
cmp ecx, 0x20e9c048
jle 0x44db80
cmp ecx, 0x20e9c049
je 0x44db97
cmp ecx, 0x3b23d0b1
jne 0x44db60
jmp 0x44dbc8
cmp ecx, 0x9c6e8745
je 0x44db9b
cmp ecx, 0xeb760989
jne 0x44db60
mov ecx, 0x20e9c049
jmp 0x44db60
mov ecx, eax
jmp 0x44db60
movzx edx, byte [esi + 0x1c]
movzx ecx, byte [esi + 0x30]
mov ch, dl
xor ch, cl
mov edi, 0xeb760989
mov ebx, 0x20e9c049
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
mov edx, dword [esi + 0x90]
cmove ecx, edi
jmp 0x44db60
mov dword [esi + 0x40], edx
mov eax, dword [esi + 0x40]
mov eax, dword [0x5cf4d0]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, dword [0x5cf4d4]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x58]
sete cl
mov eax, 0x7c4a5f2
mov edi, 0xcfcad29c
cmove eax, edi
cmp edx, 0xa
mov edx, dword [esi + 0x60]
mov dword [edx], 0
mov dword [edx + 4], 0
mov dword [edx + 8], 0
mov edx, dword [esi + 0x94]
mov dword [esi + 0x30], edx
setl byte [esi + 0x78]
mov edx, dword [esi + 0x9c]
mov dword [esi + 0x1c], edx
setl dl
mov ebx, 0x7c4a5f2
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
mov ecx, 0x389c0e25
cmp ecx, 0x7c4a5f1
jg 0x44dc60
cmp ecx, 0xcfcad29c
je 0x44dc9e
cmp ecx, 0x3aca7e6
jne 0x44dc40
mov ecx, eax
jmp 0x44dc40
cmp ecx, 0x7c4a5f2
je 0x44dc97
cmp ecx, 0x389c0e25
jne 0x44dc40
movzx edx, byte [esi + 0x58]
movzx ecx, byte [esi + 0x78]
mov ch, dl
xor ch, cl
mov edi, 0x7c4a5f2
mov ebx, 0x3aca7e6
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x44dc40
mov ecx, 0x3aca7e6
jmp 0x44dc40
mov dword [esi + 0x40], 2
mov eax, dword [esi + 0x40]
mov dword [esi + 0xd8], 1
mov ecx, dword [esi + 0x60]
lea edx, [esi + 0x30]
push edx
lea edx, [esi + 0x1c]
push edx
push eax
call fcn.00432de0
mov dword [esi + 0xd8], 2
mov ecx, dword [esi + 0x3c]
push dword [esi + 0x60]
call fcn.004325a0
mov eax, dword [0x5cf6d0]
mov ecx, dword [0x5cf6d4]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x30]
cmp ecx, 0xa
setl byte [esi + 0x40]
mov eax, 0x950d98a
mov ebx, dword [esi + 0x2c]
mov edi, dword [esi + 0x10]
mov ecx, dword [esi + 0x60]
nop dword [eax]
cmp eax, 0x31a61df4
jg 0x44dd30
cmp eax, 0xc6e82640
je 0x44d770
cmp eax, 0x950d98a
jne 0x44dd10
jmp 0x44dd4a
cmp eax, 0x31a61df5
je 0x44dd76
cmp eax, 0x4d86efb0
jne 0x44dd10
call fcn.0041d690
mov eax, 0x31a61df5
jmp 0x44dd06
movzx ecx, byte [esi + 0x30]
movzx eax, byte [esi + 0x40]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x4d86efb0
mov edi, 0x31a61df5
cmovne eax, edi
test cl, cl
mov ecx, 0x4d86efb0
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x44dd03
call fcn.0041d690
mov eax, dword [0x5cf6d0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x4d86efb0
mov edi, 0xc6e82640
cmove eax, edi
cmp dword [0x5cf6d4], 0xa
mov edx, 0x4d86efb0
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x44dd03
mov edx, dword [esi + 0x3c]
mov eax, dword [edx]
mov edx, dword [edx + 4]
sub edx, eax
sar edx, 2
imul edx, edx, 0xaaaaaaab
cmp edx, 2
jb 0x44e13e
mov dword [esi + 0x88], 1
jmp 0x44de09
mov ebx, dword [esi + 0x88]
inc ebx
mov edx, dword [esi + 0x3c]
mov eax, dword [edx]
mov edx, dword [edx + 4]
sub edx, eax
sar edx, 2
imul edx, edx, 0xaaaaaaab
mov dword [esi + 0x88], ebx
cmp ebx, edx
jae 0x44e13e
lea eax, [ecx + 1]
imul eax, ecx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete al
cmp edi, 0xa
setl cl
mov edx, dword [esi + 0x88]
mov dword [esi + 0x10], edx
test cl, al
jne 0x44de59
xor cl, al
mov eax, dword [esi + 0x88]
mov dword [esi + 0x10], eax
jne 0x44de59
jmp 0x4501a0
mov eax, dword [esi + 0x24]
mov dword [esi + 0x40], eax
mov ecx, dword [esi + 0x40]
push edx
call fcn.00433980
cmp dword [esi + 0x10], 0
je 0x44e106
mov eax, dword [0x5cf6d8]
mov ebx, dword [0x5cf6dc]
lea edi, [eax + 1]
imul edi, eax
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete al
cmp ebx, 0xa
setl dl
xor dl, al
mov eax, 0xbf25ae54
mov edx, 0x20ab24e5
cmovne eax, edx
mov dword [esi + 0x28], ecx
test ecx, edi
sete byte [esi + 0x1c]
mov ecx, eax
cmove ecx, edx
mov dword [esi + 0x18], ebx
cmp ebx, 0xa
cmovge ecx, eax
mov dword [esi + 0xc], ecx
setl byte [esi + 0x30]
mov eax, dword [esi + 0x3c]
mov edx, dword [eax]
mov eax, dword [esi + 0x10]
lea eax, [eax + eax*2]
lea eax, [edx + eax*4]
mov dword [esi + 0x24], eax
mov eax, 0xe6642f9a
nop dword [eax]
cmp eax, 0xffb13444
jle 0x44dee0
cmp eax, 0xffb13445
je 0x44df1f
cmp eax, 0x20ab24e5
jne 0x44dec0
jmp 0x44df30
cmp eax, 0xbf25ae54
je 0x44df24
cmp eax, 0xe6642f9a
jne 0x44dec0
mov dword [esi + 0x2c], edi
mov edi, edx
movzx edx, byte [esi + 0x1c]
movzx eax, byte [esi + 0x30]
mov ah, dl
xor ah, al
mov ebx, 0xbf25ae54
mov ecx, 0xffb13445
cmovne ebx, ecx
test al, al
mov eax, ebx
cmovne eax, ecx
test dl, dl
mov edx, edi
mov edi, dword [esi + 0x2c]
cmove eax, ebx
jmp 0x44dec0
mov eax, dword [esi + 0xc]
jmp 0x44dec0
mov eax, 0xffb13445
jmp 0x44dec0
mov ecx, dword [esi + 0x10]
dec ecx
test dword [esi + 0x28], edi
mov eax, dword [esi + 0x24]
mov dword [esi + 0x40], eax
mov eax, dword [esi + 0x40]
mov eax, dword [eax]
mov ebx, dword [eax]
mov dword [esi + 0x5c], ebx
mov ebx, dword [eax + 4]
sete byte [esi + 0x1c]
cmp dword [esi + 0x18], 0xa
setl byte [esi + 0x30]
mov dword [esi + 0x10], ecx
lea eax, [ecx + ecx*2]
lea eax, [edx + eax*4]
mov dword [esi + 0x2c], eax
mov eax, 0xe6642f9a
nop word [eax + eax]
cmp eax, 0xffb13444
jle 0x44df90
cmp eax, 0xffb13445
je 0x44dfd3
cmp eax, 0x20ab24e5
jne 0x44df70
jmp 0x44dfe0
cmp eax, 0xbf25ae54
je 0x44dfd8
cmp eax, 0xe6642f9a
jne 0x44df70
mov ecx, ebx
movzx ebx, byte [esi + 0x1c]
movzx eax, byte [esi + 0x30]
mov bh, al
xor bh, bl
test al, al
mov eax, 0xbf25ae54
mov edx, 0xffb13445
cmovne eax, edx
test bl, bl
mov edx, 0xbf25ae54
cmove eax, edx
test bh, bh
mov ebx, ecx
mov ecx, 0xffb13445
cmovne eax, ecx
jmp 0x44df70
mov eax, dword [esi + 0xc]
jmp 0x44df70
mov eax, 0xffb13445
jmp 0x44df70
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x40], eax
mov eax, dword [esi + 0x40]
mov eax, dword [eax]
mov ecx, dword [esi + 0x5c]
cmp ecx, dword [eax]
sbb ebx, dword [eax + 4]
jge 0x44e106
test dword [esi + 0x28], edi
sete byte [esi + 0x1c]
cmp dword [esi + 0x18], 0xa
setl byte [esi + 0x30]
mov eax, 0xe6642f9a
nop dword [eax]
cmp eax, 0xffb13444
jle 0x44e030
cmp eax, 0xffb13445
je 0x44e06a
cmp eax, 0x20ab24e5
jne 0x44e010
jmp 0x44e080
cmp eax, 0xbf25ae54
je 0x44e06f
cmp eax, 0xe6642f9a
jne 0x44e010
movzx edx, byte [esi + 0x1c]
movzx eax, byte [esi + 0x30]
mov dh, al
xor dh, dl
test al, al
mov eax, 0xbf25ae54
mov ecx, 0xffb13445
cmovne eax, ecx
test dl, dl
mov ebx, 0xbf25ae54
cmove eax, ebx
test dh, dh
cmovne eax, ecx
jmp 0x44e010
mov eax, dword [esi + 0xc]
jmp 0x44e010
mov eax, 0xffb13445
jmp 0x44e010
test dword [esi + 0x28], edi
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x40], eax
mov edx, dword [esi + 0x40]
sete byte [esi + 0x1c]
cmp dword [esi + 0x18], 0xa
setl byte [esi + 0x30]
mov eax, 0xe6642f9a
nop dword [eax]
cmp eax, 0xffb13444
jle 0x44e0c0
cmp eax, 0xffb13445
je 0x44e0fa
cmp eax, 0x20ab24e5
jne 0x44e0a0
jmp 0x44de40
cmp eax, 0xbf25ae54
je 0x44e0ff
cmp eax, 0xe6642f9a
jne 0x44e0a0
movzx ecx, byte [esi + 0x1c]
movzx eax, byte [esi + 0x30]
mov ch, al
xor ch, cl
test al, al
mov eax, 0xbf25ae54
mov ebx, 0xffb13445
cmovne eax, ebx
test cl, cl
mov edi, 0xbf25ae54
cmove eax, edi
test ch, ch
cmovne eax, ebx
jmp 0x44e0a0
mov eax, dword [esi + 0xc]
jmp 0x44e0a0
mov eax, 0xffb13445
jmp 0x44e0a0
mov ecx, dword [0x5cf6c0]
mov edi, dword [0x5cf6c4]
lea eax, [ecx + 1]
imul eax, ecx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete al
cmp edi, 0xa
setl dl
test dl, al
jne 0x44dde1
xor dl, al
jne 0x44dde1
jmp 0x4501b0
mov edx, dword [0x5cf6e0]
mov ecx, dword [0x5cf6e4]
lea edi, [edx + 1]
mov dword [esi + 0x10], edx
imul edi, edx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x1c]
mov dword [esi + 0xc], ecx
cmp ecx, 0xa
setl byte [esi + 0x30]
mov edi, 0x124998e2
mov edx, dword [esi + 0x6c]
nop word cs:[eax + eax]
cmp edi, 0x124998e1
jg 0x44e1a1
cmp edi, 0x88e9608c
je 0x44e1b7
cmp edi, 0xdf32ec89
jne 0x44e180
mov dword [edx], eax
mov edi, 0x88e9608c
jmp 0x44e180
cmp edi, 0x30b7124c
je 0x44e23d
cmp edi, 0x124998e2
jne 0x44e180
jmp 0x44e20f
mov dword [esi + 0x40], edx
mov ecx, dword [esi + 0x40]
mov dword [ecx], eax
mov ecx, dword [0x5cf6e0]
mov ebx, dword [0x5cf6e4]
mov dword [esi + 0xc], ebx
lea edi, [ecx + 1]
mov dword [esi + 0x10], ecx
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete dl
cmp ebx, 0xa
setl dh
xor dh, dl
mov edx, 0xdf32ec89
mov ebx, 0x30b7124c
cmovne edx, ebx
test ecx, edi
mov edi, edx
cmove edi, ebx
cmp dword [esi + 0xc], 0xa
cmovge edi, edx
mov edx, dword [esi + 0x6c]
mov ecx, dword [esi + 0x40]
jmp 0x44e180
movzx ecx, byte [esi + 0x1c]
mov bh, byte [esi + 0x30]
mov bl, cl
xor bl, bh
mov edx, 0xdf32ec89
mov edi, 0x88e9608c
cmovne edx, edi
test bh, bh
mov edi, edx
mov ebx, 0x88e9608c
cmovne edi, ebx
test cl, cl
cmove edi, edx
jmp 0x44e16e
mov ecx, dword [esi + 0x10]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
test ecx, eax
mov eax, dword [esi + 0x40]
mov eax, dword [esi + 0x3c]
mov eax, dword [eax + 4]
sete byte [esi + 0x1c]
cmp dword [esi + 0xc], 0xa
setl byte [esi + 0x30]
mov ecx, 0x124998e2
mov edx, dword [esi + 0xa4]
nop dword [eax]
cmp ecx, 0x124998e1
jg 0x44e291
cmp ecx, 0x88e9608c
je 0x44e2d2
cmp ecx, 0xdf32ec89
jne 0x44e270
mov dword [edx], eax
mov ecx, 0x88e9608c
jmp 0x44e270
cmp ecx, 0x30b7124c
je 0x44e323
cmp ecx, 0x124998e2
jne 0x44e270
movzx edx, byte [esi + 0x1c]
movzx ecx, byte [esi + 0x30]
mov ch, dl
xor ch, cl
mov edi, 0xdf32ec89
mov ebx, 0x88e9608c
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
mov edx, dword [esi + 0xa4]
cmove ecx, edi
jmp 0x44e270
mov dword [esi + 0x40], edx
mov ecx, dword [esi + 0x40]
mov dword [ecx], eax
mov ecx, dword [esi + 0x40]
mov ecx, dword [0x5cf6e0]
lea edx, [ecx - 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
mov ecx, 0xdf32ec89
mov edi, 0x30b7124c
cmove ecx, edi
cmp dword [0x5cf6e4], 0xa
mov ebx, 0xdf32ec89
cmovge ecx, ebx
setl dh
xor dh, dl
mov edx, dword [esi + 0xa4]
cmovne ecx, edi
jmp 0x44e270
mov eax, dword [esi + 0x40]
mov eax, dword [0x5cf6c0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x5cf6c4], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x44e357
or cl, al
jne 0x450150
mov ecx, dword [esi + 0x6c]
mov eax, dword [ecx]
mov edx, dword [esi + 0xa4]
cmp eax, dword [edx]
je 0x44e7b2
call fcn.005936c0
mov ecx, dword [0x5cf6e8]
mov edx, dword [0x5cf6ec]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x30]
sete bl
mov ecx, 0xfc04dcc5
mov edi, 0x2601f5a7
cmove ecx, edi
cmp edx, 0xa
setl byte [esi + 0x40]
setl dl
mov dword [esi + 0x10], eax
mov eax, dword [eax]
mov dword [esi + 0xc], eax
mov eax, 0xfc04dcc5
cmovge ecx, eax
xor dl, bl
cmovne ecx, edi
mov edx, 0x5a893bc4
nop word cs:[eax + eax]
cmp edx, 0x2601f5a6
jg 0x44e3f0
cmp edx, 0x87fb68d6
je 0x44e42c
cmp edx, 0xfc04dcc5
jne 0x44e3d0
mov edx, 0x87fb68d6
jmp 0x44e3d0
cmp edx, 0x2601f5a7
je 0x44e430
cmp edx, 0x5a893bc4
jne 0x44e3d0
movzx ebx, byte [esi + 0x30]
movzx edx, byte [esi + 0x40]
mov bh, bl
xor bh, dl
test dl, dl
mov edx, 0xfc04dcc5
mov edi, 0x87fb68d6
cmovne edx, edi
test bl, bl
mov eax, 0xfc04dcc5
cmove edx, eax
test bh, bh
cmovne edx, edi
jmp 0x44e3d0
mov edx, ecx
jmp 0x44e3d0
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 4]
mov eax, dword [0x5cf6c0]
mov dword [esi + 0x2c], eax
mov eax, dword [0x5cf6c4]
mov dword [esi + 0x24], eax
mov dword [esi + 0x5c], ecx
cmp dword [esi + 0xc], ecx
je 0x44e67d
mov eax, dword [0x5cf6f0]
mov dword [esi + 0x18], eax
mov eax, dword [0x5cf6f4]
mov dword [esi + 0x10], eax
jmp 0x44e482
mov eax, dword [esi + 0xc]
add eax, 8
mov dword [esi + 0xc], eax
cmp eax, dword [esi + 0x5c]
je 0x44e67d
mov ecx, dword [esi + 0x2c]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
test ecx, eax
setne cl
cmp dword [esi + 0x24], 0xa
setge al
mov edx, eax
xor dl, cl
or al, cl
xor al, 1
or al, dl
mov byte [esi + 0x28], al
jne 0x44e569
mov eax, dword [esi + 0x18]
lea edx, [eax + 1]
imul edx, eax
mov ecx, edx
xor ecx, 0xfffffffe
and ecx, edx
test ecx, ecx
sete al
mov edi, dword [esi + 0x10]
cmp edi, 0xa
setl dl
xor dl, al
mov eax, 0x4c6ca682
mov edx, 0x6707b2cf
cmovne eax, edx
test ecx, ecx
sete byte [esi + 0x1c]
mov ecx, eax
cmove ecx, edx
cmp edi, 0xa
setl byte [esi + 0x30]
cmovge ecx, eax
mov edx, 0x1b272c9a
jmp 0x44e500
mov edx, ecx
nop word [eax + eax]
cmp edx, 0x4c6ca681
jle 0x44e520
cmp edx, 0x4c6ca682
je 0x44e557
cmp edx, 0x6707b2cf
jne 0x44e500
jmp 0x44e560
cmp edx, 0xf74fd645
je 0x44e4f8
cmp edx, 0x1b272c9a
jne 0x44e500
movzx eax, byte [esi + 0x1c]
movzx edx, byte [esi + 0x30]
mov ah, al
xor ah, dl
mov ebx, 0x4c6ca682
mov edi, 0xf74fd645
cmovne ebx, edi
test dl, dl
mov edx, ebx
cmovne edx, edi
test al, al
cmove edx, ebx
jmp 0x44e500
mov edx, 0xf74fd645
jmp 0x44e500
mov eax, dword [esi + 0xc]
mov dword [esi + 0x40], eax
mov eax, dword [esi + 0x40]
mov eax, dword [esi + 0x18]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, ecx
and edx, 1
sete dl
mov edi, dword [esi + 0x10]
cmp edi, 0xa
setl ah
xor ah, dl
mov edx, 0x4c6ca682
mov eax, 0x6707b2cf
cmovne edx, eax
and ecx, 1
sete byte [esi + 0x1c]
mov ebx, edx
cmove ebx, eax
cmp edi, 0xa
setl byte [esi + 0x30]
cmovge ebx, edx
mov edx, 0x1b272c9a
nop dword [eax]
cmp edx, 0x4c6ca681
jle 0x44e5d0
cmp edx, 0x4c6ca682
je 0x44e610
cmp edx, 0x6707b2cf
jne 0x44e5b0
jmp 0x44e620
cmp edx, 0xf74fd645
je 0x44e617
cmp edx, 0x1b272c9a
jne 0x44e5b0
mov ah, byte [esi + 0x1c]
movzx edx, byte [esi + 0x30]
mov al, dl
xor al, ah
test dl, dl
mov edx, 0x4c6ca682
mov edi, 0xf74fd645
cmovne edx, edi
test ah, ah
mov edi, 0x4c6ca682
cmove edx, edi
test al, al
mov eax, 0xf74fd645
cmovne edx, eax
jmp 0x44e5b0
mov edx, 0xf74fd645
jmp 0x44e5b0
mov edx, ebx
jmp 0x44e5b0
mov eax, dword [esi + 0xc]
mov dword [esi + 0x40], eax
mov edx, dword [esi + 0x40]
cmp byte [esi + 0x28], 0
je 0x44e4bf
mov eax, dword [edx + 4]
mov ecx, 0x136
xor eax, ecx
mov ecx, dword [edx]
mov edx, 0xf74f03be
xor ecx, edx
or ecx, eax
jne 0x44e470
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, dword [0x5cf6c0]
mov dword [esi + 0x2c], eax
mov eax, dword [0x5cf6c4]
mov dword [esi + 0x24], eax
mov eax, dword [0x5cf6f0]
mov dword [esi + 0x18], eax
mov eax, dword [0x5cf6f4]
mov dword [esi + 0x10], eax
jmp 0x44e470
mov ecx, dword [esi + 0x2c]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
test ecx, eax
setne al
sete dl
cmp dword [esi + 0x24], 0xa
setge cl
setl ah
xor ah, dl
jne 0x44e6a9
or cl, al
jne 0x450170
mov eax, dword [0x5cf6f8]
mov ecx, dword [0x5cf6fc]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x1c]
cmp ecx, 0xa
setl byte [esi + 0x30]
mov eax, 0xcd5e6053
mov ecx, dword [esi + 0x6c]
jmp 0x44e720
mov dword [esi + 0x40], ecx
mov eax, dword [esi + 0x40]
add dword [eax], 0xc
mov eax, dword [0x5cf6f8]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x18ed46ca
mov edi, 0x5499d804
cmove eax, edi
cmp dword [0x5cf6fc], 0xa
mov edx, 0x18ed46ca
cmovge eax, edx
setl dl
xor dl, cl
mov ecx, dword [esi + 0x6c]
cmovne eax, edi
nop dword [eax]
cmp eax, 0x5499d803
jg 0x44e740
cmp eax, 0xcd5e6053
je 0x44e750
cmp eax, 0x18ed46ca
jne 0x44e720
add dword [ecx], 0xc
mov eax, 0x685e39a2
jmp 0x44e720
cmp eax, 0x5499d804
je 0x44e779
cmp eax, 0x685e39a2
jne 0x44e720
jmp 0x44e6d7
movzx ecx, byte [esi + 0x1c]
movzx eax, byte [esi + 0x30]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x18ed46ca
mov edi, 0x685e39a2
cmovne eax, edi
test cl, cl
mov ecx, 0x18ed46ca
cmove eax, ecx
test dl, dl
jmp 0x44e717
mov eax, dword [esi + 0x40]
mov ecx, dword [0x5cf6c0]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5cf6c4], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x44e357
or cl, al
test cl, 1
je 0x44e357
jmp 0x450150
mov ecx, dword [esi + 0x3c]
call fcn.0041d7f0
mov ecx, dword [0x5cf6c0]
mov eax, dword [0x5cf6c4]
lea edx, [ecx + 1]
imul edx, ecx
mov edi, edx
xor edi, 0xfffffffe
test edi, edx
setne dl
sete bl
mov dword [esi + 0x10], eax
cmp eax, 0xa
setge dh
setl bh
xor bh, bl
mov ebx, dword [esi + 0x98]
jne 0x44d73f
or dh, dl
mov ebx, dword [esi + 0x98]
je 0x44d73f
mov edi, dword [esi + 0x3c]
mov ecx, edi
call fcn.0041d7f0
mov ecx, edi
call fcn.0041d7f0
mov ecx, dword [0x5cf6c0]
mov eax, dword [0x5cf6c4]
lea edx, [ecx + 1]
imul edx, ecx
test dl, 1
sete bh
mov dword [esi + 0x10], eax
cmp eax, 0xa
setge bl
setl al
or bl, dl
xor al, bh
test al, al
jne 0x44e84c
test bl, 1
jne 0x44e800
mov ebx, dword [esi + 0x98]
jmp 0x44d73f
mov ebx, dword [esi + 0x98]
jmp 0x44d73f
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete cl
cmp dword [esi + 0x10], 0xa
setl al
test al, cl
jne 0x44e87b
xor al, cl
je 0x453a00
mov esp, dword [esi + 0xb4]
mov edx, dword [0x5cf6b8]
mov ecx, dword [0x5cf6bc]
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, 0xfc17cf40
mov edi, 0x891910a9
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
mov ecx, dword [esi + 0xa0]
jmp 0x44d010
push eax
mov dword [esi + 0x28], esp
push eax
mov ecx, esp
sub esp, 0x18
mov ebx, esp
mov dword [esi + 0x24], ecx
push 0x7a
push 0x61
call fcn.00542260
sub esp, 4
movzx eax, byte [esi + 0x1c]
mov byte [esp], al
mov ecx, ebx
call fcn.0040cd80
mov edx, dword [0x5cf4b8]
mov ecx, dword [0x5cf4bc]
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, 0x8f0f2ca8
mov edi, 0x11f1fb1a
cmovne edx, edi
cmp eax, 0xffffffff
sete byte [esi + 0x30]
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x40]
cmovge eax, edx
mov ecx, 0x13d3b53a
mov dword [esi + 0x18], ebx
nop word cs:[eax + eax]
cmp ecx, 0x13d3b539
jg 0x44e970
cmp ecx, 0x8f0f2ca8
je 0x44e9af
cmp ecx, 0x11f1fb1a
jne 0x44e950
jmp 0x44e9ba
cmp ecx, 0x1a1c1d98
je 0x44e9b6
cmp ecx, 0x13d3b53a
jne 0x44e950
movzx edx, byte [esi + 0x30]
movzx ecx, byte [esi + 0x40]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0x8f0f2ca8
mov ebx, 0x1a1c1d98
cmovne ecx, ebx
test dl, dl
mov edi, 0x8f0f2ca8
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
mov ebx, dword [esi + 0x18]
jmp 0x44e950
mov ecx, 0x1a1c1d98
jmp 0x44e950
mov ecx, eax
jmp 0x44e950
mov dword [ebx + 0x10], 0
mov dword [ebx + 0x14], 0xf
mov byte [ebx], 0
mov eax, dword [0x5cf5f0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5cf5f4], 0xa
setl cl
test cl, al
jne 0x44eaec
xor cl, al
jne 0x44eaec
push eax
mov ecx, esp
sub esp, 0x18
mov edi, esp
push 0x7a
push 0x61
call fcn.00542260
sub esp, 4
movzx eax, byte [esi + 0x1c]
mov byte [esp], al
mov dword [esi + 0xc], edi
mov ecx, edi
call fcn.0040cd80
mov eax, dword [0x5cf4b8]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, dword [0x5cf4bc]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x30]
sete cl
mov eax, 0x8f0f2ca8
mov edi, 0x11f1fb1a
cmove eax, edi
cmp edx, 0xa
setl byte [esi + 0x40]
setl dl
mov ebx, 0x8f0f2ca8
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
mov ecx, 0x13d3b53a
jmp 0x44ea70
mov ecx, eax
nop dword [eax]
cmp ecx, 0x13d3b539
jg 0x44ea90
cmp ecx, 0x8f0f2ca8
je 0x44eacc
cmp ecx, 0x11f1fb1a
jne 0x44ea70
jmp 0x44ead3
cmp ecx, 0x1a1c1d98
je 0x44ea6a
cmp ecx, 0x13d3b53a
jne 0x44ea70
movzx edx, byte [esi + 0x30]
movzx ecx, byte [esi + 0x40]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x8f0f2ca8
mov edi, 0x1a1c1d98
cmovne ecx, edi
test dl, dl
mov ebx, 0x8f0f2ca8
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x44ea70
mov ecx, 0x1a1c1d98
jmp 0x44ea70
mov eax, dword [esi + 0xc]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
jmp 0x44e8cc
xor edx, edx
cmp edx, 0x3e8
je 0x44ed6f
mov dword [esi + 0x2c], edx
mov ecx, dword [esi + 0x24]
movsx eax, byte [ecx + 1]
movsx edx, byte [ecx]
mov dword [esi + 0xd8], 4
push eax
push edx
push dword [esi + 0x28]
call fcn.0041e700
movsx eax, al
mov ecx, dword [esi + 0x18]
push eax
call fcn.00441240
mov eax, dword [0x5cf5f0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x5cf5f4], 0xa
setl ah
setge cl
cmp ah, dl
mov edi, dword [esi + 0x18]
jne 0x44eb60
or cl, al
jne 0x44eb94
nop word [eax + eax]
mov ecx, edi
call fcn.00423280
mov edx, dword [0x5cf5f0]
lea ecx, [edx + 1]
imul ecx, edx
test cl, 1
sete dh
cmp dword [0x5cf5f4], 0xa
setl bl
setge dl
cmp bl, dh
mov edi, dword [esi + 0x18]
jne 0x44eba0
or dl, cl
test dl, 1
je 0x44eba0
mov ecx, edi
call fcn.00423280
jmp 0x44eb60
mov ecx, dword [edi + 0x10]
cmp byte [ecx + eax - 1], 0x6f
je 0x44ebbf
mov ecx, edi
call fcn.00423280
mov ecx, dword [edi + 0x10]
cmp byte [ecx + eax - 1], 0x75
jne 0x44ed30
mov ecx, edi
call fcn.00423280
mov ebx, eax
mov ecx, edi
call fcn.00423280
add eax, dword [edi + 0x10]
mov dword [esi + 0x10], eax
mov ecx, dword [0x5cf5f0]
mov eax, dword [0x5cf5f4]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
and ecx, edx
sete dl
cmp eax, 0xa
setl dh
test dh, dl
jne 0x44ec02
xor dh, dl
je 0x4500f0
mov edi, ebx
cmp ebx, dword [esi + 0x10]
jne 0x44ec1a
jmp 0x44ed48
inc edi
cmp edi, dword [esi + 0x10]
je 0x44ed48
mov eax, dword [0x5cf5f8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x5cf5fc]
sete byte [esi + 0x1c]
sete dl
mov eax, 0xc9893d93
mov ebx, 0x603280c6
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 0x30]
setl cl
mov ebx, 0xc9893d93
cmovge eax, ebx
xor cl, dl
mov ecx, 0x603280c6
cmovne eax, ecx
mov ecx, 0xfc461c64
nop word [eax + eax]
cmp ecx, 0xfc461c63
jg 0x44ec90
cmp ecx, 0xc9893d93
je 0x44ecc8
cmp ecx, 0xdac56cfa
jne 0x44ec70
mov ecx, eax
jmp 0x44ec70
cmp ecx, 0x603280c6
je 0x44ecd0
cmp ecx, 0xfc461c64
jne 0x44ec70
mov ch, byte [esi + 0x1c]
mov byte [esi + 0xc], ch
mov cl, byte [esi + 0x30]
xor ch, cl
mov ebx, 0xc9893d93
mov edx, 0xdac56cfa
cmovne ebx, edx
test cl, cl
mov ecx, ebx
cmovne ecx, edx
cmp byte [esi + 0xc], 0
cmove ecx, ebx
jmp 0x44ec70
mov ecx, 0xdac56cfa
jmp 0x44ec70
mov dword [esi + 0x40], edi
mov ebx, dword [esi + 0x40]
movsx eax, byte [ebx]
push eax
call fcn.005a47b5
add esp, 4
and al, 0xa
mov byte [ebx], al
mov ecx, dword [0x5cf5f0]
mov eax, dword [0x5cf5f4]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
and ecx, edx
setne dl
sete bl
cmp eax, 0xa
setge dh
setl bh
xor bh, bl
jne 0x44ec10
or dh, dl
je 0x44ec10
jmp 0x4500e0
mov ecx, dword [0x5cf5f0]
mov eax, dword [0x5cf5f4]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
and ecx, edx
mov edx, dword [esi + 0x2c]
inc edx
test ecx, ecx
sete cl
cmp eax, 0xa
setl al
test cl, al
mov ebx, dword [esi + 0x18]
jne 0x44eaee
xor cl, al
jne 0x44eaee
jmp 0x450110
mov ecx, ebx
call fcn.00423280
cmp byte [eax + 0xd7], 0x31
jne 0x44ee64
mov eax, dword [0x5cf5f0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x5cf5f4], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x44edb0
or cl, al
jne 0x44ede5
mov ecx, ebx
call fcn.00423280
mov ecx, dword [0x5cf5f0]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
setne cl
sete ch
cmp dword [0x5cf5f4], 0xa
setge dl
setl dh
xor dh, ch
jne 0x44edee
or dl, cl
je 0x44edee
mov ecx, ebx
call fcn.00423280
jmp 0x44edb0
cmp byte [eax + 0x2d0], 0x30
jne 0x44ee64
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, dword [0x5cf5f0]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5cf5f4], 0xa
setl cl
test cl, al
jne 0x44ee64
xor cl, al
jne 0x44ee64
push 0
push 0
mov edi, dword [sym.imp.KERNEL32.dll_Beep]
call edi
push 0
push 0
call edi
mov ecx, dword [0x5cf5f0]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5cf5f4], 0xa
setge cl
setl ch
xor ch, dl
jne 0x44ee64
or cl, al
test cl, 1
jne 0x44ee29
mov ecx, ebx
call fcn.0040ed30
mov esp, dword [esi + 0x3c]
mov dword [esi + 0xbc], esp
mov ecx, dword [0x5cf6c0]
mov eax, dword [0x5cf6c4]
lea edx, [ecx + 1]
mov dword [esi + 0x18], ecx
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dh
mov dword [esi + 0x10], eax
cmp eax, 0xa
setl al
or al, dh
mov byte [esi + 0xc], al
nop word cs:[eax + eax]
push eax
sub esp, 8
mov dword [esi + 0x5c], esp
sub esp, 0xc
mov dword [esi + 0x74], esp
sub esp, 0x10
mov ebx, esp
and ebx, 0xfffffff8
mov esp, ebx
push eax
mov dword [esi + 0x88], esp
sub esp, 0xc
mov dword [esi + 0x64], esp
sub esp, 0x10
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
push eax
mov ecx, esp
push eax
mov edi, esp
push eax
mov edx, esp
cmp byte [esi + 0xc], 0
je 0x44eeb0
mov dword [esi + 0x98], edx
mov dword [esi + 0x84], edi
mov dword [esi + 0x80], ecx
mov dword [esi + 0x9c], ebx
lea ecx, [ebx + 0x10]
mov dword [esi + 0x94], ecx
lea ecx, [eax + 0x10]
mov dword [esi + 0xa4], ecx
mov edi, 0xa
mov ecx, dword [esi + 0x5c]
mov dword [esi + 0x90], eax
cmp edi, 0x1f4
jae 0x45008c
call fcn.004322e0
lea eax, [edi + 1]
imul edi, eax
shr edi, 1
mov dword [esi + 0x6c], edi
mov dword [esi + 0xb4], eax
mov edi, eax
shr edi, 1
xor ecx, ecx
nop dword [eax]
mov dword [esi + 0x10], ecx
mov dword [esi + 0xc], edi
mov ecx, dword [0x5cf6c0]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dh
mov edi, dword [0x5cf6c4]
cmp edi, 0xa
setl bl
setge dl
cmp bl, dh
jne 0x44ef85
or dl, al
test dl, 1
jne 0x450130
mov edx, dword [esi + 0xc]
mov eax, edx
imul eax, dword [esi + 0x10]
mulx edx, ebx, edx
add eax, eax
add eax, edx
mov edx, dword [esi + 0x6c]
cmp ebx, edx
sbb eax, 0
jae 0x44f5dc
mov eax, dword [esi + 0xc]
sub edx, eax
mov dword [esi + 0x2c], edx
mov ebx, 0
mov edi, dword [esi + 0x10]
sbb ebx, edi
add eax, 1
adc edi, 0
mov dword [esi + 0x18], edi
push edi
push eax
mov edi, eax
push ebx
push edx
call fcn.00594a90
mov ecx, eax
mov dword [esi + 0x24], edx
mov edx, eax
mov eax, edi
mov dword [esi + 0x28], edi
mulx edi, edx, edi
mov dword [esi + 0x3c], edx
mov dword [esi + 0x60], ecx
mov edx, ecx
mov ecx, dword [esi + 0x18]
imul edx, ecx
add edi, edx
mov edx, dword [esi + 0x24]
imul edx, eax
add edx, edi
mov eax, dword [esi + 0x2c]
sub eax, dword [esi + 0x3c]
sbb ebx, edx
or ebx, eax
mov edi, dword [esi + 0x28]
jne 0x44ef50
mov eax, dword [0x5cf6c8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete byte [esi + 0x1c]
mov ecx, dword [0x5cf6cc]
mov eax, 0xeb760989
mov edi, 0x3b23d0b1
cmove eax, edi
sete dl
cmp ecx, 0xa
mov ecx, dword [esi + 0x9c]
mov ebx, dword [esi + 0xc]
mov dword [ecx], ebx
mov ebx, dword [esi + 0x10]
mov dword [ecx + 4], ebx
mov ebx, dword [esi + 0x60]
mov dword [ecx + 8], ebx
setl byte [esi + 0x30]
mov ebx, dword [esi + 0x24]
mov dword [ecx + 0xc], ebx
setl cl
mov ebx, 0xeb760989
cmovge eax, ebx
xor cl, dl
cmovne eax, edi
mov ecx, 0x9c6e8745
mov edx, dword [esi + 0x88]
nop word cs:[eax + eax]
cmp ecx, 0x20e9c048
jle 0x44f0a0
cmp ecx, 0x20e9c049
je 0x44f0b7
cmp ecx, 0x3b23d0b1
jne 0x44f080
jmp 0x44f0e8
cmp ecx, 0x9c6e8745
je 0x44f0bb
cmp ecx, 0xeb760989
jne 0x44f080
mov ecx, 0x20e9c049
jmp 0x44f080
mov ecx, eax
jmp 0x44f080
movzx edx, byte [esi + 0x1c]
movzx ecx, byte [esi + 0x30]
mov ch, dl
xor ch, cl
mov edi, 0xeb760989
mov ebx, 0x20e9c049
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
mov edx, dword [esi + 0x88]
cmove ecx, edi
jmp 0x44f080
mov dword [esi + 0x40], edx
mov eax, dword [esi + 0x40]
mov edx, dword [0x5cf4d0]
mov ecx, dword [0x5cf4d4]
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, 0x7c4a5f2
mov ebx, 0xcfcad29c
cmovne edx, ebx
test edi, eax
sete byte [esi + 0x58]
mov ebx, edx
mov eax, 0xcfcad29c
cmove ebx, eax
cmp ecx, 0xa
mov ecx, dword [esi + 0x74]
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
mov eax, dword [esi + 0x94]
mov dword [esi + 0x30], eax
setl byte [esi + 0x78]
mov eax, dword [esi + 0x9c]
mov dword [esi + 0x1c], eax
cmovge ebx, edx
mov eax, 0x389c0e25
nop word [eax + eax]
cmp eax, 0x7c4a5f1
jg 0x44f190
cmp eax, 0xcfcad29c
je 0x44f1d4
cmp eax, 0x3aca7e6
jne 0x44f170
mov eax, ebx
jmp 0x44f170
cmp eax, 0x7c4a5f2
je 0x44f1cd
cmp eax, 0x389c0e25
jne 0x44f170
movzx edx, byte [esi + 0x58]
movzx ecx, byte [esi + 0x78]
mov ch, dl
xor ch, cl
mov edi, 0x7c4a5f2
mov eax, 0x3aca7e6
cmovne edi, eax
test cl, cl
mov eax, edi
mov ecx, 0x3aca7e6
cmovne eax, ecx
mov ecx, dword [esi + 0x74]
test dl, dl
cmove eax, edi
jmp 0x44f170
mov eax, 0x3aca7e6
jmp 0x44f170
mov dword [esi + 0x40], 2
mov eax, dword [esi + 0x40]
mov dword [esi + 0xd8], 5
lea edx, [esi + 0x30]
push edx
lea edx, [esi + 0x1c]
push edx
push eax
call fcn.00432de0
mov dword [esi + 0xd8], 7
mov ecx, dword [esi + 0x5c]
push dword [esi + 0x74]
call fcn.004325a0
mov eax, dword [0x5cf6d0]
mov ecx, dword [0x5cf6d4]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x30]
cmp ecx, 0xa
setl byte [esi + 0x40]
mov eax, 0x950d98a
mov ebx, dword [esi + 0x74]
nop word cs:[eax + eax]
cmp eax, 0x31a61df4
jg 0x44f290
cmp eax, 0xc6e82640
je 0x44f2f2
cmp eax, 0x950d98a
jne 0x44f240
movzx ecx, byte [esi + 0x30]
movzx eax, byte [esi + 0x40]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x4d86efb0
mov edi, 0x31a61df5
cmovne eax, edi
test cl, cl
mov ecx, 0x4d86efb0
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x44f240
cmp eax, 0x31a61df5
je 0x44f2ac
cmp eax, 0x4d86efb0
jne 0x44f240
mov ecx, ebx
call fcn.0041d690
mov eax, 0x31a61df5
jmp 0x44f240
mov ecx, ebx
call fcn.0041d690
mov eax, dword [0x5cf6d0]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x4d86efb0
mov edi, 0xc6e82640
cmove eax, edi
cmp dword [0x5cf6d4], 0xa
mov edx, 0x4d86efb0
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x44f240
mov ecx, dword [0x5cf6c8]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
test ecx, eax
sete dl
mov edi, dword [0x5cf6cc]
cmp edi, 0xa
setl dh
xor dh, dl
mov edx, 0xeb760989
mov ebx, 0x3b23d0b1
cmovne edx, ebx
test ecx, eax
mov eax, dword [esi + 0x90]
mov ecx, dword [esi + 0x24]
mov dword [eax + 4], ecx
sete byte [esi + 0x1c]
mov ecx, dword [esi + 0x60]
mov dword [eax], ecx
mov ecx, dword [esi + 0x10]
mov dword [eax + 0xc], ecx
mov ebx, edx
mov ecx, 0x3b23d0b1
cmove ebx, ecx
cmp edi, 0xa
setl byte [esi + 0x30]
mov ecx, dword [esi + 0xc]
mov dword [eax + 8], ecx
cmovge ebx, edx
mov eax, 0x9c6e8745
mov ecx, dword [esi + 0x64]
mov edx, dword [esi + 0x80]
nop dword [eax + eax]
cmp eax, 0x20e9c048
jle 0x44f390
cmp eax, 0x20e9c049
je 0x44f3a5
cmp eax, 0x3b23d0b1
jne 0x44f370
jmp 0x44f3de
cmp eax, 0x9c6e8745
je 0x44f3a9
cmp eax, 0xeb760989
jne 0x44f370
mov eax, 0x20e9c049
jmp 0x44f370
mov eax, ebx
jmp 0x44f370
movzx edx, byte [esi + 0x1c]
movzx ecx, byte [esi + 0x30]
mov dh, dl
xor dh, cl
test cl, cl
mov eax, 0xeb760989
mov ecx, 0x20e9c049
cmovne eax, ecx
test dl, dl
mov edi, 0xeb760989
cmove eax, edi
test dh, dh
mov edx, dword [esi + 0x80]
cmovne eax, ecx
mov ecx, dword [esi + 0x64]
jmp 0x44f370
mov dword [esi + 0x40], edx
mov eax, dword [esi + 0x40]
mov edx, dword [0x5cf4d0]
mov edi, dword [0x5cf4d4]
lea eax, [edx + 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp edi, 0xa
setl dh
xor dh, dl
mov edx, 0x7c4a5f2
mov ebx, 0xcfcad29c
cmovne edx, ebx
cmp eax, 0xffffffff
sete byte [esi + 0x58]
mov ebx, edx
mov eax, 0xcfcad29c
cmove ebx, eax
cmp edi, 0xa
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
mov eax, dword [esi + 0xa4]
mov dword [esi + 0x30], eax
setl byte [esi + 0x78]
mov eax, dword [esi + 0x90]
mov dword [esi + 0x1c], eax
cmovge ebx, edx
mov eax, 0x389c0e25
nop dword [eax]
cmp eax, 0x7c4a5f1
jg 0x44f480
cmp eax, 0xcfcad29c
je 0x44f4c4
cmp eax, 0x3aca7e6
jne 0x44f460
mov eax, ebx
jmp 0x44f460
cmp eax, 0x7c4a5f2
je 0x44f4bd
cmp eax, 0x389c0e25
jne 0x44f460
movzx edx, byte [esi + 0x58]
movzx ecx, byte [esi + 0x78]
mov ch, dl
xor ch, cl
mov edi, 0x7c4a5f2
mov eax, 0x3aca7e6
cmovne edi, eax
test cl, cl
mov eax, edi
mov ecx, 0x3aca7e6
cmovne eax, ecx
mov ecx, dword [esi + 0x64]
test dl, dl
cmove eax, edi
jmp 0x44f460
mov eax, 0x3aca7e6
jmp 0x44f460
mov dword [esi + 0x40], 2
mov eax, dword [esi + 0x40]
mov dword [esi + 0xd8], 5
lea edx, [esi + 0x30]
push edx
lea edx, [esi + 0x1c]
push edx
push eax
call fcn.00432de0
mov dword [esi + 0xd8], 6
mov ecx, dword [esi + 0x5c]
push dword [esi + 0x64]
call fcn.004325a0
mov eax, dword [0x5cf6d0]
mov ecx, dword [0x5cf6d4]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x30]
cmp ecx, 0xa
setl byte [esi + 0x40]
mov eax, 0x950d98a
mov ebx, dword [esi + 0x64]
mov edi, dword [esi + 0x28]
mov ecx, dword [esi + 0x18]
nop dword [eax]
cmp eax, 0x31a61df4
jg 0x44f550
cmp eax, 0xc6e82640
je 0x44ef50
cmp eax, 0x950d98a
jne 0x44f530
jmp 0x44f56c
cmp eax, 0x31a61df5
je 0x44f596
cmp eax, 0x4d86efb0
jne 0x44f530
mov ecx, ebx
call fcn.0041d690
mov eax, 0x31a61df5
jmp 0x44f529
movzx ecx, byte [esi + 0x30]
movzx eax, byte [esi + 0x40]
mov edx, ecx
xor dl, al
mov edx, 0x4d86efb0
mov edi, 0x31a61df5
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
mov edi, dword [esi + 0x28]
test cl, cl
cmove eax, edx
jmp 0x44f529
mov ecx, ebx
call fcn.0041d690
mov eax, dword [0x5cf6d0]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x4d86efb0
mov edi, 0xc6e82640
cmove eax, edi
cmp dword [0x5cf6d4], 0xa
mov edx, 0x4d86efb0
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x44f526
mov edx, dword [esi + 0x5c]
mov eax, dword [edx]
mov edx, dword [edx + 4]
sub edx, eax
sar edx, 2
imul edx, edx, 0xaaaaaaab
cmp edx, 2
jb 0x44f94f
mov ebx, 1
jmp 0x44f61e
mov ebx, dword [esi + 0x60]
inc ebx
mov edx, dword [esi + 0x5c]
mov eax, dword [edx]
mov edx, dword [edx + 4]
sub edx, eax
sar edx, 2
imul edx, edx, 0xaaaaaaab
cmp ebx, edx
jae 0x44f94f
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
test ecx, eax
sete al
cmp edi, 0xa
setl cl
mov dword [esi + 0x60], ebx
mov dword [esi + 0x10], ebx
test cl, al
jne 0x44f669
xor cl, al
mov eax, dword [esi + 0x60]
mov dword [esi + 0x10], eax
jne 0x44f669
jmp 0x450190
mov eax, dword [esi + 0x24]
mov dword [esi + 0x40], eax
mov ecx, dword [esi + 0x40]
push ebx
call fcn.00433980
cmp dword [esi + 0x10], 0
je 0x44f918
mov eax, dword [0x5cf6d8]
mov ecx, dword [0x5cf6dc]
lea edx, [eax + 1]
imul edx, eax
and edx, 1
mov dword [esi + 0x28], edx
sete byte [esi + 0x1c]
sete al
mov ebx, 0xbf25ae54
mov edx, 0x20ab24e5
cmove ebx, edx
mov dword [esi + 0x18], ecx
cmp ecx, 0xa
setl byte [esi + 0x30]
mov ecx, 0xbf25ae54
cmovge ebx, ecx
setl cl
xor cl, al
mov eax, dword [esi + 0x5c]
mov edi, dword [eax]
mov eax, dword [esi + 0x10]
lea eax, [eax + eax*2]
lea eax, [edi + eax*4]
mov dword [esi + 0x24], eax
cmovne ebx, edx
mov dword [esi + 0xc], ebx
mov edx, 0xe6642f9a
nop word [eax + eax]
cmp edx, 0xffb13444
jle 0x44f6f0
cmp edx, 0xffb13445
je 0x44f727
cmp edx, 0x20ab24e5
jne 0x44f6d0
jmp 0x44f740
cmp edx, 0xbf25ae54
je 0x44f72c
cmp edx, 0xe6642f9a
jne 0x44f6d0
movzx eax, byte [esi + 0x1c]
movzx edx, byte [esi + 0x30]
mov ah, al
xor ah, dl
mov ecx, 0xbf25ae54
mov ebx, 0xffb13445
cmovne ecx, ebx
test dl, dl
mov edx, ecx
cmovne edx, ebx
test al, al
cmove edx, ecx
jmp 0x44f6d0
mov edx, dword [esi + 0xc]
jmp 0x44f6d0
mov edx, 0xffb13445
jmp 0x44f6d0
mov ecx, dword [esi + 0x10]
dec ecx
cmp dword [esi + 0x28], 0
mov eax, dword [esi + 0x24]
mov dword [esi + 0x40], eax
mov eax, dword [esi + 0x40]
mov eax, dword [eax]
mov ebx, dword [eax]
mov edx, dword [eax + 4]
sete byte [esi + 0x1c]
cmp dword [esi + 0x18], 0xa
setl byte [esi + 0x30]
mov dword [esi + 0x10], ecx
lea eax, [ecx + ecx*2]
lea eax, [edi + eax*4]
mov dword [esi + 0x2c], eax
mov eax, 0xe6642f9a
nop word cs:[eax + eax]
cmp eax, 0xffb13444
jle 0x44f7a0
cmp eax, 0xffb13445
je 0x44f7db
cmp eax, 0x20ab24e5
jne 0x44f780
jmp 0x44f7f0
cmp eax, 0xbf25ae54
je 0x44f7e0
cmp eax, 0xe6642f9a
jne 0x44f780
movzx ecx, byte [esi + 0x1c]
movzx eax, byte [esi + 0x30]
mov ah, cl
xor ah, al
mov dword [esi + 0x3c], edx
mov edx, 0xbf25ae54
mov edi, 0xffb13445
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
mov edx, dword [esi + 0x3c]
jmp 0x44f780
mov eax, dword [esi + 0xc]
jmp 0x44f780
mov eax, 0xffb13445
jmp 0x44f780
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x40], eax
mov eax, dword [esi + 0x40]
mov eax, dword [eax]
cmp ebx, dword [eax]
sbb edx, dword [eax + 4]
jge 0x44f918
cmp dword [esi + 0x28], 0
sete byte [esi + 0x1c]
cmp dword [esi + 0x18], 0xa
setl byte [esi + 0x30]
mov edx, 0xe6642f9a
nop dword [eax + eax]
cmp edx, 0xffb13444
jle 0x44f840
cmp edx, 0xffb13445
je 0x44f87c
cmp edx, 0x20ab24e5
jne 0x44f820
jmp 0x44f890
cmp edx, 0xbf25ae54
je 0x44f881
cmp edx, 0xe6642f9a
jne 0x44f820
movzx eax, byte [esi + 0x1c]
movzx ecx, byte [esi + 0x30]
mov ah, cl
xor ah, al
test cl, cl
mov edx, 0xbf25ae54
mov edi, 0xffb13445
cmovne edx, edi
test al, al
mov ecx, 0xbf25ae54
cmove edx, ecx
test ah, ah
cmovne edx, edi
jmp 0x44f820
mov edx, dword [esi + 0xc]
jmp 0x44f820
mov edx, 0xffb13445
jmp 0x44f820
cmp dword [esi + 0x28], 0
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x40], eax
mov ebx, dword [esi + 0x40]
sete byte [esi + 0x1c]
cmp dword [esi + 0x18], 0xa
setl byte [esi + 0x30]
mov ecx, 0xe6642f9a
nop
cmp ecx, 0xffb13444
jle 0x44f8d0
cmp ecx, 0xffb13445
je 0x44f90c
cmp ecx, 0x20ab24e5
jne 0x44f8b0
jmp 0x44f650
cmp ecx, 0xbf25ae54
je 0x44f911
cmp ecx, 0xe6642f9a
jne 0x44f8b0
movzx eax, byte [esi + 0x1c]
movzx ecx, byte [esi + 0x30]
mov ah, al
xor ah, cl
test cl, cl
mov ecx, 0xbf25ae54
mov edx, 0xffb13445
cmovne ecx, edx
test al, al
mov edi, 0xbf25ae54
cmove ecx, edi
test ah, ah
cmovne ecx, edx
jmp 0x44f8b0
mov ecx, dword [esi + 0xc]
jmp 0x44f8b0
mov ecx, 0xffb13445
jmp 0x44f8b0
mov ecx, dword [0x5cf6c0]
mov edi, dword [0x5cf6c4]
lea eax, [ecx + 1]
imul eax, ecx
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
sete al
cmp edi, 0xa
setl dl
test dl, al
jne 0x44f5ff
xor dl, al
jne 0x44f5ff
jmp 0x4501c0
mov edx, dword [0x5cf6e0]
mov ecx, dword [0x5cf6e4]
lea edi, [edx - 1]
imul edi, edx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x1c]
mov dword [esi + 0xc], ecx
cmp ecx, 0xa
setl byte [esi + 0x30]
mov edi, 0x124998e2
mov ecx, dword [esi + 0x84]
nop word cs:[eax + eax]
cmp edi, 0x124998e1
jg 0x44f9b1
cmp edi, 0x88e9608c
je 0x44f9fc
cmp edi, 0xdf32ec89
jne 0x44f990
mov dword [ecx], eax
mov edi, 0x88e9608c
jmp 0x44f990
cmp edi, 0x30b7124c
je 0x44fa51
cmp edi, 0x124998e2
jne 0x44f990
movzx ecx, byte [esi + 0x1c]
mov bh, byte [esi + 0x30]
mov bl, cl
xor bl, bh
test bh, bh
mov edi, 0xdf32ec89
mov dword [esi + 0x10], edx
mov edx, 0x88e9608c
cmovne edi, edx
test cl, cl
mov ecx, 0xdf32ec89
cmove edi, ecx
mov ecx, dword [esi + 0x84]
test bl, bl
cmovne edi, edx
mov edx, dword [esi + 0x10]
jmp 0x44f990
mov dword [esi + 0x40], ecx
mov ecx, dword [esi + 0x40]
mov dword [ecx], eax
mov ecx, dword [esi + 0x40]
mov edx, dword [0x5cf6e0]
mov ebx, dword [0x5cf6e4]
lea ecx, [edx - 1]
imul ecx, edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov edi, 0xdf32ec89
mov ecx, 0x30b7124c
cmove edi, ecx
sete cl
mov dword [esi + 0xc], ebx
cmp ebx, 0xa
mov ebx, 0xdf32ec89
cmovge edi, ebx
setl ch
xor ch, cl
mov ecx, 0x30b7124c
cmovne edi, ecx
jmp 0x44f97c
lea eax, [edx + 1]
imul eax, edx
mov ecx, eax
xor ecx, 0xfffffffe
test ecx, eax
mov eax, dword [esi + 0x40]
mov eax, dword [esi + 0x5c]
mov eax, dword [eax + 4]
sete byte [esi + 0x1c]
cmp dword [esi + 0xc], 0xa
setl byte [esi + 0x30]
mov ecx, 0x124998e2
mov edx, dword [esi + 0x98]
nop
cmp ecx, 0x124998e1
jg 0x44faa1
cmp ecx, 0x88e9608c
je 0x44fae2
cmp ecx, 0xdf32ec89
jne 0x44fa80
mov dword [edx], eax
mov ecx, 0x88e9608c
jmp 0x44fa80
cmp ecx, 0x30b7124c
je 0x44fb33
cmp ecx, 0x124998e2
jne 0x44fa80
movzx edx, byte [esi + 0x1c]
movzx ecx, byte [esi + 0x30]
mov ch, dl
xor ch, cl
mov edi, 0xdf32ec89
mov ebx, 0x88e9608c
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
mov edx, dword [esi + 0x98]
cmove ecx, edi
jmp 0x44fa80
mov dword [esi + 0x40], edx
mov ecx, dword [esi + 0x40]
mov dword [ecx], eax
mov ecx, dword [esi + 0x40]
mov ecx, dword [0x5cf6e0]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
mov ecx, 0xdf32ec89
mov edi, 0x30b7124c
cmove ecx, edi
cmp dword [0x5cf6e4], 0xa
mov ebx, 0xdf32ec89
cmovge ecx, ebx
setl dh
xor dh, dl
mov edx, dword [esi + 0x98]
cmovne ecx, edi
jmp 0x44fa80
mov eax, dword [esi + 0x40]
mov eax, dword [0x5cf6c0]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5cf6c4], 0xa
setl cl
test cl, al
jne 0x44fb62
xor cl, al
je 0x450160
mov ecx, dword [esi + 0x84]
mov eax, dword [ecx]
cmp eax, dword [edx]
je 0x44ffdf
call fcn.005936c0
mov edi, dword [0x5cf6e8]
mov edx, dword [0x5cf6ec]
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, 0xfc04dcc5
mov edx, 0x2601f5a7
cmovne ebx, edx
test edi, ecx
sete byte [esi + 0x30]
mov edi, eax
mov ecx, ebx
cmove ecx, edx
cmp dword [esi + 0xc], 0xa
setl byte [esi + 0x40]
mov eax, dword [edi]
mov dword [esi + 0xc], eax
cmovge ecx, ebx
mov edx, 0x5a893bc4
nop dword [eax]
cmp edx, 0x2601f5a6
jg 0x44fbf0
cmp edx, 0x87fb68d6
je 0x44fc35
cmp edx, 0xfc04dcc5
jne 0x44fbd0
mov edx, 0x87fb68d6
jmp 0x44fbd0
cmp edx, 0x2601f5a7
je 0x44fc39
cmp edx, 0x5a893bc4
jne 0x44fbd0
movzx ebx, byte [esi + 0x30]
movzx edx, byte [esi + 0x40]
mov bh, bl
xor bh, dl
test dl, dl
mov edx, 0xfc04dcc5
mov eax, 0x87fb68d6
cmovne edx, eax
test bl, bl
mov eax, edi
mov edi, 0xfc04dcc5
cmove edx, edi
mov edi, eax
test bh, bh
mov eax, 0x87fb68d6
cmovne edx, eax
jmp 0x44fbd0
mov edx, ecx
jmp 0x44fbd0
mov ecx, dword [edi + 4]
mov eax, dword [0x5cf6c0]
mov dword [esi + 0x3c], eax
mov eax, dword [0x5cf6c4]
mov dword [esi + 0x2c], eax
mov dword [esi + 0x60], ecx
cmp dword [esi + 0xc], ecx
je 0x44fe8d
mov eax, dword [0x5cf6f0]
mov dword [esi + 0x28], eax
mov eax, dword [0x5cf6f4]
mov dword [esi + 0x10], eax
jmp 0x44fc82
mov eax, dword [esi + 0xc]
add eax, 8
mov dword [esi + 0xc], eax
cmp eax, dword [esi + 0x60]
je 0x44fe8d
mov eax, dword [esi + 0x3c]
lea ecx, [eax + 1]
imul ecx, eax
test cl, 1
sete dl
cmp dword [esi + 0x2c], 0xa
setge al
setl ah
or al, cl
xor ah, dl
xor al, 1
or al, ah
mov byte [esi + 0x24], al
test al, 1
jne 0x44fd69
mov eax, dword [esi + 0x28]
lea edx, [eax + 1]
imul edx, eax
mov ecx, edx
xor ecx, 0xfffffffe
and ecx, edx
test ecx, ecx
sete dl
mov edi, dword [esi + 0x10]
cmp edi, 0xa
setl ah
xor ah, dl
mov edx, 0x4c6ca682
mov eax, 0x6707b2cf
cmovne edx, eax
test ecx, ecx
sete byte [esi + 0x1c]
mov ecx, edx
cmove ecx, eax
cmp edi, 0xa
setl byte [esi + 0x30]
cmovge ecx, edx
mov edx, 0x1b272c9a
jmp 0x44fd00
mov edx, ecx
nop dword [eax]
cmp edx, 0x4c6ca681
jle 0x44fd20
cmp edx, 0x4c6ca682
je 0x44fd56
cmp edx, 0x6707b2cf
jne 0x44fd00
jmp 0x44fd60
cmp edx, 0xf74fd645
je 0x44fcf7
cmp edx, 0x1b272c9a
jne 0x44fd00
mov ah, byte [esi + 0x1c]
movzx edx, byte [esi + 0x30]
mov dh, ah
xor dh, dl
mov edi, 0x4c6ca682
mov ebx, 0xf74fd645
cmovne edi, ebx
test dl, dl
mov edx, edi
cmovne edx, ebx
test ah, ah
cmove edx, edi
jmp 0x44fd00
mov edx, 0xf74fd645
jmp 0x44fd00
mov eax, dword [esi + 0xc]
mov dword [esi + 0x40], eax
mov ecx, dword [esi + 0x40]
mov eax, dword [esi + 0x28]
lea edx, [eax + 1]
imul edx, eax
mov ecx, edx
xor ecx, 0xfffffffe
mov edi, ecx
and edi, edx
sete bh
mov eax, dword [esi + 0x10]
cmp eax, 0xa
setl bl
xor bl, bh
mov ebx, 0x4c6ca682
mov edi, 0x6707b2cf
cmovne ebx, edi
and ecx, edx
sete byte [esi + 0x1c]
mov edi, ebx
mov edx, 0x6707b2cf
cmove edi, edx
cmp eax, 0xa
setl byte [esi + 0x30]
cmovge edi, ebx
mov edx, 0x1b272c9a
nop word cs:[eax + eax]
cmp edx, 0x4c6ca681
jle 0x44fde0
cmp edx, 0x4c6ca682
je 0x44fe18
cmp edx, 0x6707b2cf
jne 0x44fdc0
jmp 0x44fe30
cmp edx, 0xf74fd645
je 0x44fe1f
cmp edx, 0x1b272c9a
jne 0x44fdc0
mov dh, byte [esi + 0x1c]
mov byte [esi + 0x18], dh
mov dl, byte [esi + 0x30]
xor dh, dl
mov ebx, 0x4c6ca682
mov eax, 0xf74fd645
cmovne ebx, eax
test dl, dl
mov edx, ebx
cmovne edx, eax
cmp byte [esi + 0x18], 0
cmove edx, ebx
jmp 0x44fdc0
mov edx, 0xf74fd645
jmp 0x44fdc0
mov edx, edi
jmp 0x44fdc0
mov eax, dword [esi + 0xc]
mov dword [esi + 0x40], eax
mov edx, dword [esi + 0x40]
test byte [esi + 0x24], 1
je 0x44fcbe
mov eax, dword [edx + 4]
mov ecx, 0x136
xor eax, ecx
mov ecx, dword [edx]
mov edx, 0xf74f03be
xor ecx, edx
or ecx, eax
jne 0x44fc70
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, dword [0x5cf6c0]
mov dword [esi + 0x3c], eax
mov eax, dword [0x5cf6c4]
mov dword [esi + 0x2c], eax
mov eax, dword [0x5cf6f0]
mov dword [esi + 0x28], eax
mov eax, dword [0x5cf6f4]
mov dword [esi + 0x10], eax
jmp 0x44fc70
mov ecx, dword [esi + 0x3c]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
test ecx, eax
setne al
sete dl
cmp dword [esi + 0x2c], 0xa
setge cl
setl ah
xor ah, dl
jne 0x44feb9
or cl, al
jne 0x450180
mov eax, dword [0x5cf6f8]
mov ecx, dword [0x5cf6fc]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x1c]
cmp ecx, 0xa
setl byte [esi + 0x30]
mov eax, 0xcd5e6053
mov ecx, dword [esi + 0x84]
nop word [eax + eax]
cmp eax, 0x5499d803
jg 0x44ff10
cmp eax, 0xcd5e6053
je 0x44ff6c
cmp eax, 0x18ed46ca
jne 0x44fef0
add dword [ecx], 0xc
mov eax, 0x685e39a2
jmp 0x44fef0
cmp eax, 0x5499d804
je 0x44ff9c
cmp eax, 0x685e39a2
jne 0x44fef0
mov dword [esi + 0x40], ecx
mov eax, dword [esi + 0x40]
add dword [eax], 0xc
mov eax, dword [0x5cf6f8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x18ed46ca
mov edi, 0x5499d804
cmove eax, edi
cmp dword [0x5cf6fc], 0xa
mov edx, 0x18ed46ca
cmovge eax, edx
setl dl
xor dl, cl
mov ecx, dword [esi + 0x84]
cmovne eax, edi
jmp 0x44fef0
movzx ecx, byte [esi + 0x1c]
movzx eax, byte [esi + 0x30]
mov edx, ecx
xor dl, al
mov edx, 0x18ed46ca
mov edi, 0x685e39a2
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
mov ecx, dword [esi + 0x84]
cmove eax, edx
jmp 0x44fef0
mov eax, dword [esi + 0x40]
mov eax, dword [0x5cf6c0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x5cf6c4], 0xa
setl ah
setge cl
cmp ah, dl
mov edx, dword [esi + 0x98]
jne 0x44fb62
or cl, al
je 0x44fb62
jmp 0x450160
mov edi, dword [esi + 0x5c]
mov ecx, edi
call fcn.0041d7f0
mov ecx, edi
mov edi, dword [0x5cf6c0]
mov eax, dword [0x5cf6c4]
lea edx, [edi - 1]
mov dword [esi + 0x18], edi
imul edx, edi
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
mov dword [esi + 0x10], eax
cmp eax, 0xa
setl dh
mov edi, dword [esi + 0xb4]
test dh, dl
jne 0x44ef25
xor dh, dl
mov edi, dword [esi + 0xb4]
jne 0x44ef25
mov edi, ecx
call fcn.0041d7f0
mov ecx, edi
call fcn.0041d7f0
mov ecx, dword [0x5cf6c0]
mov eax, dword [0x5cf6c4]
lea edx, [ecx + 1]
mov dword [esi + 0x18], ecx
imul edx, ecx
test dl, 1
sete bh
mov dword [esi + 0x10], eax
cmp eax, 0xa
setge bl
setl al
or bl, dl
xor al, bh
test al, al
jne 0x45007e
test bl, 1
mov ecx, dword [esi + 0x5c]
jne 0x45002f
mov edi, dword [esi + 0xb4]
jmp 0x44ef25
mov edi, dword [esi + 0xb4]
mov ecx, dword [esi + 0x5c]
jmp 0x44ef25
mov eax, dword [esi + 0x18]
lea edx, [eax + 1]
imul edx, eax
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete dl
setne cl
cmp dword [esi + 0x10], 0xa
setl ah
setge al
cmp ah, dl
jne 0x4500b8
or al, cl
jne 0x4539fc
mov esp, dword [esi + 0xbc]
mov eax, 0x952d0ea6
mov ecx, dword [esi + 0xa0]
jmp 0x44d010
jmp 0x4500d0
jmp 0x4500e0
jmp 0x4500f0
jmp 0x450100
jmp 0x450110
jmp 0x450120
jmp 0x450130
jmp 0x450140
jmp 0x450150
jmp 0x450160
jmp 0x450170
jmp 0x450180
jmp 0x450190
jmp 0x4501a0
jmp 0x4501b0
jmp 0x4501c0
mov esp, ecx
mov eax, 0xfd7bc6b8
mov edi, 0x7a34cc37
mov dword [esi + 0x10], eax
mov ecx, dword [0x5cf5e8]
lea eax, [ecx - 1]
imul eax, ecx
mov ecx, 0xd7305d6d
mov edx, 0x2f61b855
mov dword [esi + 0x3c], edx
mov dword [esi + 0x2c], ecx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete cl
mov edx, dword [0x5cf5ec]
mov dword [esi + 0xc], edx
cmp edx, 0xa
setl ch
xor ch, cl
mov edx, 0xc775c7ab
mov ecx, 0x27f6495d
cmovne ecx, edx
cmp eax, 0xffffffff
sete byte [esi + 0x58]
mov dword [esi + 0x24], esp
cmovne edx, ecx
mov ebx, dword [esi + 0x70]
mov dword [ebx + 4], edi
cmp dword [esi + 0xc], 0xa
cmovge edx, ecx
mov dword [esi + 0x28], edx
setl byte [esi + 0x78]
mov eax, dword [0x5cf4c8]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
and eax, 1
sete al
mov ecx, dword [0x5cf4cc]
mov dword [esi + 0xc], ecx
cmp ecx, 0xa
setl ah
xor ah, al
mov eax, 0x529938f9
mov ecx, 0x3a5e4de9
cmovne ecx, eax
mov edi, dword [esi + 0x10]
mov dword [ebx], edi
and edx, 1
mov dword [esi + 0x18], edx
cmovne eax, ecx
mov edx, dword [esi + 0x3c]
mov dword [ebx + 0xc], edx
cmp dword [esi + 0xc], 0xa
cmovge eax, ecx
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x2c]
mov dword [ebx + 8], eax
vxorps xmm0, xmm0, xmm0
mov eax, dword [esi + 0xa8]
vmovups ymmword [eax], ymm0
mov dword [eax + 0x24], 0
mov dword [eax + 0x20], 0
vmovaps xmm1, xmmword [ebx]
vmovddup xmm0, qword [0x5b6f18]
mov eax, 0xc34d6f78
mov ecx, 0x17b769ba
nop
cmp eax, 0xfa14f6c0
jg 0x4502e0
cmp eax, 0xc34d6f78
je 0x4503dc
cmp eax, 0xc775c7ab
jne 0x4502c0
jmp 0x4504da
cmp eax, 0xfa14f6c1
je 0x45040b
cmp eax, 0x27f6495d
jne 0x4502c0
push eax
sub esp, 0xc
mov eax, esp
and eax, 0xfffffff0
mov esp, eax
mov edx, 0x911aa5e7
mov edi, 0x1f439354
mov dword [eax + 4], edi
mov dword [eax], edx
mov edx, 0xa3583a04
mov edi, 0x2f61b855
mov dword [eax + 0xc], edi
mov dword [eax + 8], edx
xor edx, edx
cmp dword [esi + 0x18], 0
vmovaps xmm2, xmmword [eax]
sete byte [esi + 0x1c]
cmp dword [esi + 0xc], 0xa
setl byte [esi + 0x30]
vandnps xmm3, xmm1, xmm0
vandnps xmm4, xmm2, xmm0
vandnps xmm1, xmm0, xmm1
vorps xmm1, xmm3, xmm1
vandnps xmm2, xmm0, xmm2
vorps xmm2, xmm4, xmm2
vxorps xmm1, xmm1, xmm2
mov eax, 0x9c60b94a
nop word cs:[eax + eax]
cmp eax, 0x3a5e4de8
jle 0x450380
cmp eax, 0x3a5e4de9
je 0x450393
cmp eax, 0x529938f9
jne 0x450360
jmp 0x4503c1
cmp eax, 0x9c60b94a
je 0x45039a
cmp eax, 0x17b769ba
jne 0x450360
mov eax, dword [esi + 0x10]
jmp 0x450360
mov eax, 0x17b769ba
jmp 0x450360
movzx edx, byte [esi + 0x1c]
movzx eax, byte [esi + 0x30]
mov dh, al
xor dh, dl
test al, al
mov eax, 0x3a5e4de9
cmovne eax, ecx
test dl, dl
mov edi, 0x3a5e4de9
cmove eax, edi
test dh, dh
cmovne eax, ecx
jmp 0x450360
vmovaps xmmword [esi + 0x40], xmm1
vmovaps xmm1, xmmword [esi + 0x40]
mov eax, dword [esi + 0x70]
vmovaps xmmword [eax], xmm1
mov eax, 0xfa14f6c1
jmp 0x4502c0
movzx edx, byte [esi + 0x58]
movzx eax, byte [esi + 0x78]
mov ah, dl
xor ah, al
mov edi, 0x27f6495d
mov ecx, 0xfa14f6c1
cmovne edi, ecx
test al, al
mov eax, edi
cmovne eax, ecx
mov ecx, 0x17b769ba
test dl, dl
cmove eax, edi
jmp 0x4502c0
push eax
sub esp, 0xc
mov eax, esp
and eax, 0xfffffff0
mov esp, eax
mov edx, 0x911aa5e7
mov edi, 0x1f439354
mov dword [eax + 4], edi
mov dword [eax], edx
mov edx, 0xa3583a04
mov edi, 0x2f61b855
mov dword [eax + 0xc], edi
mov dword [eax + 8], edx
xor edx, edx
cmp dword [esi + 0x18], 0
vmovaps xmm2, xmmword [eax]
sete byte [esi + 0x1c]
cmp dword [esi + 0xc], 0xa
setl byte [esi + 0x30]
vandnps xmm3, xmm1, xmm2
vandnps xmm1, xmm2, xmm1
vorps xmm1, xmm3, xmm1
mov eax, 0x9c60b94a
nop dword [eax]
cmp eax, 0x3a5e4de8
jle 0x450480
cmp eax, 0x3a5e4de9
je 0x450493
cmp eax, 0x529938f9
jne 0x450460
jmp 0x4504c1
cmp eax, 0x9c60b94a
je 0x45049a
cmp eax, 0x17b769ba
jne 0x450460
mov eax, dword [esi + 0x10]
jmp 0x450460
mov eax, 0x17b769ba
jmp 0x450460
movzx edx, byte [esi + 0x1c]
movzx eax, byte [esi + 0x30]
mov dh, al
xor dh, dl
test al, al
mov eax, 0x3a5e4de9
cmovne eax, ecx
test dl, dl
mov edi, 0x3a5e4de9
cmove eax, edi
test dh, dh
cmovne eax, ecx
jmp 0x450460
vmovaps xmmword [esi + 0x40], xmm1
vmovaps xmm1, xmmword [esi + 0x40]
mov eax, dword [esi + 0x70]
vmovaps xmmword [eax], xmm1
mov eax, dword [esi + 0x28]
jmp 0x4502c0
mov eax, dword [esi + 0x70]
mov dword [esi + 0x40], eax
mov edi, dword [esi + 0x40]
mov esp, dword [esi + 0x24]
vzeroupper
call fcn.005a0f5e
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 + 0xb8]
call fcn.004557f0
add esp, 8
mov ecx, dword [0x5cf6b0]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5cf6b4], 0xa
setge cl
setl ch
xor ch, dl
jne 0x453a04
or cl, al
test cl, 1
je 0x453a04
push eax
sub esp, 0xc
mov eax, esp
and eax, 0xfffffff0
mov dword [esi + 0x70], eax
mov esp, eax
push eax
sub esp, 0x14
mov dword [esi + 0xa8], esp
mov eax, dword [0x5cf6b8]
mov ecx, dword [0x5cf6bc]
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x16]
cmp ecx, 0xa
setl byte [esi + 0x17]
mov dword [esi + 0xb8], esp
mov eax, 0xc6af5d97
cmp eax, 0xc6af5d96
jg 0x4505e0
cmp eax, 0x891910a9
je 0x4536a2
cmp eax, 0x952d0ea6
jne 0x450590
mov ecx, dword [0x5cf5f0]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5cf5f4], 0xa
mov dword [esi + 0x3c], esp
setge cl
setl ch
xor ch, dl
jne 0x45064f
or cl, al
test cl, 1
jne 0x450777
jmp 0x45064f
cmp eax, 0xfc17cf40
je 0x450618
cmp eax, 0xc6af5d97
jne 0x450590
movzx ecx, byte [esi + 0x16]
movzx eax, byte [esi + 0x17]
mov edx, ecx
xor dl, al
mov edx, 0xfc17cf40
mov edi, 0x952d0ea6
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x450590
mov dword [esi + 0x3c], esp
mov eax, dword [0x5cf5f0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5cf5f4], 0xa
setl cl
test cl, al
jne 0x451e37
xor cl, al
je 0x451f57
jmp 0x451e37
push eax
mov dword [esi + 0x28], esp
push eax
mov ecx, esp
sub esp, 0x18
mov edi, esp
mov dword [esi + 0x24], ecx
push 0x7a
push 0x61
call fcn.00542260
sub esp, 4
movzx eax, byte [esi + 0x1c]
mov byte [esp], al
mov ecx, edi
call fcn.0040cd80
mov eax, dword [0x5cf4b8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x5cf4bc]
sete byte [esi + 0x30]
sete dl
mov eax, 0x8f0f2ca8
mov ebx, 0x11f1fb1a
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 0x40]
setl cl
mov ebx, 0x8f0f2ca8
cmovge eax, ebx
mov ebx, edi
xor cl, dl
mov ecx, 0x11f1fb1a
cmovne eax, ecx
mov ecx, 0x13d3b53a
mov dword [esi + 0x18], edi
nop word [eax + eax]
cmp ecx, 0x13d3b539
jg 0x4506f0
cmp ecx, 0x8f0f2ca8
je 0x45072a
cmp ecx, 0x11f1fb1a
jne 0x4506d0
jmp 0x450735
cmp ecx, 0x1a1c1d98
je 0x450731
cmp ecx, 0x13d3b53a
jne 0x4506d0
movzx edx, byte [esi + 0x30]
movzx ecx, byte [esi + 0x40]
mov ch, dl
xor ch, cl
mov edi, 0x8f0f2ca8
mov ebx, 0x1a1c1d98
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
mov ebx, dword [esi + 0x18]
test dl, dl
cmove ecx, edi
jmp 0x4506d0
mov ecx, 0x1a1c1d98
jmp 0x4506d0
mov ecx, eax
jmp 0x4506d0
mov dword [ebx + 0x10], 0
mov dword [ebx + 0x14], 0xf
mov ecx, dword [0x5cf5f0]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5cf5f4], 0xa
mov byte [ebx], 0
setge cl
setl ch
xor ch, dl
jne 0x450867
or cl, al
test cl, 1
je 0x450867
push eax
mov ecx, esp
sub esp, 0x18
mov edi, esp
push 0x7a
push 0x61
call fcn.00542260
sub esp, 4
movzx eax, byte [esi + 0x1c]
mov byte [esp], al
mov dword [esi + 0xc], edi
mov ecx, edi
call fcn.0040cd80
mov edx, dword [0x5cf4b8]
mov ecx, dword [0x5cf4bc]
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 ebx, 0x8f0f2ca8
mov edi, 0x11f1fb1a
cmovne ebx, edi
test edx, eax
sete byte [esi + 0x30]
mov eax, ebx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x40]
cmovge eax, ebx
mov ecx, 0x13d3b53a
jmp 0x4507f0
mov ecx, eax
nop dword [eax + eax]
cmp ecx, 0x13d3b539
jg 0x450810
cmp ecx, 0x8f0f2ca8
je 0x450847
cmp ecx, 0x11f1fb1a
jne 0x4507f0
jmp 0x45084e
cmp ecx, 0x1a1c1d98
je 0x4507e9
cmp ecx, 0x13d3b53a
jne 0x4507f0
movzx edx, byte [esi + 0x30]
movzx ecx, byte [esi + 0x40]
mov ch, dl
xor ch, cl
mov ebx, 0x8f0f2ca8
mov edi, 0x1a1c1d98
cmovne ebx, edi
test cl, cl
mov ecx, ebx
cmovne ecx, edi
test dl, dl
cmove ecx, ebx
jmp 0x4507f0
mov ecx, 0x1a1c1d98
jmp 0x4507f0
mov eax, dword [esi + 0xc]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
jmp 0x45064f
xor edx, edx
cmp edx, 0x3e8
je 0x450aef
mov dword [esi + 0x2c], edx
mov ecx, dword [esi + 0x24]
movsx eax, byte [ecx + 1]
movsx edx, byte [ecx]
mov dword [esi + 0xd8], 0x10
push eax
push edx
push dword [esi + 0x28]
call fcn.0041e700
movsx eax, al
mov ecx, dword [esi + 0x18]
push eax
call fcn.00441240
mov eax, dword [0x5cf5f0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x5cf5f4], 0xa
setl ah
setge cl
cmp ah, dl
mov edi, dword [esi + 0x18]
jne 0x4508e0
or cl, al
jne 0x450910
nop word cs:[eax + eax]
mov ecx, edi
call fcn.00423280
mov ecx, dword [0x5cf5f0]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete cl
cmp dword [0x5cf5f4], 0xa
setl dl
test dl, cl
jne 0x450920
xor dl, cl
jne 0x450920
mov ecx, edi
call fcn.00423280
jmp 0x4508e0
mov ecx, dword [edi + 0x10]
cmp byte [ecx + eax - 1], 0x6f
je 0x45093f
mov ecx, edi
call fcn.00423280
mov ecx, dword [edi + 0x10]
cmp byte [ecx + eax - 1], 0x75
jne 0x450ab0
mov ecx, edi
call fcn.00423280
mov dword [esi + 0xc], eax
mov ecx, edi
call fcn.00423280
add eax, dword [edi + 0x10]
mov dword [esi + 0x10], eax
mov edx, dword [0x5cf5f0]
mov eax, dword [0x5cf5f4]
lea ecx, [edx + 1]
imul ecx, edx
and ecx, 1
sete dl
cmp eax, 0xa
setl dh
test dh, dl
jne 0x45097f
xor dh, dl
je 0x4535e0
mov edx, dword [esi + 0x10]
cmp dword [esi + 0xc], edx
jne 0x4509a0
jmp 0x450ac8
mov edx, dword [esi + 0xc]
inc edx
mov dword [esi + 0xc], edx
cmp edx, dword [esi + 0x10]
je 0x450ac8
mov edx, dword [0x5cf5f8]
mov ecx, dword [0x5cf5fc]
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 ebx, 0xc9893d93
mov edi, 0x603280c6
cmovne ebx, edi
test edx, eax
sete byte [esi + 0x1c]
mov eax, ebx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x30]
cmovge eax, ebx
mov ecx, 0xfc461c64
nop dword [eax + eax]
cmp ecx, 0xfc461c63
jg 0x450a10
cmp ecx, 0xc9893d93
je 0x450a47
cmp ecx, 0xdac56cfa
jne 0x4509f0
mov ecx, eax
jmp 0x4509f0
cmp ecx, 0x603280c6
je 0x450a50
cmp ecx, 0xfc461c64
jne 0x4509f0
movzx edx, byte [esi + 0x1c]
movzx ecx, byte [esi + 0x30]
mov ch, dl
xor ch, cl
mov ebx, 0xc9893d93
mov edi, 0xdac56cfa
cmovne ebx, edi
test cl, cl
mov ecx, ebx
cmovne ecx, edi
test dl, dl
cmove ecx, ebx
jmp 0x4509f0
mov ecx, 0xdac56cfa
jmp 0x4509f0
mov eax, dword [esi + 0xc]
mov dword [esi + 0x40], eax
mov ebx, dword [esi + 0x40]
movsx eax, byte [ebx]
push eax
call fcn.005a47b5
add esp, 4
mov ecx, eax
xor cl, 0xf5
and cl, al
mov byte [ebx], cl
mov ecx, dword [0x5cf5f0]
mov eax, dword [0x5cf5f4]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
and ecx, edx
setne dl
sete bl
cmp eax, 0xa
setge dh
setl bh
xor bh, bl
jne 0x450990
or dh, dl
je 0x450990
jmp 0x4535b0
mov ecx, dword [0x5cf5f0]
mov eax, dword [0x5cf5f4]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
and ecx, edx
mov edx, dword [esi + 0x2c]
inc edx
test ecx, ecx
sete cl
cmp eax, 0xa
setl al
test cl, al
mov ebx, dword [esi + 0x18]
jne 0x450869
xor cl, al
jne 0x450869
jmp 0x4535f0
mov ecx, ebx
call fcn.00423280
cmp byte [eax + 0xd7], 0x31
jne 0x450bde
mov ecx, dword [0x5cf5f0]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5cf5f4], 0xa
setge cl
setl ch
xor ch, dl
jne 0x450b2c
or cl, al
test cl, 1
jne 0x450b60
mov ecx, ebx
call fcn.00423280
mov edx, dword [0x5cf5f0]
lea ecx, [edx + 1]
imul ecx, edx
test cl, 1
sete dh
cmp dword [0x5cf5f4], 0xa
setge dl
setl bl
xor bl, dh
mov ebx, dword [esi + 0x18]
jne 0x450b69
or dl, cl
test dl, 1
je 0x450b69
mov ecx, ebx
call fcn.00423280
jmp 0x450b2c
cmp byte [eax + 0x2d0], 0x30
jne 0x450bde
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, dword [0x5cf5f0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5cf5f4], 0xa
setl cl
test cl, al
jne 0x450bde
xor cl, al
jne 0x450bde
push 0
push 0
mov edi, dword [sym.imp.KERNEL32.dll_Beep]
call edi
push 0
push 0
call edi
mov ecx, dword [0x5cf5f0]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5cf5f4], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x450bde
or cl, al
test cl, 1
jne 0x450ba3
mov ecx, ebx
call fcn.0040ed30
mov esp, dword [esi + 0x3c]
mov dword [esi + 0x94], esp
mov ecx, dword [0x5cf6c0]
mov eax, dword [0x5cf6c4]
lea edx, [ecx + 1]
mov dword [esi + 0x18], ecx
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dh
mov dword [esi + 0x10], eax
cmp eax, 0xa
setl al
or al, dh
mov byte [esi + 0xc], al
nop dword [eax + eax]
push eax
sub esp, 8
mov dword [esi + 0x3c], esp
sub esp, 0xc
mov dword [esi + 0x64], esp
sub esp, 0x10
mov edi, esp
and edi, 0xfffffff8
mov esp, edi
push eax
mov dword [esi + 0x74], esp
sub esp, 0xc
mov dword [esi + 0x60], esp
sub esp, 0x10
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
push eax
mov ecx, esp
push eax
mov ebx, esp
push eax
mov edx, esp
cmp byte [esi + 0xc], 0
je 0x450c20
mov dword [esi + 0x90], edx
mov dword [esi + 0x6c], ebx
mov dword [esi + 0xa0], ecx
mov dword [esi + 0x8c], edi
lea ecx, [edi + 0x10]
mov dword [esi + 0x84], ecx
mov dword [esi + 0xac], eax
add eax, 0x10
mov dword [esi + 0x9c], eax
mov ebx, 0xa
mov edi, 0x891910a9
mov ecx, dword [esi + 0x3c]
cmp ebx, 0x1f4
jae 0x451dd2
call fcn.004322e0
lea edi, [ebx + 1]
imul ebx, edi
shr ebx, 1
mov dword [esi + 0x88], ebx
mov dword [esi + 0x80], edi
shr edi, 1
xor ebx, ebx
nop dword [eax]
mov ecx, dword [0x5cf6c0]
lea eax, [ecx + 1]
mov dword [esi + 0xc], ecx
imul eax, ecx
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
mov ecx, dword [0x5cf6c4]
sete al
cmp ecx, 0xa
setl ah
test ah, al
jne 0x450cf1
xor ah, al
je 0x453610
mov eax, edi
imul eax, ebx
mov edx, edi
mov dword [esi + 0x18], ebx
mov dword [esi + 0x10], edi
mulx edx, ebx, edi
add eax, eax
add eax, edx
mov edx, dword [esi + 0x88]
cmp ebx, edx
sbb eax, 0
jae 0x451326
mov edi, dword [esi + 0x10]
sub edx, edi
mov dword [esi + 0x24], edx
mov ebx, 0
mov eax, dword [esi + 0x18]
sbb ebx, eax
add edi, 1
adc eax, 0
mov dword [esi + 0xc], eax
push eax
push edi
push ebx
push edx
call fcn.00594a90
mov dword [esi + 0x28], edx
mov edx, eax
mulx ecx, edx, edi
mov dword [esi + 0x2c], edx
mov dword [esi + 0x5c], eax
mov edx, eax
imul edx, dword [esi + 0xc]
add ecx, edx
mov edx, dword [esi + 0x28]
imul edx, edi
add edx, ecx
mov eax, dword [esi + 0x24]
sub eax, dword [esi + 0x2c]
sbb ebx, edx
or ebx, eax
mov ebx, dword [esi + 0xc]
jne 0x450cc0
mov dword [esi + 0x24], edi
mov edx, dword [0x5cf6c8]
mov ecx, dword [0x5cf6cc]
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, 0xeb760989
mov edi, 0x3b23d0b1
cmovne edx, edi
cmp eax, 0xffffffff
sete byte [esi + 0x1c]
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
mov ecx, dword [esi + 0x8c]
mov edi, dword [esi + 0x10]
mov dword [ecx], edi
mov edi, dword [esi + 0x18]
mov dword [ecx + 4], edi
mov edi, dword [esi + 0x5c]
mov dword [ecx + 8], edi
setl byte [esi + 0x30]
mov edi, dword [esi + 0x28]
mov dword [ecx + 0xc], edi
cmovge eax, edx
mov ecx, 0x9c6e8745
mov edx, dword [esi + 0x74]
nop
cmp ecx, 0x20e9c048
jle 0x450e00
cmp ecx, 0x20e9c049
je 0x450e17
cmp ecx, 0x3b23d0b1
jne 0x450de0
jmp 0x450e4a
cmp ecx, 0x9c6e8745
je 0x450e1b
cmp ecx, 0xeb760989
jne 0x450de0
mov ecx, 0x20e9c049
jmp 0x450de0
mov ecx, eax
jmp 0x450de0
movzx edx, byte [esi + 0x1c]
movzx ecx, byte [esi + 0x30]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0xeb760989
mov ebx, 0x20e9c049
cmovne ecx, ebx
test dl, dl
mov edi, 0xeb760989
cmove ecx, edi
test dh, dh
mov edx, dword [esi + 0x74]
cmovne ecx, ebx
jmp 0x450de0
mov dword [esi + 0x40], edx
mov eax, dword [esi + 0x40]
mov edx, dword [0x5cf4d0]
mov ecx, dword [0x5cf4d4]
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, 0x7c4a5f2
mov edi, 0xcfcad29c
cmovne edx, edi
cmp eax, 0xffffffff
sete byte [esi + 0x58]
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
mov ecx, dword [esi + 0x64]
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
mov ecx, dword [esi + 0x84]
mov dword [esi + 0x30], ecx
setl byte [esi + 0x78]
mov ecx, dword [esi + 0x8c]
mov dword [esi + 0x1c], ecx
cmovge eax, edx
mov ecx, 0x389c0e25
nop word cs:[eax + eax]
cmp ecx, 0x7c4a5f1
jg 0x450ef0
cmp ecx, 0xcfcad29c
je 0x450f2e
cmp ecx, 0x3aca7e6
jne 0x450ed0
mov ecx, eax
jmp 0x450ed0
cmp ecx, 0x7c4a5f2
je 0x450f27
cmp ecx, 0x389c0e25
jne 0x450ed0
movzx edx, byte [esi + 0x58]
movzx ecx, byte [esi + 0x78]
mov ch, dl
xor ch, cl
mov edi, 0x7c4a5f2
mov ebx, 0x3aca7e6
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x450ed0
mov ecx, 0x3aca7e6
jmp 0x450ed0
mov dword [esi + 0x40], 2
mov eax, dword [esi + 0x40]
mov dword [esi + 0xd8], 0x11
mov ecx, dword [esi + 0x64]
lea edx, [esi + 0x30]
push edx
lea edx, [esi + 0x1c]
push edx
push eax
call fcn.00432de0
mov dword [esi + 0xd8], 0x13
mov ecx, dword [esi + 0x3c]
push dword [esi + 0x64]
call fcn.004325a0
mov eax, dword [0x5cf6d0]
mov ecx, dword [0x5cf6d4]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x30]
cmp ecx, 0xa
setl byte [esi + 0x40]
mov eax, 0x950d98a
cmp eax, 0x31a61df4
jg 0x450fd0
cmp eax, 0xc6e82640
je 0x451034
cmp eax, 0x950d98a
jne 0x450f90
movzx ecx, byte [esi + 0x30]
movzx eax, byte [esi + 0x40]
mov edx, ecx
xor dl, al
mov edx, 0x4d86efb0
mov edi, 0x31a61df5
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x450f90
cmp eax, 0x31a61df5
je 0x450fed
cmp eax, 0x4d86efb0
jne 0x450f90
mov ecx, dword [esi + 0x64]
call fcn.0041d690
mov eax, 0x31a61df5
jmp 0x450f90
mov ecx, dword [esi + 0x64]
call fcn.0041d690
mov eax, dword [0x5cf6d0]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x4d86efb0
mov edi, 0xc6e82640
cmove eax, edi
cmp dword [0x5cf6d4], 0xa
mov edx, 0x4d86efb0
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x450f90
mov ecx, dword [0x5cf6c8]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
test ecx, eax
sete dl
mov edi, dword [0x5cf6cc]
cmp edi, 0xa
setl dh
xor dh, dl
mov edx, 0xeb760989
mov ebx, 0x3b23d0b1
cmovne edx, ebx
test ecx, eax
mov ecx, dword [esi + 0xac]
mov eax, dword [esi + 0x28]
mov dword [ecx + 4], eax
sete byte [esi + 0x1c]
mov eax, dword [esi + 0x5c]
mov dword [ecx], eax
mov eax, dword [esi + 0x18]
mov dword [ecx + 0xc], eax
mov eax, edx
cmove eax, ebx
mov ebx, ecx
cmp edi, 0xa
setl byte [esi + 0x30]
mov ecx, dword [esi + 0x10]
mov dword [ebx + 8], ecx
cmovge eax, edx
mov ecx, 0x9c6e8745
mov edx, dword [esi + 0xa0]
nop word cs:[eax + eax]
cmp ecx, 0x20e9c048
jle 0x4510d0
cmp ecx, 0x20e9c049
je 0x4510e7
cmp ecx, 0x3b23d0b1
jne 0x4510b0
jmp 0x451123
cmp ecx, 0x9c6e8745
je 0x4510eb
cmp ecx, 0xeb760989
jne 0x4510b0
mov ecx, 0x20e9c049
jmp 0x4510b0
mov ecx, eax
jmp 0x4510b0
movzx edx, byte [esi + 0x1c]
movzx ecx, byte [esi + 0x30]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0xeb760989
mov ebx, 0x20e9c049
cmovne ecx, ebx
test dl, dl
mov edi, 0xeb760989
cmove ecx, edi
test dh, dh
mov edx, dword [esi + 0xa0]
cmovne ecx, ebx
mov ebx, dword [esi + 0xac]
jmp 0x4510b0
mov dword [esi + 0x40], edx
mov eax, dword [esi + 0x40]
mov eax, dword [0x5cf4d0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x5cf4d4]
sete byte [esi + 0x58]
sete dl
mov eax, 0x7c4a5f2
mov edi, 0xcfcad29c
cmove eax, edi
cmp ecx, 0xa
mov ecx, dword [esi + 0x60]
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
mov ecx, dword [esi + 0x9c]
mov dword [esi + 0x30], ecx
setl byte [esi + 0x78]
mov dword [esi + 0x1c], ebx
setl cl
mov ebx, 0x7c4a5f2
cmovge eax, ebx
xor cl, dl
cmovne eax, edi
mov ecx, 0x389c0e25
nop word cs:[eax + eax]
cmp ecx, 0x7c4a5f1
jg 0x4511c0
cmp ecx, 0xcfcad29c
je 0x4511fe
cmp ecx, 0x3aca7e6
jne 0x4511a0
mov ecx, eax
jmp 0x4511a0
cmp ecx, 0x7c4a5f2
je 0x4511f7
cmp ecx, 0x389c0e25
jne 0x4511a0
movzx edx, byte [esi + 0x58]
movzx ecx, byte [esi + 0x78]
mov ch, dl
xor ch, cl
mov edi, 0x7c4a5f2
mov ebx, 0x3aca7e6
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x4511a0
mov ecx, 0x3aca7e6
jmp 0x4511a0
mov dword [esi + 0x40], 2
mov eax, dword [esi + 0x40]
mov dword [esi + 0xd8], 0x11
mov ecx, dword [esi + 0x60]
lea edx, [esi + 0x30]
push edx
lea edx, [esi + 0x1c]
push edx
push eax
call fcn.00432de0
mov dword [esi + 0xd8], 0x12
mov ecx, dword [esi + 0x3c]
push dword [esi + 0x60]
call fcn.004325a0
mov eax, dword [0x5cf6d0]
mov ecx, dword [0x5cf6d4]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x30]
cmp ecx, 0xa
setl byte [esi + 0x40]
mov eax, 0x950d98a
mov edi, dword [esi + 0x24]
mov ebx, dword [esi + 0xc]
mov ecx, dword [esi + 0x60]
nop word [eax + eax]
cmp eax, 0x31a61df4
jg 0x451290
cmp eax, 0xc6e82640
je 0x450cc0
cmp eax, 0x950d98a
jne 0x451270
jmp 0x4512aa
cmp eax, 0x31a61df5
je 0x4512d9
cmp eax, 0x4d86efb0
jne 0x451270
call fcn.0041d690
mov eax, 0x31a61df5
jmp 0x451267
movzx ecx, byte [esi + 0x30]
movzx eax, byte [esi + 0x40]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x4d86efb0
mov edi, 0x31a61df5
cmovne eax, edi
test cl, cl
mov ecx, 0x4d86efb0
cmove eax, ecx
test dl, dl
cmovne eax, edi
mov edi, dword [esi + 0x24]
jmp 0x451267
call fcn.0041d690
mov edx, dword [0x5cf6d0]
mov ecx, dword [0x5cf6d4]
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, 0x4d86efb0
mov edi, 0xc6e82640
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
mov edi, dword [esi + 0x24]
cmp ecx, 0xa
cmovge eax, edx
jmp 0x451267
mov edx, dword [esi + 0x3c]
mov eax, dword [edx]
mov edx, dword [edx + 4]
sub edx, eax
sar edx, 2
imul edx, edx, 0xaaaaaaab
cmp edx, 2
mov edi, ecx
mov ecx, dword [esi + 0xc]
jb 0x4516c0
mov edx, 1
jmp 0x45136f
mov ebx, dword [esi + 0x5c]
inc ebx
mov edx, dword [esi + 0x3c]
mov eax, dword [edx]
mov edx, dword [edx + 4]
sub edx, eax
sar edx, 2
imul edx, edx, 0xaaaaaaab
cmp ebx, edx
mov edx, ebx
jae 0x4516c0
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
mov ebx, edx
sete dl
cmp edi, 0xa
setge cl
setl ch
xor ch, dl
mov dword [esi + 0x5c], ebx
mov dword [esi + 0x10], ebx
jne 0x4513c9
or cl, al
mov eax, dword [esi + 0x5c]
mov dword [esi + 0x10], eax
test cl, 1
je 0x4513c9
jmp 0x453680
mov eax, dword [esi + 0x24]
mov dword [esi + 0x40], eax
mov ecx, dword [esi + 0x40]
push edx
call fcn.00433980
cmp dword [esi + 0x10], 0
je 0x451688
mov eax, dword [0x5cf6d8]
mov ecx, dword [0x5cf6dc]
lea edx, [eax - 1]
imul edx, eax
and edx, 1
mov dword [esi + 0x28], edx
sete byte [esi + 0x1c]
sete al
mov edx, 0xbf25ae54
mov ebx, 0x20ab24e5
cmove edx, ebx
mov dword [esi + 0x18], ecx
cmp ecx, 0xa
setl byte [esi + 0x30]
mov ecx, 0xbf25ae54
cmovge edx, ecx
setl cl
xor cl, al
mov eax, dword [esi + 0x3c]
mov edi, dword [eax]
mov eax, dword [esi + 0x10]
lea eax, [eax + eax*2]
lea eax, [edi + eax*4]
mov dword [esi + 0x24], eax
cmovne edx, ebx
mov dword [esi + 0xc], edx
mov eax, 0xe6642f9a
nop word [eax + eax]
cmp eax, 0xffb13444
jle 0x451450
cmp eax, 0xffb13445
je 0x451485
cmp eax, 0x20ab24e5
jne 0x451430
jmp 0x4514a0
cmp eax, 0xbf25ae54
je 0x45148a
cmp eax, 0xe6642f9a
jne 0x451430
movzx ebx, byte [esi + 0x1c]
movzx eax, byte [esi + 0x30]
mov ah, bl
xor ah, al
mov ecx, 0xbf25ae54
mov edx, 0xffb13445
cmovne ecx, edx
test al, al
mov eax, ecx
cmovne eax, edx
test bl, bl
cmove eax, ecx
jmp 0x451430
mov eax, dword [esi + 0xc]
jmp 0x451430
mov eax, 0xffb13445
jmp 0x451430
mov ecx, dword [esi + 0x10]
dec ecx
cmp dword [esi + 0x28], 0
mov eax, dword [esi + 0x24]
mov dword [esi + 0x40], eax
mov eax, dword [esi + 0x40]
mov eax, dword [eax]
mov edx, dword [eax]
mov ebx, dword [eax + 4]
sete byte [esi + 0x1c]
cmp dword [esi + 0x18], 0xa
setl byte [esi + 0x30]
mov dword [esi + 0x10], ecx
lea eax, [ecx + ecx*2]
lea eax, [edi + eax*4]
mov dword [esi + 0x2c], eax
mov eax, 0xe6642f9a
nop word cs:[eax + eax]
cmp eax, 0xffb13444
jle 0x451500
cmp eax, 0xffb13445
je 0x451547
cmp eax, 0x20ab24e5
jne 0x4514e0
jmp 0x451560
cmp eax, 0xbf25ae54
je 0x45154c
cmp eax, 0xe6642f9a
jne 0x4514e0
movzx ecx, byte [esi + 0x1c]
movzx eax, byte [esi + 0x30]
mov ch, cl
xor ch, al
test al, al
mov eax, 0xbf25ae54
mov edi, 0xffb13445
cmovne eax, edi
test cl, cl
mov edi, edx
mov edx, ebx
mov ebx, 0xbf25ae54
cmove eax, ebx
mov ebx, edx
mov edx, edi
test ch, ch
mov ecx, 0xffb13445
cmovne eax, ecx
jmp 0x4514e0
mov eax, dword [esi + 0xc]
jmp 0x4514e0
mov eax, 0xffb13445
jmp 0x4514e0
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x40], eax
mov eax, dword [esi + 0x40]
mov eax, dword [eax]
cmp edx, dword [eax]
sbb ebx, dword [eax + 4]
jge 0x451688
cmp dword [esi + 0x28], 0
sete byte [esi + 0x1c]
cmp dword [esi + 0x18], 0xa
setl byte [esi + 0x30]
mov eax, 0xe6642f9a
nop dword [eax + eax]
cmp eax, 0xffb13444
jle 0x4515b0
cmp eax, 0xffb13445
je 0x4515e5
cmp eax, 0x20ab24e5
jne 0x451590
jmp 0x451600
cmp eax, 0xbf25ae54
je 0x4515ea
cmp eax, 0xe6642f9a
jne 0x451590
movzx ecx, byte [esi + 0x1c]
movzx eax, byte [esi + 0x30]
mov ah, cl
xor ah, al
mov ebx, 0xbf25ae54
mov edi, 0xffb13445
cmovne ebx, edi
test al, al
mov eax, ebx
cmovne eax, edi
test cl, cl
cmove eax, ebx
jmp 0x451590
mov eax, dword [esi + 0xc]
jmp 0x451590
mov eax, 0xffb13445
jmp 0x451590
cmp dword [esi + 0x28], 0
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x40], eax
mov edx, dword [esi + 0x40]
sete byte [esi + 0x1c]
cmp dword [esi + 0x18], 0xa
setl byte [esi + 0x30]
mov ecx, 0xe6642f9a
nop
cmp ecx, 0xffb13444
jle 0x451640
cmp ecx, 0xffb13445
je 0x45167c
cmp ecx, 0x20ab24e5
jne 0x451620
jmp 0x4513b0
cmp ecx, 0xbf25ae54
je 0x451681
cmp ecx, 0xe6642f9a
jne 0x451620
movzx ebx, byte [esi + 0x1c]
movzx ecx, byte [esi + 0x30]
mov bh, cl
xor bh, bl
test cl, cl
mov ecx, 0xbf25ae54
mov eax, 0xffb13445
cmovne ecx, eax
test bl, bl
mov edi, 0xbf25ae54
cmove ecx, edi
test bh, bh
cmovne ecx, eax
jmp 0x451620
mov ecx, dword [esi + 0xc]
jmp 0x451620
mov ecx, 0xffb13445
jmp 0x451620
mov ecx, dword [0x5cf6c0]
mov edi, dword [0x5cf6c4]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dh
cmp edi, 0xa
setl bl
setge dl
cmp bl, dh
jne 0x45134e
or dl, al
test dl, 1
je 0x45134e
jmp 0x453690
mov edx, dword [0x5cf6e0]
mov ecx, dword [0x5cf6e4]
lea edi, [edx + 1]
imul edi, edx
mov ebx, edi
xor ebx, 0xfffffffe
test ebx, edi
sete byte [esi + 0x1c]
mov dword [esi + 0xc], ecx
cmp ecx, 0xa
setl byte [esi + 0x30]
mov edi, 0x124998e2
nop dword [eax]
cmp edi, 0x124998e1
jg 0x451714
cmp edi, 0x88e9608c
je 0x451759
cmp edi, 0xdf32ec89
jne 0x4516f0
mov ecx, dword [esi + 0x6c]
mov dword [ecx], eax
mov edi, 0x88e9608c
jmp 0x4516f0
cmp edi, 0x30b7124c
je 0x4517b1
cmp edi, 0x124998e2
jne 0x4516f0
movzx ecx, byte [esi + 0x1c]
mov bh, byte [esi + 0x30]
mov bl, cl
xor bl, bh
test bh, bh
mov edi, 0xdf32ec89
mov dword [esi + 0x10], edx
mov edx, 0x88e9608c
cmovne edi, edx
test cl, cl
mov ecx, 0xdf32ec89
cmove edi, ecx
test bl, bl
cmovne edi, edx
mov edx, dword [esi + 0x10]
jmp 0x4516f0
mov ecx, dword [esi + 0x6c]
mov dword [esi + 0x40], ecx
mov ecx, dword [esi + 0x40]
mov dword [ecx], eax
mov ecx, dword [esi + 0x40]
mov edx, dword [0x5cf6e0]
mov ebx, dword [0x5cf6e4]
lea ecx, [edx + 1]
imul ecx, edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov edi, 0xdf32ec89
mov ecx, 0x30b7124c
cmove edi, ecx
sete cl
mov dword [esi + 0xc], ebx
cmp ebx, 0xa
mov ebx, 0xdf32ec89
cmovge edi, ebx
setl ch
xor ch, cl
mov ecx, 0x30b7124c
cmovne edi, ecx
jmp 0x4516f0
lea eax, [edx + 1]
imul eax, edx
mov ecx, eax
xor ecx, 0xfffffffe
test ecx, eax
mov eax, dword [esi + 0x40]
mov eax, dword [esi + 0x3c]
mov ebx, dword [eax + 4]
sete byte [esi + 0x1c]
cmp dword [esi + 0xc], 0xa
setl byte [esi + 0x30]
mov ecx, 0x124998e2
mov eax, dword [esi + 0x90]
nop
cmp ecx, 0x124998e1
jg 0x451801
cmp ecx, 0x88e9608c
je 0x451847
cmp ecx, 0xdf32ec89
jne 0x4517e0
mov dword [eax], ebx
mov ecx, 0x88e9608c
jmp 0x4517e0
cmp ecx, 0x30b7124c
je 0x4518a1
cmp ecx, 0x124998e2
jne 0x4517e0
movzx edx, byte [esi + 0x1c]
movzx ecx, byte [esi + 0x30]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0xdf32ec89
mov edi, 0x88e9608c
cmovne ecx, edi
test dl, dl
mov eax, 0xdf32ec89
cmove ecx, eax
mov eax, dword [esi + 0x90]
test dh, dh
cmovne ecx, edi
jmp 0x4517e0
mov dword [esi + 0x40], eax
mov ecx, dword [esi + 0x40]
mov dword [ecx], ebx
mov edi, dword [0x5cf6e0]
mov edx, dword [0x5cf6e4]
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
mov dword [esi + 0xc], ebx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0xdf32ec89
mov eax, 0x30b7124c
cmovne ebx, eax
test edi, ecx
mov ecx, ebx
cmove ecx, eax
mov eax, dword [esi + 0x90]
cmp edx, 0xa
cmovge ecx, ebx
mov ebx, dword [esi + 0xc]
mov edx, dword [esi + 0x40]
jmp 0x4517e0
mov eax, dword [esi + 0x40]
mov ecx, dword [0x5cf6c0]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5cf6c4], 0xa
setge dh
setl ch
xor ch, dl
mov ecx, dword [esi + 0x6c]
jne 0x4518d4
or dh, al
test dh, 1
jne 0x453630
mov eax, dword [ecx]
mov edx, dword [esi + 0x90]
cmp eax, dword [edx]
je 0x451d26
call fcn.005936c0
mov edi, dword [0x5cf6e8]
mov edx, dword [0x5cf6ec]
lea ecx, [edi - 1]
imul ecx, edi
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0xfc04dcc5
mov edi, 0x2601f5a7
cmovne ebx, edi
cmp ecx, 0xffffffff
sete byte [esi + 0x30]
mov edi, ebx
mov ecx, 0x2601f5a7
cmove edi, ecx
cmp edx, 0xa
setl byte [esi + 0x40]
mov dword [esi + 0x10], eax
mov ecx, dword [eax]
mov dword [esi + 0xc], ecx
cmovge edi, ebx
mov edx, 0x5a893bc4
nop word cs:[eax + eax]
cmp edx, 0x2601f5a6
jg 0x451970
cmp edx, 0x87fb68d6
je 0x4519a7
cmp edx, 0xfc04dcc5
jne 0x451950
mov edx, 0x87fb68d6
jmp 0x451950
cmp edx, 0x2601f5a7
je 0x4519ab
cmp edx, 0x5a893bc4
jne 0x451950
movzx ebx, byte [esi + 0x30]
movzx edx, byte [esi + 0x40]
mov dh, bl
xor dh, dl
mov ecx, 0xfc04dcc5
mov eax, 0x87fb68d6
cmovne ecx, eax
test dl, dl
mov edx, ecx
cmovne edx, eax
test bl, bl
cmove edx, ecx
jmp 0x451950
mov edx, edi
jmp 0x451950
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 4]
mov eax, dword [0x5cf6c0]
mov dword [esi + 0x2c], eax
mov eax, dword [0x5cf6c4]
mov dword [esi + 0x24], eax
mov dword [esi + 0x5c], ecx
cmp dword [esi + 0xc], ecx
je 0x451bed
mov eax, dword [0x5cf6f0]
mov dword [esi + 0x18], eax
mov eax, dword [0x5cf6f4]
mov dword [esi + 0x10], eax
jmp 0x4519f2
mov eax, dword [esi + 0xc]
add eax, 8
mov dword [esi + 0xc], eax
cmp eax, dword [esi + 0x5c]
je 0x451bed
mov ecx, dword [esi + 0x2c]
lea eax, [ecx + 1]
imul eax, ecx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete al
cmp dword [esi + 0x24], 0xa
setl cl
or cl, al
mov byte [esi + 0x28], cl
jne 0x451ad9
mov eax, dword [esi + 0x18]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
test ecx, ecx
sete byte [esi + 0x1c]
sete al
mov ecx, 0x4c6ca682
mov ebx, 0x6707b2cf
cmove ecx, ebx
cmp dword [esi + 0x10], 0xa
setl byte [esi + 0x30]
setl dl
mov edi, 0x4c6ca682
cmovge ecx, edi
xor dl, al
cmovne ecx, ebx
mov eax, 0x1b272c9a
jmp 0x451a60
mov eax, ecx
nop dword [eax + eax]
cmp eax, 0x4c6ca681
jle 0x451a80
cmp eax, 0x4c6ca682
je 0x451aba
cmp eax, 0x6707b2cf
jne 0x451a60
jmp 0x451ad0
cmp eax, 0xf74fd645
je 0x451a59
cmp eax, 0x1b272c9a
jne 0x451a60
movzx edx, byte [esi + 0x1c]
movzx eax, byte [esi + 0x30]
mov dh, al
xor dh, dl
test al, al
mov eax, 0x4c6ca682
mov ebx, 0xf74fd645
cmovne eax, ebx
test dl, dl
mov edi, 0x4c6ca682
cmove eax, edi
test dh, dh
cmovne eax, ebx
jmp 0x451a60
mov eax, 0xf74fd645
jmp 0x451a60
mov eax, dword [esi + 0xc]
mov dword [esi + 0x40], eax
mov eax, dword [esi + 0x40]
mov eax, dword [esi + 0x18]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
and eax, 1
sete al
mov edi, dword [esi + 0x10]
cmp edi, 0xa
setl dl
xor dl, al
mov eax, 0x4c6ca682
mov ebx, 0x6707b2cf
cmovne eax, ebx
and ecx, 1
sete byte [esi + 0x1c]
mov edx, eax
cmove edx, ebx
cmp edi, 0xa
setl byte [esi + 0x30]
cmovge edx, eax
mov eax, 0x1b272c9a
nop dword [eax]
cmp eax, 0x4c6ca681
jle 0x451b40
cmp eax, 0x4c6ca682
je 0x451b7f
cmp eax, 0x6707b2cf
jne 0x451b20
jmp 0x451b90
cmp eax, 0xf74fd645
je 0x451b86
cmp eax, 0x1b272c9a
jne 0x451b20
movzx ebx, byte [esi + 0x1c]
movzx eax, byte [esi + 0x30]
mov bh, al
xor bh, bl
test al, al
mov eax, 0x4c6ca682
mov edi, 0xf74fd645
cmovne eax, edi
test bl, bl
mov edi, 0x4c6ca682
cmove eax, edi
test bh, bh
mov edi, 0xf74fd645
cmovne eax, edi
jmp 0x451b20
mov eax, 0xf74fd645
jmp 0x451b20
mov eax, edx
jmp 0x451b20
mov eax, dword [esi + 0xc]
mov dword [esi + 0x40], eax
mov eax, dword [esi + 0x40]
cmp byte [esi + 0x28], 0
je 0x451a24
mov ecx, dword [eax + 4]
mov edx, 0x136
xor ecx, edx
mov eax, dword [eax]
mov edx, 0xf74f03be
xor eax, edx
or eax, ecx
jne 0x4519e0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, dword [0x5cf6c0]
mov dword [esi + 0x2c], eax
mov eax, dword [0x5cf6c4]
mov dword [esi + 0x24], eax
mov eax, dword [0x5cf6f0]
mov dword [esi + 0x18], eax
mov eax, dword [0x5cf6f4]
mov dword [esi + 0x10], eax
jmp 0x4519e0
mov ecx, dword [esi + 0x2c]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
test ecx, eax
sete dl
setne al
cmp dword [esi + 0x24], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x451c19
or cl, al
jne 0x453660
mov eax, dword [0x5cf6f8]
mov ecx, dword [0x5cf6fc]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x1c]
cmp ecx, 0xa
setl byte [esi + 0x30]
mov eax, 0xcd5e6053
mov ecx, dword [esi + 0x6c]
nop word cs:[eax + eax]
cmp eax, 0x5499d803
jg 0x451c70
cmp eax, 0xcd5e6053
je 0x451cc5
cmp eax, 0x18ed46ca
jne 0x451c50
add dword [ecx], 0xc
mov eax, 0x685e39a2
jmp 0x451c50
cmp eax, 0x5499d804
je 0x451cef
cmp eax, 0x685e39a2
jne 0x451c50
mov dword [esi + 0x40], ecx
mov eax, dword [esi + 0x40]
add dword [eax], 0xc
mov eax, dword [0x5cf6f8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x18ed46ca
mov edi, 0x5499d804
cmove eax, edi
cmp dword [0x5cf6fc], 0xa
mov edx, 0x18ed46ca
cmovge eax, edx
setl dl
xor dl, cl
mov ecx, dword [esi + 0x6c]
cmovne eax, edi
jmp 0x451c50
movzx ecx, byte [esi + 0x1c]
movzx eax, byte [esi + 0x30]
mov edx, ecx
xor dl, al
mov edx, 0x18ed46ca
mov edi, 0x685e39a2
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x451c41
mov eax, dword [esi + 0x40]
mov eax, dword [0x5cf6c0]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete al
cmp dword [0x5cf6c4], 0xa
setl dl
test dl, al
jne 0x4518d4
xor dl, al
jne 0x4518d4
jmp 0x453630
mov edi, dword [esi + 0x3c]
mov ecx, edi
call fcn.0041d7f0
mov ecx, edi
mov edi, dword [0x5cf6c0]
mov eax, dword [0x5cf6c4]
lea edx, [edi + 1]
mov dword [esi + 0x18], edi
imul edx, edi
mov edi, edx
xor edi, 0xfffffffe
test edi, edx
sete dl
mov dword [esi + 0x10], eax
cmp eax, 0xa
setl dh
mov ebx, dword [esi + 0x80]
test dh, dl
mov edi, 0x891910a9
jne 0x450c94
xor dh, dl
mov ebx, dword [esi + 0x80]
jne 0x450c94
mov ebx, ecx
call fcn.0041d7f0
mov ecx, ebx
call fcn.0041d7f0
mov ecx, dword [0x5cf6c0]
mov eax, dword [0x5cf6c4]
lea edx, [ecx + 1]
mov dword [esi + 0x18], ecx
imul edx, ecx
test dl, 1
sete bh
mov dword [esi + 0x10], eax
cmp eax, 0xa
setl al
setge bl
or bl, dl
cmp al, bh
jne 0x451dc7
test bl, 1
mov ecx, dword [esi + 0x3c]
jne 0x451d7a
mov ebx, dword [esi + 0x80]
jmp 0x450c94
mov ebx, dword [esi + 0x80]
jmp 0x450c91
mov eax, dword [esi + 0x18]
lea edx, [eax + 1]
imul edx, eax
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete cl
cmp dword [esi + 0x10], 0xa
setl al
test al, cl
jne 0x451df8
xor al, cl
je 0x453a02
mov esp, dword [esi + 0x94]
mov eax, dword [0x5cf6b8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0xfc17cf40
cmove eax, edi
cmp dword [0x5cf6bc], 0xa
mov edx, 0xfc17cf40
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x450590
push eax
mov dword [esi + 0x28], esp
push eax
mov ecx, esp
sub esp, 0x18
mov ebx, esp
mov dword [esi + 0x24], ecx
push 0x7a
push 0x61
call fcn.00542260
sub esp, 4
movzx eax, byte [esi + 0x1c]
mov byte [esp], al
mov ecx, ebx
call fcn.0040cd80
mov edx, dword [0x5cf4b8]
mov ecx, dword [0x5cf4bc]
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, 0x8f0f2ca8
mov edi, 0x11f1fb1a
cmovne edx, edi
cmp eax, 0xffffffff
sete byte [esi + 0x30]
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x40]
cmovge eax, edx
mov ecx, 0x13d3b53a
mov dword [esi + 0x18], ebx
cmp ecx, 0x13d3b539
jg 0x451ed0
cmp ecx, 0x8f0f2ca8
je 0x451f0a
cmp ecx, 0x11f1fb1a
jne 0x451eb0
jmp 0x451f15
cmp ecx, 0x1a1c1d98
je 0x451f11
cmp ecx, 0x13d3b53a
jne 0x451eb0
movzx edx, byte [esi + 0x30]
movzx ecx, byte [esi + 0x40]
mov ch, dl
xor ch, cl
mov edi, 0x8f0f2ca8
mov ebx, 0x1a1c1d98
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
mov ebx, dword [esi + 0x18]
test dl, dl
cmove ecx, edi
jmp 0x451eb0
mov ecx, 0x1a1c1d98
jmp 0x451eb0
mov ecx, eax
jmp 0x451eb0
mov dword [ebx + 0x10], 0
mov dword [ebx + 0x14], 0xf
mov ecx, dword [0x5cf5f0]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5cf5f4], 0xa
mov byte [ebx], 0
setl ch
setge cl
cmp ch, dl
jne 0x452047
or cl, al
test cl, 1
je 0x452047
push eax
mov ecx, esp
sub esp, 0x18
mov edi, esp
push 0x7a
push 0x61
call fcn.00542260
sub esp, 4
movzx eax, byte [esi + 0x1c]
mov byte [esp], al
mov dword [esi + 0xc], edi
mov ecx, edi
call fcn.0040cd80
mov edx, dword [0x5cf4b8]
mov ecx, dword [0x5cf4bc]
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 ebx, 0x8f0f2ca8
mov edi, 0x11f1fb1a
cmovne ebx, edi
test edx, eax
sete byte [esi + 0x30]
mov eax, ebx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x40]
cmovge eax, ebx
mov ecx, 0x13d3b53a
jmp 0x451fd0
mov ecx, eax
nop dword [eax + eax]
cmp ecx, 0x13d3b539
jg 0x451ff0
cmp ecx, 0x8f0f2ca8
je 0x452027
cmp ecx, 0x11f1fb1a
jne 0x451fd0
jmp 0x45202e
cmp ecx, 0x1a1c1d98
je 0x451fc9
cmp ecx, 0x13d3b53a
jne 0x451fd0
movzx edx, byte [esi + 0x30]
movzx ecx, byte [esi + 0x40]
mov ch, dl
xor ch, cl
mov ebx, 0x8f0f2ca8
mov edi, 0x1a1c1d98
cmovne ebx, edi
test cl, cl
mov ecx, ebx
cmovne ecx, edi
test dl, dl
cmove ecx, ebx
jmp 0x451fd0
mov ecx, 0x1a1c1d98
jmp 0x451fd0
mov eax, dword [esi + 0xc]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
jmp 0x451e37
xor edx, edx
cmp edx, 0x3e8
je 0x4522d7
mov dword [esi + 0x2c], edx
mov ecx, dword [esi + 0x24]
movsx eax, byte [ecx + 1]
movsx edx, byte [ecx]
mov dword [esi + 0xd8], 0x14
push eax
push edx
push dword [esi + 0x28]
call fcn.0041e700
movsx eax, al
mov ecx, dword [esi + 0x18]
push eax
call fcn.00441240
mov eax, dword [0x5cf5f0]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5cf5f4], 0xa
setl cl
test cl, al
mov edi, dword [esi + 0x18]
jne 0x4520b0
xor cl, al
je 0x4520e5
nop dword [eax]
mov ecx, edi
call fcn.00423280
mov ecx, dword [0x5cf5f0]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete ch
setne cl
cmp dword [0x5cf5f4], 0xa
setl dh
setge dl
cmp dh, ch
jne 0x4520f0
or dl, cl
je 0x4520f0
mov ecx, edi
call fcn.00423280
jmp 0x4520b0
mov ecx, dword [edi + 0x10]
cmp byte [ecx + eax - 1], 0x6f
je 0x45210f
mov ecx, edi
call fcn.00423280
mov ecx, dword [edi + 0x10]
cmp byte [ecx + eax - 1], 0x75
jne 0x452290
mov ecx, edi
call fcn.00423280
mov dword [esi + 0xc], eax
mov ecx, edi
call fcn.00423280
mov ecx, dword [0x5cf5f0]
mov ebx, dword [0x5cf5f4]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
add eax, dword [edi + 0x10]
mov dword [esi + 0x10], eax
mov eax, ebx
xor ecx, 0xfffffffe
and ecx, edx
setne dl
sete bl
cmp eax, 0xa
setge dh
setl bh
xor bh, bl
jne 0x45215c
or dh, dl
jne 0x4535d0
mov edi, dword [esi + 0xc]
jmp 0x452171
inc edi
cmp edi, dword [esi + 0x10]
je 0x4522a8
mov eax, dword [0x5cf5f8]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, dword [0x5cf5fc]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x1c]
sete cl
mov eax, 0xc9893d93
mov ebx, 0x603280c6
cmove eax, ebx
cmp edx, 0xa
setl byte [esi + 0x30]
setl dl
mov ebx, 0xc9893d93
cmovge eax, ebx
xor dl, cl
mov ecx, 0x603280c6
cmovne eax, ecx
mov ecx, 0xfc461c64
nop dword [eax + eax]
cmp ecx, 0xfc461c63
jg 0x4521f0
cmp ecx, 0xc9893d93
je 0x452228
cmp ecx, 0xdac56cfa
jne 0x4521d0
mov ecx, eax
jmp 0x4521d0
cmp ecx, 0x603280c6
je 0x452230
cmp ecx, 0xfc461c64
jne 0x4521d0
mov ch, byte [esi + 0x1c]
mov byte [esi + 0xc], ch
mov cl, byte [esi + 0x30]
xor ch, cl
mov ebx, 0xc9893d93
mov edx, 0xdac56cfa
cmovne ebx, edx
test cl, cl
mov ecx, ebx
cmovne ecx, edx
cmp byte [esi + 0xc], 0
cmove ecx, ebx
jmp 0x4521d0
mov ecx, 0xdac56cfa
jmp 0x4521d0
mov dword [esi + 0x40], edi
mov ebx, dword [esi + 0x40]
movsx eax, byte [ebx]
push eax
call fcn.005a47b5
add esp, 4
mov ecx, eax
xor cl, 0xf5
and cl, al
mov byte [ebx], cl
mov ecx, dword [0x5cf5f0]
mov eax, dword [0x5cf5f4]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
and ecx, edx
sete dl
cmp eax, 0xa
setl dh
test dh, dl
jne 0x452170
xor dh, dl
jne 0x452170
jmp 0x4535c0
mov ecx, dword [0x5cf5f0]
mov eax, dword [0x5cf5f4]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
and ecx, edx
mov edi, dword [esi + 0x2c]
inc edi
test ecx, ecx
sete dl
setne cl
cmp eax, 0xa
setl ah
setge al
cmp dl, ah
mov edx, edi
mov ebx, dword [esi + 0x18]
jne 0x452049
or cl, al
je 0x452049
jmp 0x453600
mov ecx, ebx
call fcn.00423280
cmp byte [eax + 0xd7], 0x31
jne 0x4523b6
mov eax, dword [0x5cf5f0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x5cf5f4], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x452318
or cl, al
jne 0x45234c
mov ecx, ebx
call fcn.00423280
mov edx, dword [0x5cf5f0]
lea ecx, [edx + 1]
imul ecx, edx
test cl, 1
sete dh
cmp dword [0x5cf5f4], 0xa
setl bl
setge dl
cmp bl, dh
mov ebx, dword [esi + 0x18]
jne 0x452355
or dl, cl
test dl, 1
je 0x452355
mov ecx, ebx
call fcn.00423280
jmp 0x452318
cmp byte [eax + 0x2d0], 0x30
jne 0x4523b6
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, dword [0x5cf5f0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5cf5f4], 0xa
setl cl
test cl, al
jne 0x4523b6
xor cl, al
jne 0x4523b6
push 0
push 0
mov edi, dword [sym.imp.KERNEL32.dll_Beep]
call edi
push 0
push 0
call edi
mov eax, dword [0x5cf5f0]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
jmp 0x45237a
mov ecx, ebx
call fcn.0040ed30
mov esp, dword [esi + 0x3c]
mov dword [esi + 0xa4], esp
mov ecx, dword [0x5cf6c0]
mov eax, dword [0x5cf6c4]
lea edx, [ecx + 1]
mov dword [esi + 0x18], ecx
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dh
mov dword [esi + 0x10], eax
cmp eax, 0xa
setl al
or al, dh
mov byte [esi + 0xc], al
nop word cs:[eax + eax]
push eax
sub esp, 8
mov dword [esi + 0x5c], esp
sub esp, 0xc
mov dword [esi + 0x74], esp
sub esp, 0x10
mov edi, esp
and edi, 0xfffffff8
mov esp, edi
push eax
mov dword [esi + 0x88], esp
sub esp, 0xc
mov dword [esi + 0x64], esp
sub esp, 0x10
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
push eax
mov ebx, esp
push eax
mov ecx, esp
push eax
mov edx, esp
cmp byte [esi + 0xc], 0
je 0x452400
mov dword [esi + 0x80], edx
mov dword [esi + 0x8c], ecx
mov dword [esi + 0x6c], ebx
lea ecx, [edi + 0x10]
mov dword [esi + 0x9c], ecx
lea ecx, [eax + 0x10]
mov dword [esi + 0x90], ecx
mov ecx, 0xa
mov dword [esi + 0xac], edi
mov dword [esi + 0xa0], eax
cmp ecx, 0x1f4
jae 0x453571
mov ebx, ecx
mov ecx, dword [esi + 0x5c]
call fcn.004322e0
lea edi, [ebx + 1]
imul ebx, edi
shr ebx, 1
mov dword [esi + 0x60], ebx
mov dword [esi + 0x94], edi
shr edi, 1
xor ebx, ebx
jmp 0x45249f
mov ebx, dword [esi + 0x10]
mov ecx, dword [0x5cf6c0]
lea eax, [ecx + 1]
mov dword [esi + 0xc], ecx
imul eax, ecx
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
mov ecx, dword [0x5cf6c4]
sete al
cmp ecx, 0xa
setl ah
test ah, al
jne 0x4524d0
xor ah, al
je 0x453620
mov eax, edi
imul eax, ebx
mov edx, edi
mov dword [esi + 0x28], ebx
mov dword [esi + 0x18], edi
mulx edx, ebx, edi
add eax, eax
add eax, edx
mov edx, dword [esi + 0x60]
cmp ebx, edx
sbb eax, 0
jae 0x452b18
mov edi, dword [esi + 0x18]
sub edx, edi
mov dword [esi + 0x2c], edx
mov ebx, 0
mov eax, dword [esi + 0x28]
sbb ebx, eax
add edi, 1
adc eax, 0
mov dword [esi + 0x10], eax
push eax
push edi
push ebx
push edx
call fcn.00594a90
mov dword [esi + 0xc], edx
mov edx, eax
mulx ecx, edx, edi
mov dword [esi + 0x3c], edx
mov dword [esi + 0x24], eax
mov edx, eax
imul edx, dword [esi + 0x10]
add ecx, edx
mov edx, dword [esi + 0xc]
imul edx, edi
add edx, ecx
mov eax, dword [esi + 0x2c]
sub eax, dword [esi + 0x3c]
sbb ebx, edx
or ebx, eax
mov ebx, dword [esi + 0x10]
jne 0x45249f
mov dword [esi + 0x2c], edi
mov eax, dword [0x5cf6c8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete byte [esi + 0x1c]
mov ecx, dword [0x5cf6cc]
mov eax, 0xeb760989
mov edi, 0x3b23d0b1
cmove eax, edi
sete dl
cmp ecx, 0xa
mov ecx, dword [esi + 0xac]
mov ebx, dword [esi + 0x18]
mov dword [ecx], ebx
mov ebx, dword [esi + 0x28]
mov dword [ecx + 4], ebx
mov ebx, dword [esi + 0x24]
mov dword [ecx + 8], ebx
setl byte [esi + 0x30]
mov ebx, dword [esi + 0xc]
mov dword [ecx + 0xc], ebx
setl cl
mov ebx, 0xeb760989
cmovge eax, ebx
xor cl, dl
cmovne eax, edi
mov ecx, 0x9c6e8745
mov edx, dword [esi + 0x88]
nop dword [eax]
cmp ecx, 0x20e9c048
jle 0x4525e0
cmp ecx, 0x20e9c049
je 0x4525f7
cmp ecx, 0x3b23d0b1
jne 0x4525c0
jmp 0x452628
cmp ecx, 0x9c6e8745
je 0x4525fb
cmp ecx, 0xeb760989
jne 0x4525c0
mov ecx, 0x20e9c049
jmp 0x4525c0
mov ecx, eax
jmp 0x4525c0
movzx edx, byte [esi + 0x1c]
movzx ecx, byte [esi + 0x30]
mov ch, dl
xor ch, cl
mov edi, 0xeb760989
mov ebx, 0x20e9c049
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
mov edx, dword [esi + 0x88]
cmove ecx, edi
jmp 0x4525c0
mov dword [esi + 0x40], edx
mov eax, dword [esi + 0x40]
mov edx, dword [0x5cf4d0]
mov ecx, dword [0x5cf4d4]
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, 0x7c4a5f2
mov ebx, 0xcfcad29c
cmovne edx, ebx
test edi, eax
sete byte [esi + 0x58]
mov ebx, edx
mov eax, 0xcfcad29c
cmove ebx, eax
cmp ecx, 0xa
mov ecx, dword [esi + 0x74]
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
mov eax, dword [esi + 0x9c]
mov dword [esi + 0x30], eax
setl byte [esi + 0x78]
mov eax, dword [esi + 0xac]
mov dword [esi + 0x1c], eax
cmovge ebx, edx
mov eax, 0x389c0e25
nop word [eax + eax]
cmp eax, 0x7c4a5f1
jg 0x4526d0
cmp eax, 0xcfcad29c
je 0x452714
cmp eax, 0x3aca7e6
jne 0x4526b0
mov eax, ebx
jmp 0x4526b0
cmp eax, 0x7c4a5f2
je 0x45270d
cmp eax, 0x389c0e25
jne 0x4526b0
movzx edx, byte [esi + 0x58]
movzx ecx, byte [esi + 0x78]
mov dh, cl
xor dh, dl
test cl, cl
mov eax, 0x7c4a5f2
mov ecx, 0x3aca7e6
cmovne eax, ecx
test dl, dl
mov edi, 0x7c4a5f2
cmove eax, edi
test dh, dh
cmovne eax, ecx
mov ecx, dword [esi + 0x74]
jmp 0x4526b0
mov eax, 0x3aca7e6
jmp 0x4526b0
mov dword [esi + 0x40], 2
mov eax, dword [esi + 0x40]
mov dword [esi + 0xd8], 0x15
lea edx, [esi + 0x30]
push edx
lea edx, [esi + 0x1c]
push edx
push eax
call fcn.00432de0
mov dword [esi + 0xd8], 0x17
mov ecx, dword [esi + 0x5c]
push dword [esi + 0x74]
call fcn.004325a0
mov eax, dword [0x5cf6d0]
mov ecx, dword [0x5cf6d4]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x30]
cmp ecx, 0xa
setl byte [esi + 0x40]
mov eax, 0x950d98a
mov ebx, dword [esi + 0x74]
mov edi, dword [esi + 0x24]
mov ecx, dword [esi + 0xc]
nop dword [eax]
cmp eax, 0x31a61df4
jg 0x4527a0
cmp eax, 0xc6e82640
je 0x45283a
cmp eax, 0x950d98a
jne 0x452780
jmp 0x45280b
cmp eax, 0x31a61df5
je 0x4527bc
cmp eax, 0x4d86efb0
jne 0x452780
mov ecx, ebx
call fcn.0041d690
mov eax, 0x31a61df5
jmp 0x452779
mov ecx, ebx
call fcn.0041d690
mov edx, dword [0x5cf6d0]
mov ecx, dword [0x5cf6d4]
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, 0x4d86efb0
mov edi, 0xc6e82640
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
mov edi, dword [esi + 0x24]
cmp ecx, 0xa
cmovge eax, edx
jmp 0x452779
movzx ecx, byte [esi + 0x30]
movzx eax, byte [esi + 0x40]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x4d86efb0
mov edi, 0x31a61df5
cmovne eax, edi
test cl, cl
mov ecx, 0x4d86efb0
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x452776
mov ebx, dword [esi + 0xa0]
mov dword [ebx + 4], ecx
mov dword [ebx], edi
mov eax, dword [esi + 0x28]
mov dword [ebx + 0xc], eax
mov eax, dword [0x5cf6c8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x5cf6cc]
sete byte [esi + 0x1c]
sete byte [esi + 0xc]
mov edx, 0xeb760989
mov edi, 0x3b23d0b1
cmove edx, edi
cmp ecx, 0xa
setl byte [esi + 0x30]
mov eax, dword [esi + 0x18]
mov dword [ebx + 8], eax
setl cl
mov ebx, 0xeb760989
cmovge edx, ebx
xor cl, byte [esi + 0xc]
cmovne edx, edi
mov dword [esi + 0xc], edx
mov eax, 0x9c6e8745
mov ecx, dword [esi + 0x64]
mov edx, dword [esi + 0x6c]
nop word cs:[eax + eax]
cmp eax, 0x20e9c048
jle 0x4528d0
cmp eax, 0x20e9c049
je 0x4528e5
cmp eax, 0x3b23d0b1
jne 0x4528b0
jmp 0x45291c
cmp eax, 0x9c6e8745
je 0x4528ea
cmp eax, 0xeb760989
jne 0x4528b0
mov eax, 0x20e9c049
jmp 0x4528b0
mov eax, dword [esi + 0xc]
jmp 0x4528b0
movzx edx, byte [esi + 0x1c]
movzx ecx, byte [esi + 0x30]
mov dh, cl
xor dh, dl
test cl, cl
mov eax, 0xeb760989
mov ebx, 0x20e9c049
cmovne eax, ebx
test dl, dl
mov edi, 0xeb760989
cmove eax, edi
test dh, dh
mov edx, dword [esi + 0x6c]
cmovne eax, ebx
mov ecx, dword [esi + 0x64]
jmp 0x4528b0
mov dword [esi + 0x40], edx
mov eax, dword [esi + 0x40]
mov edx, dword [0x5cf4d0]
mov edi, dword [0x5cf4d4]
lea eax, [edx + 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp edi, 0xa
setl dh
xor dh, dl
mov edx, 0x7c4a5f2
mov ebx, 0xcfcad29c
cmovne edx, ebx
cmp eax, 0xffffffff
sete byte [esi + 0x58]
mov ebx, edx
mov eax, 0xcfcad29c
cmove ebx, eax
cmp edi, 0xa
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
mov eax, dword [esi + 0x90]
mov dword [esi + 0x30], eax
setl byte [esi + 0x78]
mov eax, dword [esi + 0xa0]
mov dword [esi + 0x1c], eax
cmovge ebx, edx
mov eax, 0x389c0e25
nop word [eax + eax]
cmp eax, 0x7c4a5f1
jg 0x4529c0
cmp eax, 0xcfcad29c
je 0x452a04
cmp eax, 0x3aca7e6
jne 0x4529a0
mov eax, ebx
jmp 0x4529a0
cmp eax, 0x7c4a5f2
je 0x4529fd
cmp eax, 0x389c0e25
jne 0x4529a0
movzx edx, byte [esi + 0x58]
movzx ecx, byte [esi + 0x78]
mov dh, cl
xor dh, dl
test cl, cl
mov eax, 0x7c4a5f2
mov ecx, 0x3aca7e6
cmovne eax, ecx
test dl, dl
mov edi, 0x7c4a5f2
cmove eax, edi
test dh, dh
cmovne eax, ecx
mov ecx, dword [esi + 0x64]
jmp 0x4529a0
mov eax, 0x3aca7e6
jmp 0x4529a0
mov dword [esi + 0x40], 2
mov eax, dword [esi + 0x40]
mov dword [esi + 0xd8], 0x15
lea edx, [esi + 0x30]
push edx
lea edx, [esi + 0x1c]
push edx
push eax
call fcn.00432de0
mov dword [esi + 0xd8], 0x16
mov ecx, dword [esi + 0x5c]
push dword [esi + 0x64]
call fcn.004325a0
mov eax, dword [0x5cf6d0]
mov ecx, dword [0x5cf6d4]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x30]
cmp ecx, 0xa
setl byte [esi + 0x40]
mov eax, 0x950d98a
mov ebx, dword [esi + 0x64]
jmp 0x452aa9
mov ecx, ebx
call fcn.0041d690
mov eax, dword [0x5cf6d0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x4d86efb0
mov edi, 0xc6e82640
cmove eax, edi
cmp dword [0x5cf6d4], 0xa
mov edx, 0x4d86efb0
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
mov edi, dword [esi + 0x2c]
nop dword [eax]
cmp eax, 0x31a61df4
jg 0x452ad0
cmp eax, 0xc6e82640
je 0x45249c
cmp eax, 0x950d98a
jne 0x452ab0
jmp 0x452aec
cmp eax, 0x31a61df5
je 0x452a69
cmp eax, 0x4d86efb0
jne 0x452ab0
mov ecx, ebx
call fcn.0041d690
mov eax, 0x31a61df5
jmp 0x452ab0
movzx ecx, byte [esi + 0x30]
movzx eax, byte [esi + 0x40]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x4d86efb0
mov edi, 0x31a61df5
cmovne eax, edi
test cl, cl
mov ecx, 0x4d86efb0
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x452aa9
mov edx, dword [esi + 0x5c]
mov eax, dword [edx]
mov edx, dword [edx + 4]
sub edx, eax
sar edx, 2
imul edx, edx, 0xaaaaaaab
cmp edx, 2
mov edi, ecx
mov ecx, dword [esi + 0xc]
jb 0x452e9f
mov ebx, 1
jmp 0x452b62
mov ebx, dword [esi + 0x84]
inc ebx
mov edx, dword [esi + 0x5c]
mov eax, dword [edx]
mov edx, dword [edx + 4]
sub edx, eax
sar edx, 2
imul edx, edx, 0xaaaaaaab
cmp ebx, edx
jae 0x452e9f
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
test ecx, eax
sete al
cmp edi, 0xa
setl cl
mov dword [esi + 0x84], ebx
mov dword [esi + 0x10], ebx
test cl, al
jne 0x452bb9
xor cl, al
mov eax, dword [esi + 0x84]
mov dword [esi + 0x10], eax
jne 0x452bb9
jmp 0x453670
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x40], eax
mov ecx, dword [esi + 0x40]
push ebx
call fcn.00433980
cmp dword [esi + 0x10], 0
je 0x452e68
mov eax, dword [0x5cf6d8]
mov edx, dword [0x5cf6dc]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
mov dword [esi + 0x28], ecx
mov dword [esi + 0x24], eax
test eax, ecx
sete byte [esi + 0x1c]
mov ebx, 0xbf25ae54
mov ecx, 0x20ab24e5
cmove ebx, ecx
sete al
mov dword [esi + 0x18], edx
cmp edx, 0xa
setl byte [esi + 0x30]
mov edx, 0xbf25ae54
cmovge ebx, edx
setl dl
xor dl, al
mov eax, dword [esi + 0x5c]
mov edi, dword [eax]
mov eax, dword [esi + 0x10]
lea edx, [eax + eax*2]
lea eax, [edi + edx*4]
mov dword [esi + 0x2c], eax
cmovne ebx, ecx
mov dword [esi + 0xc], ebx
mov edx, 0xe6642f9a
nop
cmp edx, 0xffb13444
jle 0x452c40
cmp edx, 0xffb13445
je 0x452c7c
cmp edx, 0x20ab24e5
jne 0x452c20
jmp 0x452c90
cmp edx, 0xbf25ae54
je 0x452c81
cmp edx, 0xe6642f9a
jne 0x452c20
movzx ecx, byte [esi + 0x1c]
movzx edx, byte [esi + 0x30]
mov ch, dl
xor ch, cl
test dl, dl
mov edx, 0xbf25ae54
mov ebx, 0xffb13445
cmovne edx, ebx
test cl, cl
mov eax, 0xbf25ae54
cmove edx, eax
test ch, ch
cmovne edx, ebx
jmp 0x452c20
mov edx, dword [esi + 0xc]
jmp 0x452c20
mov edx, 0xffb13445
jmp 0x452c20
mov eax, dword [esi + 0x10]
dec eax
mov ecx, dword [esi + 0x24]
test dword [esi + 0x28], ecx
mov ecx, dword [esi + 0x2c]
mov dword [esi + 0x40], ecx
mov ecx, dword [esi + 0x40]
mov ecx, dword [ecx]
mov ebx, dword [ecx]
mov edx, dword [ecx + 4]
sete byte [esi + 0x1c]
cmp dword [esi + 0x18], 0xa
setl byte [esi + 0x30]
mov dword [esi + 0x10], eax
lea ecx, [eax + eax*2]
lea eax, [edi + ecx*4]
mov dword [esi + 0x3c], eax
mov eax, 0xe6642f9a
nop word [eax + eax]
cmp eax, 0xffb13444
jle 0x452cf0
cmp eax, 0xffb13445
je 0x452d2b
cmp eax, 0x20ab24e5
jne 0x452cd0
jmp 0x452d40
cmp eax, 0xbf25ae54
je 0x452d30
cmp eax, 0xe6642f9a
jne 0x452cd0
movzx ecx, byte [esi + 0x1c]
movzx eax, byte [esi + 0x30]
mov ah, cl
xor ah, al
mov dword [esi + 0x60], edx
mov edx, 0xbf25ae54
mov edi, 0xffb13445
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
mov edx, dword [esi + 0x60]
jmp 0x452cd0
mov eax, dword [esi + 0xc]
jmp 0x452cd0
mov eax, 0xffb13445
jmp 0x452cd0
mov eax, dword [esi + 0x3c]
mov dword [esi + 0x40], eax
mov eax, dword [esi + 0x40]
mov eax, dword [eax]
cmp ebx, dword [eax]
sbb edx, dword [eax + 4]
jge 0x452e68
mov eax, dword [esi + 0x24]
test dword [esi + 0x28], eax
sete byte [esi + 0x1c]
cmp dword [esi + 0x18], 0xa
setl byte [esi + 0x30]
mov eax, 0xe6642f9a
nop dword [eax]
cmp eax, 0xffb13444
jle 0x452d90
cmp eax, 0xffb13445
je 0x452dc5
cmp eax, 0x20ab24e5
jne 0x452d70
jmp 0x452de0
cmp eax, 0xbf25ae54
je 0x452dca
cmp eax, 0xe6642f9a
jne 0x452d70
movzx ecx, byte [esi + 0x1c]
movzx eax, byte [esi + 0x30]
mov edx, ecx
xor dl, al
mov edx, 0xbf25ae54
mov edi, 0xffb13445
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x452d70
mov eax, dword [esi + 0xc]
jmp 0x452d70
mov eax, 0xffb13445
jmp 0x452d70
mov eax, dword [esi + 0x24]
test dword [esi + 0x28], eax
mov eax, dword [esi + 0x3c]
mov dword [esi + 0x40], eax
mov ebx, dword [esi + 0x40]
sete byte [esi + 0x1c]
cmp dword [esi + 0x18], 0xa
setl byte [esi + 0x30]
mov ecx, 0xe6642f9a
cmp ecx, 0xffb13444
jle 0x452e20
cmp ecx, 0xffb13445
je 0x452e5c
cmp ecx, 0x20ab24e5
jne 0x452e00
jmp 0x452ba0
cmp ecx, 0xbf25ae54
je 0x452e61
cmp ecx, 0xe6642f9a
jne 0x452e00
movzx eax, byte [esi + 0x1c]
movzx ecx, byte [esi + 0x30]
mov ah, al
xor ah, cl
test cl, cl
mov ecx, 0xbf25ae54
mov edx, 0xffb13445
cmovne ecx, edx
test al, al
mov edi, 0xbf25ae54
cmove ecx, edi
test ah, ah
cmovne ecx, edx
jmp 0x452e00
mov ecx, dword [esi + 0xc]
jmp 0x452e00
mov ecx, 0xffb13445
jmp 0x452e00
mov ecx, dword [0x5cf6c0]
mov edi, dword [0x5cf6c4]
lea eax, [ecx + 1]
imul eax, ecx
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
sete al
cmp edi, 0xa
setl dl
test dl, al
jne 0x452b40
xor dl, al
jne 0x452b40
jmp 0x4536a0
mov edx, dword [0x5cf6e0]
mov ecx, dword [0x5cf6e4]
lea edi, [edx + 1]
mov dword [esi + 0x10], edx
imul edi, edx
mov ebx, edi
xor ebx, 0xfffffffe
test ebx, edi
sete byte [esi + 0x1c]
mov dword [esi + 0xc], ecx
cmp ecx, 0xa
setl byte [esi + 0x30]
mov edi, 0x124998e2
mov edx, dword [esi + 0x5c]
nop word cs:[eax + eax]
cmp edi, 0x124998e1
jg 0x452f07
cmp edi, 0x88e9608c
je 0x452f46
cmp edi, 0xdf32ec89
jne 0x452ee0
mov ecx, dword [esi + 0x8c]
mov dword [ecx], eax
mov edi, 0x88e9608c
jmp 0x452ee0
cmp edi, 0x30b7124c
je 0x452f9f
cmp edi, 0x124998e2
jne 0x452ee0
movzx ecx, byte [esi + 0x1c]
mov bh, byte [esi + 0x30]
mov bl, cl
xor bl, bh
mov edx, 0xdf32ec89
mov edi, 0x88e9608c
cmovne edx, edi
test bh, bh
mov edi, edx
mov ebx, 0x88e9608c
cmovne edi, ebx
test cl, cl
cmove edi, edx
jmp 0x452ece
mov ecx, dword [esi + 0x8c]
mov dword [esi + 0x40], ecx
mov ecx, dword [esi + 0x40]
mov dword [ecx], eax
mov ecx, dword [esi + 0x40]
mov edi, dword [0x5cf6e0]
mov edx, dword [0x5cf6e4]
lea ecx, [edi + 1]
mov dword [esi + 0x10], edi
imul ecx, edi
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov edi, 0xdf32ec89
mov ebx, 0x30b7124c
cmove edi, ebx
sete cl
mov dword [esi + 0xc], edx
cmp edx, 0xa
mov edx, 0xdf32ec89
cmovge edi, edx
setl dl
xor dl, cl
cmovne edi, ebx
jmp 0x452ece
mov ecx, dword [esi + 0x10]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
test ecx, eax
mov eax, dword [esi + 0x40]
mov eax, dword [edx + 4]
sete byte [esi + 0x1c]
cmp dword [esi + 0xc], 0xa
setl byte [esi + 0x30]
mov ecx, 0x124998e2
mov edx, dword [esi + 0x80]
nop dword [eax]
cmp ecx, 0x124998e1
jg 0x452ff1
cmp ecx, 0x88e9608c
je 0x453032
cmp ecx, 0xdf32ec89
jne 0x452fd0
mov dword [edx], eax
mov ecx, 0x88e9608c
jmp 0x452fd0
cmp ecx, 0x30b7124c
je 0x453082
cmp ecx, 0x124998e2
jne 0x452fd0
movzx edx, byte [esi + 0x1c]
movzx ecx, byte [esi + 0x30]
mov ch, dl
xor ch, cl
mov edi, 0xdf32ec89
mov ebx, 0x88e9608c
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
mov edx, dword [esi + 0x80]
cmove ecx, edi
jmp 0x452fd0
mov dword [esi + 0x40], edx
mov ecx, dword [esi + 0x40]
mov dword [ecx], eax
mov ecx, dword [esi + 0x40]
mov ecx, dword [0x5cf6e0]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete dl
mov ecx, 0xdf32ec89
mov edi, 0x30b7124c
cmove ecx, edi
cmp dword [0x5cf6e4], 0xa
mov ebx, 0xdf32ec89
cmovge ecx, ebx
setl dh
xor dh, dl
mov edx, dword [esi + 0x80]
cmovne ecx, edi
jmp 0x452fd0
mov eax, dword [esi + 0x40]
mov eax, dword [0x5cf6c0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x5cf6c4], 0xa
setge cl
setl ah
xor ah, dl
jne 0x4530b6
or cl, al
jne 0x453640
mov ecx, dword [esi + 0x8c]
mov eax, dword [ecx]
mov edx, dword [esi + 0x80]
cmp eax, dword [edx]
je 0x4534ca
call fcn.005936c0
mov ecx, dword [0x5cf6e8]
mov edx, dword [0x5cf6ec]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x30]
sete bl
mov ecx, 0xfc04dcc5
mov edi, 0x2601f5a7
cmove ecx, edi
cmp edx, 0xa
setl byte [esi + 0x40]
setl dl
mov dword [esi + 0x10], eax
mov eax, dword [eax]
mov dword [esi + 0xc], eax
mov eax, 0xfc04dcc5
cmovge ecx, eax
xor dl, bl
cmovne ecx, edi
mov edx, 0x5a893bc4
nop word cs:[eax + eax]
cmp edx, 0x2601f5a6
jg 0x453150
cmp edx, 0x87fb68d6
je 0x453187
cmp edx, 0xfc04dcc5
jne 0x453130
mov edx, 0x87fb68d6
jmp 0x453130
cmp edx, 0x2601f5a7
je 0x45318b
cmp edx, 0x5a893bc4
jne 0x453130
movzx eax, byte [esi + 0x30]
movzx edx, byte [esi + 0x40]
mov dh, al
xor dh, dl
mov ebx, 0xfc04dcc5
mov edi, 0x87fb68d6
cmovne ebx, edi
test dl, dl
mov edx, ebx
cmovne edx, edi
test al, al
cmove edx, ebx
jmp 0x453130
mov edx, ecx
jmp 0x453130
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 4]
mov eax, dword [0x5cf6c0]
mov dword [esi + 0x2c], eax
mov eax, dword [0x5cf6c4]
mov dword [esi + 0x24], eax
mov dword [esi + 0x3c], ecx
cmp dword [esi + 0xc], ecx
je 0x4533bd
mov eax, dword [0x5cf6f0]
mov dword [esi + 0x18], eax
mov eax, dword [0x5cf6f4]
mov dword [esi + 0x10], eax
jmp 0x4531d2
mov eax, dword [esi + 0xc]
add eax, 8
mov dword [esi + 0xc], eax
cmp eax, dword [esi + 0x3c]
je 0x4533bd
mov ecx, dword [esi + 0x2c]
lea eax, [ecx + 1]
imul eax, ecx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete al
cmp dword [esi + 0x24], 0xa
setl cl
or cl, al
mov byte [esi + 0x28], cl
jne 0x4532a9
mov ecx, dword [esi + 0x18]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
and ecx, eax
test ecx, ecx
sete byte [esi + 0x1c]
sete al
mov ecx, 0x4c6ca682
mov ebx, 0x6707b2cf
cmove ecx, ebx
cmp dword [esi + 0x10], 0xa
setl byte [esi + 0x30]
setl dl
mov edi, 0x4c6ca682
cmovge ecx, edi
xor dl, al
cmovne ecx, ebx
mov eax, 0x1b272c9a
jmp 0x453240
mov eax, ecx
nop
cmp eax, 0x4c6ca681
jle 0x453260
cmp eax, 0x4c6ca682
je 0x453295
cmp eax, 0x6707b2cf
jne 0x453240
jmp 0x4532a0
cmp eax, 0xf74fd645
je 0x45323d
cmp eax, 0x1b272c9a
jne 0x453240
movzx edx, byte [esi + 0x1c]
movzx eax, byte [esi + 0x30]
mov ah, dl
xor ah, al
mov ebx, 0x4c6ca682
mov edi, 0xf74fd645
cmovne ebx, edi
test al, al
mov eax, ebx
cmovne eax, edi
test dl, dl
cmove eax, ebx
jmp 0x453240
mov eax, 0xf74fd645
jmp 0x453240
mov eax, dword [esi + 0xc]
mov dword [esi + 0x40], eax
mov eax, dword [esi + 0x40]
mov eax, dword [esi + 0x18]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
and eax, 1
sete al
mov edi, dword [esi + 0x10]
cmp edi, 0xa
setl dl
xor dl, al
mov eax, 0x4c6ca682
mov ebx, 0x6707b2cf
cmovne eax, ebx
and ecx, 1
sete byte [esi + 0x1c]
mov edx, eax
cmove edx, ebx
cmp edi, 0xa
setl byte [esi + 0x30]
cmovge edx, eax
mov eax, 0x1b272c9a
nop dword [eax]
cmp eax, 0x4c6ca681
jle 0x453310
cmp eax, 0x4c6ca682
je 0x45334f
cmp eax, 0x6707b2cf
jne 0x4532f0
jmp 0x453360
cmp eax, 0xf74fd645
je 0x453356
cmp eax, 0x1b272c9a
jne 0x4532f0
movzx ebx, byte [esi + 0x1c]
movzx eax, byte [esi + 0x30]
mov bh, bl
xor bh, al
test al, al
mov eax, 0x4c6ca682
mov edi, 0xf74fd645
cmovne eax, edi
test bl, bl
mov edi, 0x4c6ca682
cmove eax, edi
test bh, bh
mov edi, 0xf74fd645
cmovne eax, edi
jmp 0x4532f0
mov eax, 0xf74fd645
jmp 0x4532f0
mov eax, edx
jmp 0x4532f0
mov eax, dword [esi + 0xc]
mov dword [esi + 0x40], eax
mov eax, dword [esi + 0x40]
cmp byte [esi + 0x28], 0
je 0x453208
mov ecx, dword [eax + 4]
mov edx, 0x136
xor ecx, edx
mov eax, dword [eax]
mov edx, 0xf74f03be
xor eax, edx
or eax, ecx
jne 0x4531c0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, dword [0x5cf6c0]
mov dword [esi + 0x2c], eax
mov eax, dword [0x5cf6c4]
mov dword [esi + 0x24], eax
mov eax, dword [0x5cf6f0]
mov dword [esi + 0x18], eax
mov eax, dword [0x5cf6f4]
mov dword [esi + 0x10], eax
jmp 0x4531c0
mov ecx, dword [esi + 0x2c]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
test ecx, eax
sete al
cmp dword [esi + 0x24], 0xa
setl cl
test cl, al
jne 0x4533e3
xor cl, al
je 0x453650
mov eax, dword [0x5cf6f8]
mov ecx, dword [0x5cf6fc]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x1c]
cmp ecx, 0xa
setl byte [esi + 0x30]
mov eax, 0xcd5e6053
mov ecx, dword [esi + 0x8c]
nop word cs:[eax + eax]
cmp eax, 0x5499d803
jg 0x453440
cmp eax, 0xcd5e6053
je 0x4534a0
cmp eax, 0x18ed46ca
jne 0x453420
add dword [ecx], 0xc
mov eax, 0x685e39a2
jmp 0x453420
cmp eax, 0x5499d804
je 0x453082
cmp eax, 0x685e39a2
jne 0x453420
mov dword [esi + 0x40], ecx
mov eax, dword [esi + 0x40]
add dword [eax], 0xc
mov edx, dword [0x5cf6f8]
mov ecx, dword [0x5cf6fc]
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, 0x18ed46ca
mov edi, 0x5499d804
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x45340c
movzx ecx, byte [esi + 0x1c]
movzx eax, byte [esi + 0x30]
mov edx, ecx
xor dl, al
mov edx, 0x18ed46ca
mov edi, 0x685e39a2
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x45340c
mov ecx, dword [esi + 0x5c]
call fcn.0041d7f0
mov ecx, dword [0x5cf6c0]
mov eax, dword [0x5cf6c4]
lea edx, [ecx + 1]
mov dword [esi + 0x18], ecx
imul edx, ecx
test dl, 1
sete byte [esi + 0xc]
mov dword [esi + 0x10], eax
cmp eax, 0xa
setl bh
setge bl
mov ecx, dword [esi + 0x94]
cmp bh, byte [esi + 0xc]
jne 0x45246f
or bl, dl
mov ecx, dword [esi + 0x94]
test bl, 1
je 0x45246f
mov edi, dword [esi + 0x5c]
mov ecx, edi
call fcn.0041d7f0
mov ecx, edi
call fcn.0041d7f0
mov ecx, dword [0x5cf6c0]
mov eax, dword [0x5cf6c4]
lea edx, [ecx + 1]
mov dword [esi + 0x18], ecx
imul edx, ecx
test dl, 1
sete bh
mov dword [esi + 0x10], eax
cmp eax, 0xa
setl al
setge bl
or bl, dl
cmp al, bh
jne 0x453566
test bl, 1
jne 0x453519
mov ecx, dword [esi + 0x94]
jmp 0x45246f
mov ecx, dword [esi + 0x94]
jmp 0x45246f
mov eax, dword [esi + 0x18]
lea edx, [eax + 1]
imul edx, eax
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
setne cl
sete dl
cmp dword [esi + 0x10], 0xa
setge al
setl ah
xor ah, dl
jne 0x45359d
or al, cl
jne 0x4539fe
mov esp, dword [esi + 0xa4]
mov eax, 0x952d0ea6
jmp 0x450590
jmp 0x4535b0
jmp 0x4535c0
jmp 0x4535d0
jmp 0x4535e0
jmp 0x4535f0
jmp 0x453600
jmp 0x453610
jmp 0x453620
jmp 0x453630
jmp 0x453640
jmp 0x453650
jmp 0x453660
jmp 0x453670
jmp 0x453680
jmp 0x453690
jmp 0x4536a0
mov esp, dword [esi + 0xb8]
mov eax, 0xfd7bc6b8
mov ecx, 0x7a34cc37
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x24], eax
mov ecx, dword [0x5cf4c8]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, 0xd7305d6d
mov ebx, 0x2f61b855
mov dword [esi + 0x3c], ecx
mov edx, eax
and edx, 1
sete dl
mov edi, dword [0x5cf4cc]
cmp edi, 0xa
setl dh
xor dh, dl
mov ecx, 0x529938f9
mov edx, 0x3a5e4de9
cmovne edx, ecx
and eax, 1
mov dword [esi + 0xc], eax
cmovne ecx, edx
mov dword [esi + 0x10], edi
cmp edi, 0xa
cmovge ecx, edx
mov dword [esi + 0x18], ecx
mov dword [esi + 0x28], esp
mov edx, dword [0x5cf5e8]
lea eax, [edx + 1]
imul eax, edx
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
mov eax, dword [esi + 0x70]
mov ecx, dword [esi + 0x2c]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x24]
mov dword [eax], ecx
mov dword [eax + 0xc], ebx
sete byte [esi + 0x58]
mov ecx, 0xc775c7ab
mov ebx, 0x27f6495d
cmove ebx, ecx
mov ecx, dword [esi + 0x3c]
mov dword [eax + 8], ecx
sete dl
mov edi, dword [0x5cf5ec]
cmp edi, 0xa
setl byte [esi + 0x78]
mov edi, 0x27f6495d
cmovge ebx, edi
setl dh
xor dh, dl
mov ecx, 0xc775c7ab
cmovne ebx, ecx
mov dword [esi + 0x24], ebx
vmovaps xmm1, xmmword [eax]
vmovddup xmm0, qword [0x5b6f20]
mov ebx, 0xc34d6f78
mov ecx, 0x17b769ba
nop word cs:[eax + eax]
cmp ebx, 0xfa14f6c0
jg 0x4537c0
cmp ebx, 0xc34d6f78
je 0x4538be
cmp ebx, 0xc775c7ab
jne 0x453790
jmp 0x4539bc
cmp ebx, 0xfa14f6c1
je 0x4538ed
cmp ebx, 0x27f6495d
jne 0x453790
push eax
sub esp, 0xc
mov eax, esp
and eax, 0xfffffff0
mov esp, eax
mov edx, 0x1f439354
mov edi, 0x911aa5e7
mov dword [eax + 4], edx
mov dword [eax], edi
mov edx, 0x2f61b855
mov edi, 0xa3583a04
mov dword [eax + 0xc], edx
mov dword [eax + 8], edi
xor edx, edx
cmp dword [esi + 0xc], 0
vmovaps xmm2, xmmword [eax]
sete byte [esi + 0x1c]
cmp dword [esi + 0x10], 0xa
setl byte [esi + 0x30]
vandnps xmm3, xmm1, xmm0
vandnps xmm4, xmm2, xmm0
vandnps xmm1, xmm0, xmm1
vorps xmm1, xmm3, xmm1
vandnps xmm2, xmm0, xmm2
vorps xmm2, xmm4, xmm2
vxorps xmm1, xmm1, xmm2
mov ebx, 0x9c60b94a
nop word cs:[eax + eax]
cmp ebx, 0x3a5e4de8
jle 0x453860
cmp ebx, 0x3a5e4de9
je 0x453875
cmp ebx, 0x529938f9
jne 0x453840
jmp 0x4538a3
cmp ebx, 0x9c60b94a
je 0x45387c
cmp ebx, 0x17b769ba
jne 0x453840
mov ebx, dword [esi + 0x18]
jmp 0x453840
mov ebx, 0x17b769ba
jmp 0x453840
movzx eax, byte [esi + 0x1c]
movzx edx, byte [esi + 0x30]
mov ah, al
xor ah, dl
test dl, dl
mov ebx, 0x3a5e4de9
cmovne ebx, ecx
test al, al
mov edx, 0x3a5e4de9
cmove ebx, edx
test ah, ah
cmovne ebx, ecx
jmp 0x453840
vmovaps xmmword [esi + 0x40], xmm1
vmovaps xmm1, xmmword [esi + 0x40]
mov eax, dword [esi + 0x70]
vmovaps xmmword [eax], xmm1
mov ebx, 0xfa14f6c1
jmp 0x453790
movzx eax, byte [esi + 0x58]
movzx edx, byte [esi + 0x78]
mov ah, al
xor ah, dl
mov edi, 0x27f6495d
mov ecx, 0xfa14f6c1
cmovne edi, ecx
test dl, dl
mov ebx, edi
cmovne ebx, ecx
mov ecx, 0x17b769ba
test al, al
cmove ebx, edi
jmp 0x453790
push eax
sub esp, 0xc
mov eax, esp
and eax, 0xfffffff0
mov esp, eax
mov edx, 0x1f439354
mov edi, 0x911aa5e7
mov dword [eax + 4], edx
mov dword [eax], edi
mov edx, 0x2f61b855
mov edi, 0xa3583a04
mov dword [eax + 0xc], edx
mov dword [eax + 8], edi
xor edx, edx
cmp dword [esi + 0xc], 0
vmovaps xmm2, xmmword [eax]
sete byte [esi + 0x1c]
cmp dword [esi + 0x10], 0xa
setl byte [esi + 0x30]
vandnps xmm3, xmm1, xmm2
vandnps xmm1, xmm2, xmm1
vorps xmm1, xmm3, xmm1
mov ebx, 0x9c60b94a
nop
cmp ebx, 0x3a5e4de8
jle 0x453960
cmp ebx, 0x3a5e4de9
je 0x453975
cmp ebx, 0x529938f9
jne 0x453940
jmp 0x4539a3
cmp ebx, 0x9c60b94a
je 0x45397c
cmp ebx, 0x17b769ba
jne 0x453940
mov ebx, dword [esi + 0x18]
jmp 0x453940
mov ebx, 0x17b769ba
jmp 0x453940
movzx eax, byte [esi + 0x1c]
movzx edx, byte [esi + 0x30]
mov ah, al
xor ah, dl
test dl, dl
mov ebx, 0x3a5e4de9
cmovne ebx, ecx
test al, al
mov edx, 0x3a5e4de9
cmove ebx, edx
test ah, ah
cmovne ebx, ecx
jmp 0x453940
vmovaps xmmword [esi + 0x40], xmm1
vmovaps xmm1, xmmword [esi + 0x40]
mov eax, dword [esi + 0x70]
vmovaps xmmword [eax], xmm1
mov ebx, dword [esi + 0x24]
jmp 0x453790
mov eax, dword [esi + 0x70]
mov dword [esi + 0x40], eax
mov eax, dword [esi + 0x40]
mov esp, dword [esi + 0x28]
call fcn.005a0f5e
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 + 0xa8]
call fcn.004557f0
add esp, 8
jmp 0x44cfa7
jmp 0x4539fc
jmp 0x4539fe
jmp 0x453a00
jmp 0x453a02
mov dword [esi + 0xd8], 8
push edi
push dword [esi + 0xb8]
push dword [esi + 0x8c]
call fcn.00455290
add esp, 0xc
mov ecx, dword [esi + 0xb8]
call fcn.0040ed30
mov eax, dword [esi + 0xa8]
mov dword [eax], 3
mov dword [eax + 4], 0x44b870
mov dword [esi + 0xd8], 9
push 0
call fcn.00402b50
mov edi, dword [esi + 0xa8]
mov dword [edi + 0x10], eax
push 0x7f00
push 0
call dword [sym.imp.USER32.dll_LoadIconA]
mov dword [edi + 0x14], eax
push 0x7f00
push 0
call dword [sym.imp.USER32.dll_LoadCursorA]
mov dword [edi + 0x18], eax
push 0x2d2d2d
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
mov dword [edi + 0x1c], eax
mov ecx, dword [esi + 0x8c]
call fcn.00409c60
mov dword [edi + 0x24], eax
mov dword [esi + 0x1c], 1
mov dword [esi + 0x20], 0xa
mov dword [esi + 0x78], 0xf
mov dword [esi + 0x7c], 0x1e
lea ecx, [esi + 0x40]
call fcn.00540a80
mov ecx, dword [0x5cf588]
xor edi, edi
mov eax, dword [0x5cf58c]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete dl
setne cl
cmp eax, 0xa
setl ah
setge al
cmp ah, dl
jne 0x453af0
or al, cl
jne 0x453bc0
cmp edi, 0x63
ja 0x453bd2
mov dword [esi + 0xc], edi
mov eax, dword [esi + 0x78]
mov edx, dword [esi + 0x7c]
mov dword [esi + 0xd8], 0xe
lea ecx, [esi + 0x78]
push edx
push eax
lea eax, [esi + 0x68]
push eax
call fcn.0041de80
mov ecx, dword [0x5cf588]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
setne cl
sete ch
cmp dword [0x5cf58c], 0xa
setge dl
setl dh
xor dh, ch
jne 0x453b4c
or dl, cl
jne 0x453bd0
mov dword [esi + 0x30], eax
lea ecx, [esi + 0x1c]
push dword [esi + 0x20]
push dword [esi + 0x1c]
lea eax, [esi + 0x68]
push eax
call fcn.0041de80
mov dword [esi + 0x58], eax
lea ecx, [esi + 0x40]
lea eax, [esi + 0x30]
push eax
lea eax, [esi + 0x58]
push eax
call fcn.004341a0
mov ecx, dword [0x5cf588]
mov eax, dword [0x5cf58c]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
setne dh
cmp eax, 0xa
setge dl
mov ebx, edx
xor bl, dh
or dl, dh
xor dl, 1
or dl, bl
cmp dl, 1
mov edi, dword [esi + 0xc]
jne 0x453bb9
nop dword [eax]
inc edi
test dl, dl
jne 0x453ac8
inc edi
jmp 0x453bb0
jmp 0x453bc0
jmp 0x453bd0
lea ecx, [esi + 0x30]
call fcn.00540a80
mov edi, dword [esi + 0x40]
mov eax, dword [esi + 0x44]
mov dword [esi + 0x60], eax
cmp edi, eax
jne 0x453c27
mov edx, dword [0x5cf588]
mov eax, dword [0x5cf58c]
lea ecx, [edx - 1]
imul ecx, edx
and ecx, 1
test ecx, ecx
sete dl
setne cl
cmp eax, 0xa
setl ah
setge al
cmp dl, ah
jne 0x454002
or cl, al
je 0x454002
nop dword [eax]
jmp 0x453c20
cmp edi, dword [esi + 0x60]
je 0x453bfb
mov edx, dword [0x5cf590]
mov ecx, dword [0x5cf594]
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, 0xbd723542
mov ebx, 0xd08af799
cmovne edx, ebx
cmp eax, 0xffffffff
sete byte [esi + 0x16]
mov eax, edx
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 0x17]
cmovge eax, edx
mov ecx, 0x553a1bc1
nop word cs:[eax + eax]
cmp ecx, 0xd08af798
jg 0x453ca0
cmp ecx, 0xb4e27a0f
je 0x453ce1
cmp ecx, 0xbd723542
jne 0x453c80
mov ecx, 0xb4e27a0f
jmp 0x453c80
cmp ecx, 0xd08af799
je 0x453ce5
cmp ecx, 0x553a1bc1
jne 0x453c80
movzx edx, byte [esi + 0x16]
movzx ecx, byte [esi + 0x17]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0xbd723542
mov ebx, 0xb4e27a0f
cmovne ecx, ebx
test dl, dl
mov ebx, 0xbd723542
cmove ecx, ebx
test dh, dh
mov edx, 0xb4e27a0f
cmovne ecx, edx
jmp 0x453c80
mov ecx, eax
jmp 0x453c80
mov dword [esi + 0x58], edi
mov eax, dword [esi + 0x58]
mov ecx, dword [esi + 0x30]
mov edx, dword [esi + 0x34]
mov bl, 1
mov dword [esi + 0xc], ecx
mov dword [esi + 0x3c], edx
cmp ecx, edx
mov dword [esi + 0x5c], edi
mov dword [esi + 0x10], eax
je 0x453f76
add eax, 4
mov dword [esi + 0x18], eax
mov ecx, dword [0x5cf588]
mov edx, dword [0x5cf58c]
nop dword [eax]
lea eax, [ecx - 1]
imul eax, ecx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete al
cmp edx, 0xa
setl cl
test cl, al
jne 0x453d50
xor cl, al
je 0x453e5f
nop word cs:[eax + eax]
mov edx, dword [0x5cf590]
mov ecx, dword [0x5cf594]
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, 0xbd723542
mov ebx, 0xd08af799
cmovne edi, ebx
test edx, eax
sete byte [esi + 0x16]
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 0x17]
cmovge eax, edi
mov ecx, 0x553a1bc1
nop dword [eax + eax]
cmp ecx, 0xd08af798
jg 0x453dc0
cmp ecx, 0xb4e27a0f
je 0x453dfc
cmp ecx, 0xbd723542
jne 0x453da0
mov ecx, 0xb4e27a0f
jmp 0x453da0
cmp ecx, 0xd08af799
je 0x453e00
cmp ecx, 0x553a1bc1
jne 0x453da0
movzx edx, byte [esi + 0x16]
movzx ecx, byte [esi + 0x17]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0xbd723542
mov ebx, 0xb4e27a0f
cmovne ecx, ebx
test dl, dl
mov edi, 0xbd723542
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x453da0
mov ecx, eax
jmp 0x453da0
mov eax, dword [esi + 0xc]
mov dword [esi + 0x58], eax
mov edi, dword [esi + 0x58]
push dword [esi + 0x10]
push edi
call fcn.00433d30
add esp, 8
mov dword [esi + 0x24], eax
mov dword [esi + 0x28], edx
lea eax, [edi + 4]
push dword [esi + 0x18]
push eax
call fcn.00433d30
add esp, 8
mov dword [esi + 0x2c], edx
mov ecx, dword [0x5cf588]
lea edx, [ecx + 1]
imul edx, ecx
mov ebx, edx
xor ebx, 0xfffffffe
test ebx, edx
mov edx, dword [0x5cf58c]
sete bl
cmp edx, 0xa
setl bh
test bh, bl
jne 0x453f40
xor bh, bl
jne 0x453f40
mov eax, dword [0x5cf590]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, dword [0x5cf594]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x16]
sete cl
mov eax, 0xbd723542
mov edi, 0xd08af799
cmove eax, edi
cmp edx, 0xa
setl byte [esi + 0x17]
setl dl
mov ebx, 0xbd723542
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
mov ecx, 0x553a1bc1
jmp 0x453eb0
mov ecx, eax
nop dword [eax]
cmp ecx, 0xd08af798
jg 0x453ed0
cmp ecx, 0xb4e27a0f
je 0x453eaa
cmp ecx, 0xbd723542
jne 0x453eb0
mov ecx, 0xb4e27a0f
jmp 0x453eb0
cmp ecx, 0xd08af799
je 0x453f10
cmp ecx, 0x553a1bc1
jne 0x453eb0
movzx edx, byte [esi + 0x16]
movzx ecx, byte [esi + 0x17]
mov ch, dl
xor ch, cl
mov edi, 0xbd723542
mov ebx, 0xb4e27a0f
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x453eb0
mov eax, dword [esi + 0xc]
mov dword [esi + 0x58], eax
mov edi, dword [esi + 0x58]
push dword [esi + 0x10]
push edi
call fcn.00433d30
add esp, 8
add edi, 4
push dword [esi + 0x18]
push edi
call fcn.00433d30
add esp, 8
jmp 0x453d50
mov ebx, dword [esi + 0x28]
mov ebx, dword [ebx]
cmp ebx, dword [eax]
jle 0x453f62
mov eax, dword [esi + 0xc]
add eax, 8
mov dword [esi + 0xc], eax
cmp eax, dword [esi + 0x3c]
jne 0x453d20
mov edi, dword [esi + 0x5c]
mov bl, 1
jmp 0x453f76
mov eax, dword [esi + 0x24]
mov eax, dword [eax]
mov dword [edi], eax
mov eax, dword [esi + 0x2c]
mov eax, dword [eax]
mov dword [edi + 4], eax
xor ebx, ebx
mov edi, dword [esi + 0x5c]
mov ecx, dword [0x5cf588]
mov eax, dword [0x5cf58c]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
and ecx, edx
sete dl
cmp eax, 0xa
setl dh
test dh, dl
jne 0x453f9f
xor dh, dl
je 0x454000
test bl, bl
je 0x453fd3
mov dword [esi + 0xd8], 0xf
lea ecx, [esi + 0x30]
push dword [esi + 0x10]
call fcn.00540ea0
mov ecx, dword [0x5cf588]
mov eax, dword [0x5cf58c]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
and ecx, edx
mov edi, dword [esi + 0x5c]
test ecx, ecx
sete dh
cmp eax, 0xa
setl dl
or dl, dh
cmp dl, 1
jne 0x453ff0
add edi, 8
test dl, dl
jne 0x453c22
add edi, 8
jmp 0x453fe5
jmp 0x454000
mov eax, dword [esi + 0x30]
mov ecx, dword [esi + 0x34]
mov dword [esi + 0x10], ecx
cmp eax, ecx
je 0x454108
mov edx, dword [0x5cf590]
mov edi, dword [0x5cf594]
mov dword [esi + 0xc], edi
lea ecx, [edx + 1]
imul ecx, edx
mov ebx, ecx
xor ebx, 0xfffffffe
test ebx, ecx
sete dh
cmp edi, 0xa
setl dl
xor dl, dh
mov edi, 0xd08af799
mov edx, 0xbd723542
cmovne edx, edi
mov dword [esi + 0x18], ecx
mov dword [esi + 0x28], ebx
test ebx, ecx
cmovne edi, edx
cmp dword [esi + 0xc], 0xa
cmovge edi, edx
mov dword [esi + 0x24], edi
xor edx, edx
jmp 0x454077
mov dword [esi + 0x58], eax
mov ecx, dword [esi + 0x58]
add edx, dword [ecx + 4]
sub edx, dword [ecx]
add eax, 8
cmp eax, dword [esi + 0x10]
je 0x4540f6
mov ecx, dword [esi + 0x28]
test dword [esi + 0x18], ecx
sete byte [esi + 0x16]
cmp dword [esi + 0xc], 0xa
setl byte [esi + 0x17]
mov ecx, 0x553a1bc1
nop
cmp ecx, 0xd08af798
jg 0x4540b0
cmp ecx, 0xb4e27a0f
je 0x4540f1
cmp ecx, 0xbd723542
jne 0x454090
mov ecx, 0xb4e27a0f
jmp 0x454090
cmp ecx, 0xd08af799
je 0x454060
cmp ecx, 0x553a1bc1
jne 0x454090
movzx ebx, byte [esi + 0x16]
movzx ecx, byte [esi + 0x17]
mov bh, cl
xor bh, bl
test cl, cl
mov ecx, 0xbd723542
mov edi, 0xb4e27a0f
cmovne ecx, edi
test bl, bl
mov edi, 0xbd723542
cmove ecx, edi
test bh, bh
mov edi, 0xb4e27a0f
cmovne ecx, edi
jmp 0x454090
mov ecx, dword [esi + 0x24]
jmp 0x454090
cmp edx, 0x12345678
jne 0x454108
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
lea ecx, [esi + 0x30]
call fcn.0041e540
lea ecx, [esi + 0x40]
call fcn.0041e540
mov eax, dword [0x5cf6b0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x5cf6b4], 0xa
setge cl
setl ah
xor ah, dl
jne 0x454147
or cl, al
jne 0x45417b
jmp 0x454147
push dword [esi + 0xa8]
call dword [sym.imp.USER32.dll_RegisterClassA]
mov eax, dword [0x5cf6b0]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5cf6b4], 0xa
setl cl
test cl, al
jne 0x454189
xor cl, al
jne 0x454189
push dword [esi + 0xa8]
call dword [sym.imp.USER32.dll_RegisterClassA]
jmp 0x454147
mov eax, dword [0x5cf700]
mov ecx, dword [0x5cf704]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0xb2]
cmp ecx, 0xa
setl byte [esi + 0xb3]
mov eax, 0xd75acbcb
mov ecx, dword [esi + 0xa8]
cmp eax, 0x8aaafae
jg 0x4541d7
cmp eax, 0xc325f5b4
je 0x4541ee
cmp eax, 0xd75acbcb
jne 0x4541bd
jmp 0x454304
cmp eax, 0x8aaafaf
je 0x454334
cmp eax, 0x77d69c7f
jne 0x4541bd
jmp 0x454efa
mov dword [esi + 0x1c], 1
mov dword [esi + 0x20], 0xa
mov dword [esi + 0x78], 0xf
mov dword [esi + 0x7c], 0x1e
lea ecx, [esi + 0x40]
call fcn.00540a80
mov ecx, dword [0x5cf588]
xor edi, edi
mov eax, dword [0x5cf58c]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete cl
cmp eax, 0xa
setl al
test al, cl
jne 0x454242
xor al, cl
je 0x454ed0
mov dword [esi + 0xc], edi
cmp edi, 0x63
ja 0x454448
mov eax, dword [esi + 0x78]
mov edx, dword [esi + 0x7c]
mov dword [esi + 0xd8], 0xc
lea ecx, [esi + 0x78]
push edx
push eax
lea eax, [esi + 0x68]
push eax
call fcn.0041de80
mov ecx, dword [0x5cf588]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete cl
cmp dword [0x5cf58c], 0xa
setl dl
test dl, cl
jne 0x454298
xor dl, cl
je 0x454ee0
mov dword [esi + 0x30], eax
lea ecx, [esi + 0x1c]
push dword [esi + 0x20]
push dword [esi + 0x1c]
lea eax, [esi + 0x68]
push eax
call fcn.0041de80
mov dword [esi + 0x58], eax
lea ecx, [esi + 0x40]
lea eax, [esi + 0x30]
push eax
lea eax, [esi + 0x58]
push eax
call fcn.004341a0
mov ecx, dword [0x5cf588]
mov eax, dword [0x5cf58c]
lea edx, [ecx + 1]
imul edx, ecx
mov edi, edx
xor edi, 0xfffffffe
test edi, edx
setne dh
sete bl
cmp eax, 0xa
setge dl
setl bh
xor bh, bl
or dl, dh
xor dl, 1
or dl, bh
cmp dl, 1
mov edi, dword [esi + 0xc]
jne 0x454301
inc edi
test dl, dl
jne 0x45421f
inc edi
jmp 0x4542f8
movzx ecx, byte [esi + 0xb2]
movzx eax, byte [esi + 0xb3]
mov edx, ecx
xor dl, al
mov edx, 0x8aaafaf
mov edi, 0xc325f5b4
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x4541b7
mov dword [esi + 0x1c], 1
mov dword [esi + 0x20], 0xa
mov dword [esi + 0x78], 0xf
mov dword [esi + 0x7c], 0x1e
lea ecx, [esi + 0x40]
call fcn.00540a80
mov ecx, dword [0x5cf588]
xor edi, edi
mov eax, dword [0x5cf58c]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
setne cl
sete dl
cmp eax, 0xa
setge al
setl ah
xor ah, dl
jne 0x45438d
or al, cl
jne 0x454ec0
mov dword [esi + 0xc], edi
cmp edi, 0x63
ja 0x454941
mov eax, dword [esi + 0x78]
mov edx, dword [esi + 0x7c]
mov dword [esi + 0xd8], 0xa
lea ecx, [esi + 0x78]
push edx
push eax
lea eax, [esi + 0x68]
push eax
call fcn.0041de80
mov ecx, dword [0x5cf588]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
setne cl
sete ch
cmp dword [0x5cf58c], 0xa
setge dl
setl dh
xor dh, ch
jne 0x4543e9
or dl, cl
jne 0x454ef0
mov dword [esi + 0x30], eax
lea ecx, [esi + 0x1c]
push dword [esi + 0x20]
push dword [esi + 0x1c]
lea eax, [esi + 0x68]
push eax
call fcn.0041de80
mov dword [esi + 0x58], eax
lea ecx, [esi + 0x40]
lea eax, [esi + 0x30]
push eax
lea eax, [esi + 0x58]
push eax
call fcn.004341a0
mov ecx, dword [0x5cf588]
mov eax, dword [0x5cf58c]
lea edx, [ecx + 1]
imul edx, ecx
mov edi, edx
xor edi, 0xfffffffe
test edi, edx
sete dh
cmp eax, 0xa
setl dl
or dl, dh
cmp dl, 1
mov edi, dword [esi + 0xc]
jne 0x454445
inc edi
test dl, dl
jne 0x454365
inc edi
jmp 0x45443c
lea ecx, [esi + 0x30]
call fcn.00540a80
mov eax, dword [esi + 0x40]
mov ecx, dword [esi + 0x44]
mov dword [esi + 0x70], eax
mov dword [esi + 0x64], ecx
cmp eax, ecx
jne 0x454582
mov edx, dword [0x5cf588]
mov eax, dword [0x5cf58c]
lea ecx, [edx + 1]
imul ecx, edx
and ecx, 1
test ecx, ecx
sete cl
cmp eax, 0xa
setl al
test cl, al
jne 0x45448f
xor cl, al
je 0x454ef6
mov eax, dword [esi + 0x30]
mov ecx, dword [esi + 0x34]
mov dword [esi + 0xc], ecx
cmp eax, ecx
je 0x454e3b
mov ecx, dword [0x5cf590]
mov ebx, dword [0x5cf594]
lea edx, [ecx + 1]
imul edx, ecx
and edx, 1
mov dword [esi + 0x18], edx
sete cl
mov edi, 0xbd723542
mov edx, 0xd08af799
cmove edi, edx
mov dword [esi + 0x10], ebx
cmp ebx, 0xa
setl ch
mov ebx, 0xbd723542
cmovge edi, ebx
xor ch, cl
cmovne edi, edx
mov dword [esi + 0x28], edi
xor ecx, ecx
jmp 0x4544fc
mov dword [esi + 0x58], eax
mov edx, dword [esi + 0x58]
add ecx, dword [edx + 4]
sub ecx, dword [edx]
add eax, 8
cmp eax, dword [esi + 0xc]
je 0x454e29
cmp dword [esi + 0x18], 0
sete byte [esi + 0x16]
cmp dword [esi + 0x10], 0xa
setl byte [esi + 0x17]
mov ebx, 0x553a1bc1
cmp ebx, 0xd08af798
jg 0x454530
cmp ebx, 0xb4e27a0f
je 0x454571
cmp ebx, 0xbd723542
jne 0x454511
mov ebx, 0xb4e27a0f
jmp 0x454511
cmp ebx, 0xd08af799
je 0x4544e5
cmp ebx, 0x553a1bc1
jne 0x454511
movzx edx, byte [esi + 0x16]
movzx ebx, byte [esi + 0x17]
mov dh, bl
xor dh, dl
test bl, bl
mov ebx, 0xbd723542
mov edi, 0xb4e27a0f
cmovne ebx, edi
test dl, dl
mov edi, 0xbd723542
cmove ebx, edi
test dh, dh
mov edx, 0xb4e27a0f
cmovne ebx, edx
jmp 0x454511
mov ebx, dword [esi + 0x28]
jmp 0x454511
mov dword [esi + 0x70], edi
cmp edi, dword [esi + 0x64]
je 0x454478
mov eax, dword [0x5cf590]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x5cf594]
sete byte [esi + 0x16]
sete dl
mov eax, 0xbd723542
mov edi, 0xd08af799
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x17]
setl cl
mov ebx, 0xbd723542
cmovge eax, ebx
xor cl, dl
cmovne eax, edi
mov ecx, 0x553a1bc1
mov edi, dword [esi + 0x70]
cmp ecx, 0xd08af798
jg 0x4545ec
cmp ecx, 0xb4e27a0f
je 0x4545fe
cmp ecx, 0xbd723542
jne 0x4545cd
mov ecx, 0xb4e27a0f
jmp 0x4545cd
cmp ecx, 0xd08af799
je 0x454629
cmp ecx, 0x553a1bc1
jne 0x4545cd
jmp 0x454602
mov ecx, eax
jmp 0x4545cd
movzx edx, byte [esi + 0x16]
movzx ecx, byte [esi + 0x17]
mov ch, dl
xor ch, cl
mov edi, 0xbd723542
mov ebx, 0xb4e27a0f
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x4545ca
mov dword [esi + 0x58], edi
mov eax, dword [esi + 0x58]
mov ecx, dword [esi + 0x30]
mov edx, dword [esi + 0x34]
mov bl, 1
mov dword [esi + 0xc], ecx
mov dword [esi + 0x60], edx
cmp ecx, edx
mov dword [esi + 0x10], eax
je 0x4548b1
add eax, 4
mov dword [esi + 0x18], eax
mov ecx, dword [0x5cf588]
mov edx, dword [0x5cf58c]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
test ecx, eax
sete al
cmp edx, 0xa
setl cl
test cl, al
jne 0x45467c
xor cl, al
je 0x45479b
mov edx, dword [0x5cf590]
mov ecx, dword [0x5cf594]
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, 0xbd723542
mov ebx, 0xd08af799
cmovne edi, ebx
test edx, eax
sete byte [esi + 0x16]
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 0x17]
cmovge eax, edi
mov ecx, 0x553a1bc1
nop word [eax + eax]
cmp ecx, 0xd08af798
jg 0x4546f0
cmp ecx, 0xb4e27a0f
je 0x45472c
cmp ecx, 0xbd723542
jne 0x4546d0
mov ecx, 0xb4e27a0f
jmp 0x4546d0
cmp ecx, 0xd08af799
je 0x454730
cmp ecx, 0x553a1bc1
jne 0x4546d0
movzx edx, byte [esi + 0x16]
movzx ecx, byte [esi + 0x17]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0xbd723542
mov ebx, 0xb4e27a0f
cmovne ecx, ebx
test dl, dl
mov edi, 0xbd723542
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x4546d0
mov ecx, eax
jmp 0x4546d0
mov eax, dword [esi + 0xc]
mov dword [esi + 0x58], eax
mov edi, dword [esi + 0x58]
push dword [esi + 0x10]
push edi
call fcn.00433d30
add esp, 8
mov dword [esi + 0x3c], eax
mov dword [esi + 0x28], edx
mov dword [esi + 0x2c], edi
lea eax, [edi + 4]
push dword [esi + 0x18]
push eax
call fcn.00433d30
add esp, 8
mov dword [esi + 0x5c], edx
mov ecx, dword [0x5cf588]
lea edx, [ecx + 1]
imul edx, ecx
mov ebx, edx
xor ebx, 0xfffffffe
test ebx, edx
setne bl
sete dl
mov edi, dword [0x5cf58c]
mov dword [esi + 0x24], edi
cmp edi, 0xa
setge bh
setl dh
xor dh, dl
jne 0x454875
or bh, bl
je 0x454875
mov edx, dword [0x5cf590]
mov ecx, dword [0x5cf594]
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, 0xbd723542
mov ebx, 0xd08af799
cmovne edi, ebx
test edx, eax
sete byte [esi + 0x16]
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 0x17]
cmovge eax, edi
mov ecx, 0x553a1bc1
jmp 0x4547f0
mov ecx, eax
nop word [eax + eax]
cmp ecx, 0xd08af798
jg 0x454810
cmp ecx, 0xb4e27a0f
je 0x4547e8
cmp ecx, 0xbd723542
jne 0x4547f0
mov ecx, 0xb4e27a0f
jmp 0x4547f0
cmp ecx, 0xd08af799
je 0x45484c
cmp ecx, 0x553a1bc1
jne 0x4547f0
movzx edx, byte [esi + 0x16]
movzx ecx, byte [esi + 0x17]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0xbd723542
mov ebx, 0xb4e27a0f
cmovne ecx, ebx
test dl, dl
mov edi, 0xbd723542
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x4547f0
mov eax, dword [esi + 0xc]
mov dword [esi + 0x58], eax
mov edi, dword [esi + 0x58]
push dword [esi + 0x10]
push edi
call fcn.00433d30
add esp, 8
add edi, 4
push dword [esi + 0x18]
push edi
call fcn.00433d30
add esp, 8
jmp 0x45467c
mov edx, dword [esi + 0x28]
mov edx, dword [edx]
cmp edx, dword [eax]
jle 0x45489a
mov eax, dword [esi + 0xc]
add eax, 8
mov dword [esi + 0xc], eax
cmp eax, dword [esi + 0x60]
mov edx, dword [esi + 0x24]
jne 0x45465a
mov edi, dword [esi + 0x70]
mov bl, 1
jmp 0x4548b1
mov eax, dword [esi + 0x3c]
mov eax, dword [eax]
mov ecx, dword [esi + 0x2c]
mov dword [ecx], eax
mov eax, dword [esi + 0x5c]
mov eax, dword [eax]
mov dword [ecx + 4], eax
xor ebx, ebx
mov edi, dword [esi + 0x70]
mov ecx, dword [0x5cf588]
mov eax, dword [0x5cf58c]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
and ecx, edx
sete dl
cmp eax, 0xa
setl dh
test dh, dl
jne 0x4548de
xor dh, dl
je 0x454ef4
test bl, bl
je 0x454912
mov dword [esi + 0xd8], 0xd
lea ecx, [esi + 0x30]
push dword [esi + 0x10]
call fcn.00540ea0
mov ecx, dword [0x5cf588]
mov eax, dword [0x5cf58c]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
and ecx, edx
mov edi, dword [esi + 0x70]
test ecx, ecx
setne dh
sete bl
cmp eax, 0xa
setge dl
setl bh
xor bh, bl
or dl, dh
xor dl, 1
or dl, bh
cmp dl, 1
jne 0x45493c
add edi, 8
test dl, dl
jne 0x454576
add edi, 8
jmp 0x454931
lea ecx, [esi + 0x30]
call fcn.00540a80
mov ebx, dword [esi + 0x40]
mov eax, dword [esi + 0x44]
mov dword [esi + 0x70], eax
cmp ebx, eax
jne 0x454a81
mov ecx, dword [0x5cf588]
mov eax, dword [0x5cf58c]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
and ecx, edx
test ecx, ecx
sete cl
cmp eax, 0xa
setl al
test cl, al
jne 0x454989
xor cl, al
je 0x454ef8
mov eax, dword [esi + 0x30]
mov ecx, dword [esi + 0x34]
mov dword [esi + 0x18], ecx
cmp eax, ecx
je 0x454ea2
mov ecx, dword [0x5cf590]
mov edi, dword [0x5cf594]
mov dword [esi + 0x10], edi
lea ebx, [ecx + 1]
imul ebx, ecx
mov ecx, ebx
xor ecx, 0xfffffffe
test ecx, ebx
sete dh
cmp edi, 0xa
setl dl
xor dl, dh
mov edx, 0xbd723542
mov edi, 0xd08af799
cmovne edx, edi
mov dword [esi + 0x28], ebx
mov dword [esi + 0x24], ecx
test ecx, ebx
mov ecx, edx
cmove ecx, edi
cmp dword [esi + 0x10], 0xa
cmovge ecx, edx
mov dword [esi + 0x2c], ecx
xor edx, edx
jmp 0x454a00
mov dword [esi + 0x58], eax
mov ecx, dword [esi + 0x58]
add edx, dword [ecx + 4]
sub edx, dword [ecx]
add eax, 8
cmp eax, dword [esi + 0x18]
je 0x454e90
mov ecx, dword [esi + 0x24]
test dword [esi + 0x28], ecx
sete byte [esi + 0x16]
cmp dword [esi + 0x10], 0xa
setl byte [esi + 0x17]
mov ecx, 0x553a1bc1
cmp ecx, 0xd08af798
jg 0x454a36
cmp ecx, 0xb4e27a0f
je 0x454a73
cmp ecx, 0xbd723542
jne 0x454a17
mov ecx, 0xb4e27a0f
jmp 0x454a17
cmp ecx, 0xd08af799
je 0x4549e9
cmp ecx, 0x553a1bc1
jne 0x454a17
movzx ebx, byte [esi + 0x16]
movzx ecx, byte [esi + 0x17]
mov ch, bl
xor ch, cl
mov edi, 0xbd723542
mov dword [esi + 0xc], eax
mov eax, 0xb4e27a0f
cmovne edi, eax
test cl, cl
mov ecx, edi
cmovne ecx, eax
mov eax, dword [esi + 0xc]
test bl, bl
cmove ecx, edi
jmp 0x454a17
mov ecx, dword [esi + 0x2c]
jmp 0x454a17
cmp ebx, dword [esi + 0x70]
je 0x454972
mov edx, dword [0x5cf590]
mov ecx, dword [0x5cf594]
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, 0xbd723542
mov edi, 0xd08af799
cmovne edx, edi
cmp eax, 0xffffffff
sete byte [esi + 0x16]
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x17]
cmovge eax, edx
mov ecx, 0x553a1bc1
mov dword [esi + 0x5c], ebx
cmp ecx, 0xd08af798
jg 0x454af0
cmp ecx, 0xb4e27a0f
je 0x454b2a
cmp ecx, 0xbd723542
jne 0x454ad1
mov ecx, 0xb4e27a0f
jmp 0x454ad1
cmp ecx, 0xd08af799
je 0x454b2e
cmp ecx, 0x553a1bc1
jne 0x454ad1
movzx edx, byte [esi + 0x16]
movzx ecx, byte [esi + 0x17]
mov ch, dl
xor ch, cl
mov edi, 0xbd723542
mov ebx, 0xb4e27a0f
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
mov ebx, dword [esi + 0x5c]
test dl, dl
cmove ecx, edi
jmp 0x454ad1
mov ecx, eax
jmp 0x454ad1
mov dword [esi + 0x58], ebx
mov edi, dword [esi + 0x58]
mov ecx, dword [esi + 0x30]
mov edx, dword [esi + 0x34]
mov al, 1
mov dword [esi + 0x60], eax
mov dword [esi + 0xc], ecx
mov dword [esi + 0x3c], edx
cmp ecx, edx
je 0x454dae
mov dword [esi + 0x10], edi
lea eax, [edi + 4]
mov dword [esi + 0x18], eax
mov ecx, dword [0x5cf588]
mov edx, dword [0x5cf58c]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
test ecx, eax
sete al
cmp edx, 0xa
setl cl
test cl, al
jne 0x454b99
xor cl, al
je 0x454cb0
jmp 0x454b99
mov eax, dword [esi + 0xc]
add eax, 8
mov dword [esi + 0xc], eax
cmp eax, dword [esi + 0x3c]
jne 0x454b62
jmp 0x454da8
mov eax, dword [0x5cf590]
lea ecx, [eax - 1]
imul ecx, eax
mov edx, dword [0x5cf594]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x16]
sete cl
mov eax, 0xbd723542
mov edi, 0xd08af799
cmove eax, edi
cmp edx, 0xa
setl byte [esi + 0x17]
setl dl
mov ebx, 0xbd723542
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
mov ecx, 0x553a1bc1
nop word cs:[eax + eax]
cmp ecx, 0xd08af798
jg 0x454c10
cmp ecx, 0xb4e27a0f
je 0x454c4c
cmp ecx, 0xbd723542
jne 0x454bf0
mov ecx, 0xb4e27a0f
jmp 0x454bf0
cmp ecx, 0xd08af799
je 0x454c50
cmp ecx, 0x553a1bc1
jne 0x454bf0
movzx edx, byte [esi + 0x16]
movzx ecx, byte [esi + 0x17]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0xbd723542
mov ebx, 0xb4e27a0f
cmovne ecx, ebx
test dl, dl
mov edi, 0xbd723542
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x454bf0
mov ecx, eax
jmp 0x454bf0
mov eax, dword [esi + 0xc]
mov dword [esi + 0x58], eax
mov edi, dword [esi + 0x58]
push dword [esi + 0x10]
push edi
call fcn.00433d30
add esp, 8
mov dword [esi + 0x24], eax
mov dword [esi + 0x28], edx
lea eax, [edi + 4]
push dword [esi + 0x18]
push eax
call fcn.00433d30
add esp, 8
mov dword [esi + 0x2c], edx
mov ecx, dword [0x5cf588]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
mov edx, dword [0x5cf58c]
sete bl
cmp edx, 0xa
setl bh
test bh, bl
jne 0x454d85
xor bh, bl
jne 0x454d85
mov eax, dword [0x5cf590]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x5cf594]
sete byte [esi + 0x16]
sete dl
mov eax, 0xbd723542
mov edi, 0xd08af799
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x17]
setl cl
mov ebx, 0xbd723542
cmovge eax, ebx
xor cl, dl
cmovne eax, edi
mov ecx, 0x553a1bc1
jmp 0x454d00
mov ecx, eax
nop dword [eax]
cmp ecx, 0xd08af798
jg 0x454d20
cmp ecx, 0xb4e27a0f
je 0x454cfa
cmp ecx, 0xbd723542
jne 0x454d00
mov ecx, 0xb4e27a0f
jmp 0x454d00
cmp ecx, 0xd08af799
je 0x454d5c
cmp ecx, 0x553a1bc1
jne 0x454d00
movzx edx, byte [esi + 0x16]
movzx ecx, byte [esi + 0x17]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0xbd723542
mov ebx, 0xb4e27a0f
cmovne ecx, ebx
test dl, dl
mov edi, 0xbd723542
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x454d00
mov eax, dword [esi + 0xc]
mov dword [esi + 0x58], eax
mov edi, dword [esi + 0x58]
push dword [esi + 0x10]
push edi
call fcn.00433d30
add esp, 8
add edi, 4
push dword [esi + 0x18]
push edi
call fcn.00433d30
add esp, 8
jmp 0x454b99
mov ebx, dword [esi + 0x28]
mov ebx, dword [ebx]
cmp ebx, dword [eax]
jg 0x454b86
mov eax, dword [esi + 0x24]
mov eax, dword [eax]
mov dword [edi], eax
mov eax, dword [esi + 0x2c]
mov eax, dword [eax]
mov dword [edi + 4], eax
mov dword [esi + 0x60], 0
mov ebx, dword [esi + 0x5c]
mov edi, dword [esi + 0x10]
mov edx, dword [0x5cf588]
mov eax, dword [0x5cf58c]
lea ecx, [edx + 1]
imul ecx, edx
and ecx, 1
sete dl
cmp eax, 0xa
setl dh
test dh, dl
jne 0x454dd7
xor dh, dl
je 0x454ef2
cmp byte [esi + 0x60], 0
je 0x454e07
mov dword [esi + 0xd8], 0xb
lea ecx, [esi + 0x30]
push edi
call fcn.00540ea0
mov edx, dword [0x5cf588]
mov eax, dword [0x5cf58c]
lea ecx, [edx - 1]
imul ecx, edx
and ecx, 1
mov ebx, dword [esi + 0x5c]
test ecx, ecx
sete dh
cmp eax, 0xa
setl dl
or dl, dh
cmp dl, 1
jne 0x454e24
add ebx, 8
test dl, dl
jne 0x454a78
add ebx, 8
jmp 0x454e19
cmp ecx, 0x12345678
jne 0x454e3b
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
lea ecx, [esi + 0x30]
call fcn.0041e540
lea ecx, [esi + 0x40]
call fcn.0041e540
mov edx, dword [0x5cf700]
mov ecx, dword [0x5cf704]
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, 0x8aaafaf
mov edi, 0x77d69c7f
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x4541b7
cmp edx, 0x12345678
jne 0x454ea2
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
lea ecx, [esi + 0x30]
call fcn.0041e540
lea ecx, [esi + 0x40]
call fcn.0041e540
mov eax, 0xc325f5b4
jmp 0x4541b7
jmp 0x454ec0
jmp 0x454ed0
jmp 0x454ee0
jmp 0x454ef0
jmp 0x454ef2
jmp 0x454ef4
jmp 0x454ef6
jmp 0x454ef8
mov eax, dword [ecx + 0x24]
sub esp, 0x30
vmovaps ymm0, ymmword [0x5b6f40]
vmovups ymmword [esp + 0xc], ymm0
mov dword [esp + 4], eax
mov dword [esp + 0x2c], 0
mov dword [esp + 8], 0x5be120
mov dword [esp], 0
vzeroupper
call dword [sym.imp.USER32.dll_CreateWindowExA]
jmp 0x454f53
mov eax, dword [esi + 0xac]
mov dword [eax], 0xa
mov dword [esi + 0xd8], 9
push eax
call fcn.0044b730
add esp, 4
mov eax, dword [0x5cf6b0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x5cf6b4], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x454f34
or cl, al
je 0x454f34
jmp 0x454f80