Function at 0x44d530
Capabilities:
Encode data using xor
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], 0x5883c0
mov ecx, dword fs:[0]
mov dword [esi + 0xd0], ecx
mov dword fs:[0], eax
mov eax, dword [0x5c4078]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c407c], 0xa
setl cl
test cl, al
jne 0x44f08a
xor cl, al
jne 0x44f08a
push eax
sub esp, 0xc
mov eax, esp
and eax, 0xfffffff0
mov dword [esi + 0x6c], eax
mov esp, eax
push eax
sub esp, 0x14
mov dword [esi + 0x74], esp
mov eax, dword [0x5c3fa0]
mov ecx, dword [0x5c3fa4]
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete al
cmp ecx, 0xa
setl ah
xor ah, al
mov eax, 0x77192157
mov edi, 0xf963c607
cmovne edi, eax
cmp edx, 0xffffffff
sete byte [esi + 4]
mov dword [esi + 0xa8], esp
cmovne eax, edi
cmp ecx, 0xa
setl byte [esi + 0x30]
cmovge eax, edi
mov edx, 0xa0dba2a4
mov ecx, 0x734bd94b
jmp 0x44d640
movzx ebx, byte [esi + 4]
movzx edx, byte [esi + 0x30]
mov dh, bl
xor dh, dl
mov edi, 0xf963c607
cmovne edi, ecx
test dl, dl
mov edx, edi
cmovne edx, ecx
test bl, bl
cmove edx, edi
nop word cs:[eax + eax]
cmp edx, 0x734bd94a
jle 0x44d660
cmp edx, 0x734bd94b
je 0x44d67d
cmp edx, 0x77192157
jne 0x44d640
jmp 0x44d687
cmp edx, 0xa0dba2a4
je 0x44d615
cmp edx, 0xf963c607
jne 0x44d640
mov word [esi + 0x28], 0x7a61
mov edx, 0x734bd94b
jmp 0x44d640
mov word [esi + 0x28], 0x7a61
mov edx, eax
jmp 0x44d640
lea ecx, [esi + 0x30]
call fcn.0040ab10
mov dword [esi + 0xd8], 0xe
xor eax, eax
lea edi, [esi + 0x58]
lea ecx, [esi + 0x28]
jmp 0x44d6c5
mov eax, dword [esi + 0xc]
inc eax
cmp eax, 0x3e8
lea edi, [esi + 0x58]
lea ecx, [esi + 0x28]
je 0x44dc92
mov dword [esi + 0xc], eax
movsx eax, byte [esi + 0x29]
movsx edx, byte [esi + 0x28]
mov dword [esi + 0xd8], 0xe
push eax
push edx
push edi
call fcn.0041c940
movsx eax, al
lea ecx, [esi + 0x30]
push eax
call fcn.0041cf20
mov ecx, dword [0x5c3fa8]
mov edx, dword [0x5c3fac]
lea eax, [ecx + 1]
mov dword [esi + 0x2c], ecx
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
test ecx, eax
setne al
mov dword [esi + 0x24], edx
cmp edx, 0xa
setge dl
mov ecx, edx
xor cl, al
or dl, al
xor dl, 1
or dl, cl
mov byte [esi + 0x18], dl
mov ebx, dword [0x5c3fb0]
mov eax, dword [0x5c3fb4]
mov dword [esi + 0x20], eax
mov dword [esi + 0x10], ebx
je 0x44d8c0
nop dword [eax + eax]
lea eax, [esi + 0x30]
mov dword [esi + 4], eax
mov edi, dword [esi + 4]
lea eax, [ebx + 1]
imul eax, ebx
mov ebx, eax
xor ebx, 0xfffffffe
and ebx, eax
sete al
cmp dword [esi + 0x20], 0xa
setl cl
or cl, al
mov edx, 0xfef5751f
mov eax, 0xff38d630
cmovne edx, eax
mov ecx, 0xfef5751f
mov eax, 0x116ab669
cmovne ecx, eax
mov eax, 0x17e23197
nop word cs:[eax + eax]
cmp eax, 0xff38d62f
jg 0x44d7c0
cmp eax, 0x8e14a9ab
je 0x44d810
cmp eax, 0xae9be2ed
je 0x44d800
cmp eax, 0xfef5751f
jne 0x44d790
mov eax, 0x116ab669
jmp 0x44d806
cmp eax, 0xff38d630
je 0x44d7f9
cmp eax, 0x116ab669
je 0x44d804
cmp eax, 0x17e23197
jne 0x44d790
mov eax, dword [esi + 4]
cmp dword [eax + 0x14], 0x10
mov eax, 0x8e14a9ab
mov dword [esi + 0x1c], edi
mov edi, ecx
mov ecx, edx
mov edx, 0xae9be2ed
cmovae eax, edx
mov edx, ecx
mov ecx, edi
mov edi, dword [esi + 0x1c]
jmp 0x44d790
mov eax, 0x8e14a9ab
jmp 0x44d790
mov eax, ecx
jmp 0x44d790
mov eax, edx
mov edi, dword [esi + 4]
mov edi, dword [edi]
jmp 0x44d790
cmp byte [esi + 0x18], 0
je 0x44d8cd
mov eax, dword [esi + 0x40]
mov ebx, 0x64e2359d
add eax, ebx
cmp byte [edi + eax - 0x64e2359e], 0x6f
je 0x44d98e
lea edi, [esi + 0x30]
mov dword [esi + 4], edi
mov edi, 0x17e23197
mov ebx, dword [esi + 4]
cmp edi, 0xff38d62f
jg 0x44d870
cmp edi, 0x8e14a9ab
je 0x44d980
cmp edi, 0xae9be2ed
je 0x44d8b3
cmp edi, 0xfef5751f
jne 0x44d840
mov edi, 0x116ab669
jmp 0x44d8b9
cmp edi, 0xff38d630
je 0x44d8ac
cmp edi, 0x116ab669
je 0x44d8b7
cmp edi, 0x17e23197
jne 0x44d840
mov edi, dword [esi + 4]
cmp dword [edi + 0x14], 0x10
mov edi, 0x8e14a9ab
mov dword [esi + 0x20], ebx
mov ebx, ecx
mov ecx, edx
mov edx, 0xae9be2ed
cmovae edi, edx
mov edx, ecx
mov ecx, ebx
mov ebx, dword [esi + 0x20]
jmp 0x44d840
mov edi, 0x8e14a9ab
jmp 0x44d840
mov edi, ecx
jmp 0x44d840
mov edi, edx
mov ebx, dword [esi + 4]
mov ebx, dword [ebx]
jmp 0x44d840
lea eax, [ebx + 1]
imul eax, ebx
mov ebx, eax
xor ebx, 0xfffffffe
and ebx, eax
lea eax, [esi + 0x30]
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
test ebx, ebx
sete al
cmp dword [esi + 0x20], 0xa
setl cl
or cl, al
mov eax, 0xfef5751f
mov ecx, 0xff38d630
cmovne eax, ecx
mov ecx, 0xfef5751f
mov edx, 0x116ab669
cmovne ecx, edx
mov edx, 0x17e23197
mov ebx, dword [esi + 0x10]
jmp 0x44d910
mov edx, 0x8e14a9ab
nop dword [eax]
cmp edx, 0xff38d62f
jg 0x44d940
cmp edx, 0x8e14a9ab
je 0x44d740
cmp edx, 0xae9be2ed
je 0x44d96e
cmp edx, 0xfef5751f
jne 0x44d910
mov edx, dword [esi + 4]
mov edx, 0x116ab669
jmp 0x44d910
cmp edx, 0xff38d630
je 0x44d908
cmp edx, 0x116ab669
je 0x44d972
cmp edx, 0x17e23197
jne 0x44d910
mov edx, dword [esi + 4]
cmp dword [edx + 0x14], 0x10
mov edx, 0x8e14a9ab
mov edi, 0xae9be2ed
cmovae edx, edi
jmp 0x44d910
mov edx, ecx
jmp 0x44d910
mov edx, dword [esi + 4]
mov edx, eax
jmp 0x44d910
cmp byte [ebx + eax - 0x64e2359e], 0x75
jne 0x44d6b0
lea edi, [esi + 0x30]
mov ecx, edi
lea eax, [esi + 8]
push eax
call fcn.00432d20
mov ecx, edi
lea eax, [esi + 0x78]
push eax
call fcn.00432f10
mov eax, dword [0x5c3fa8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x5c3fac], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x44da48
or cl, al
je 0x44da48
nop word cs:[eax + eax]
lea edi, [esi + 0x30]
mov ecx, edi
lea ebx, [esi + 8]
push ebx
call fcn.00432d20
mov ecx, edi
lea eax, [esi + 0x78]
push eax
call fcn.00432f10
mov ecx, edi
push ebx
call fcn.00432d20
mov ecx, edi
lea eax, [esi + 0x78]
push eax
call fcn.00432f10
mov eax, dword [0x5c3fa8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c3fac], 0xa
setl cl
test cl, al
jne 0x44da48
xor cl, al
je 0x44d9e0
jmp 0x44da48
lea ecx, [esi + 8]
call fcn.00539cc0
mov ecx, dword [0x5c3fb8]
mov eax, dword [0x5c3fbc]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete bl
sete byte [esi + 0x16]
mov ecx, 0x6ca8d283
mov edi, 0xe88306d3
cmove ecx, edi
cmp eax, 0xa
setl bh
setl byte [esi + 0x17]
mov eax, dword [esi + 8]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x78]
mov dword [esi + 0x1c], eax
mov eax, 0x6ca8d283
cmovge ecx, eax
xor bh, bl
cmovne ecx, edi
mov edi, 0x243324be
nop dword [eax]
cmp edi, 0x243324bd
jg 0x44dac0
cmp edi, 0x9538d02c
je 0x44dafb
cmp edi, 0xe88306d3
jne 0x44daa0
jmp 0x44db10
cmp edi, 0x6ca8d283
je 0x44daff
cmp edi, 0x243324be
jne 0x44daa0
movzx eax, byte [esi + 0x16]
mov bh, byte [esi + 0x17]
mov bl, al
xor bl, bh
test bh, bh
mov edi, 0x6ca8d283
mov edx, 0x9538d02c
cmovne edi, edx
test al, al
mov eax, 0x6ca8d283
cmove edi, eax
test bl, bl
cmovne edi, edx
jmp 0x44daa0
mov edi, ecx
jmp 0x44daa0
mov edi, 0x9538d02c
jmp 0x44daa0
mov eax, dword [esi + 0x1c]
cmp dword [esi + 0x20], eax
sete byte [esi + 4]
movzx eax, byte [esi + 4]
cmp al, 1
je 0x44dc40
mov eax, dword [0x5c3fc0]
mov edx, dword [0x5c3fc4]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp edx, 0xa
setl ah
xor ah, al
mov eax, 0x19354864
mov edi, 0x99b50cb6
cmovne eax, edi
cmp ecx, 0xffffffff
sete byte [esi + 0x16]
mov ecx, eax
cmove ecx, edi
cmp edx, 0xa
setl byte [esi + 0x17]
cmovge ecx, eax
mov edx, 0x78873f8d
nop word cs:[eax + eax]
cmp edx, 0x6bae78ea
jg 0x44dba0
cmp edx, 0x99b50cb6
je 0x44dbe0
cmp edx, 0x19354864
jne 0x44db80
mov edx, 0x6bae78eb
jmp 0x44db80
cmp edx, 0x6bae78eb
je 0x44dbdc
cmp edx, 0x78873f8d
jne 0x44db80
movzx eax, byte [esi + 0x16]
movzx edx, byte [esi + 0x17]
mov ah, dl
xor ah, al
test dl, dl
mov edx, 0x19354864
mov ebx, 0x6bae78eb
cmovne edx, ebx
test al, al
mov edi, 0x19354864
cmove edx, edi
test ah, ah
cmovne edx, ebx
jmp 0x44db80
mov edx, ecx
jmp 0x44db80
mov eax, dword [esi + 0x20]
mov dword [esi + 4], eax
mov edi, dword [esi + 4]
movsx eax, byte [edi]
push eax
call fcn.00599035
add esp, 4
mov ecx, eax
xor cl, 0xf5
and cl, al
mov byte [edi], cl
mov ecx, dword [0x5c3fa8]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3fac], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x44da40
or cl, al
test cl, 1
je 0x44da40
jmp 0x44dc90
mov edx, dword [0x5c3fa8]
mov ecx, dword [0x5c3fac]
lea eax, [edx + 1]
mov dword [esi + 0x2c], edx
imul eax, edx
test al, 1
sete dl
mov dword [esi + 0x24], ecx
cmp ecx, 0xa
setge cl
setl ch
xor ch, dl
jne 0x44d6b0
or cl, al
test cl, 1
je 0x44d6b0
nop dword [eax]
jmp 0x44dc80
jmp 0x44dc90
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 0x44dcbe
or cl, al
jne 0x44dd90
mov eax, dword [0x5c3fb0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete cl
cmp dword [0x5c3fb4], 0xa
setge dl
setl ah
xor ah, cl
or dl, al
xor dl, 1
or dl, ah
mov eax, 0xff38d630
mov edx, 0xfef5751f
cmove eax, edx
mov ecx, 0x116ab669
cmove ecx, edx
lea edx, [esi + 0x30]
mov dword [esi + 4], edx
mov edi, 0x17e23197
mov ebx, dword [esi + 4]
mov edx, 0xae9be2ed
nop word cs:[eax + eax]
cmp edi, 0xff38d62f
jg 0x44dd50
cmp edi, 0x8e14a9ab
je 0x44dd92
cmp edi, 0xae9be2ed
je 0x44dd80
cmp edi, 0xfef5751f
jne 0x44dd20
mov edi, 0x116ab669
jmp 0x44dd86
cmp edi, 0xff38d630
je 0x44dd79
cmp edi, 0x116ab669
je 0x44dd84
cmp edi, 0x17e23197
jne 0x44dd20
mov edi, dword [esi + 4]
cmp dword [edi + 0x14], 0x10
mov edi, 0x8e14a9ab
cmovae edi, edx
jmp 0x44dd20
mov edi, 0x8e14a9ab
jmp 0x44dd20
mov edi, ecx
jmp 0x44dd20
mov edi, eax
mov ebx, dword [esi + 4]
mov ebx, dword [ebx]
jmp 0x44dd20
jmp 0x44dd90
cmp byte [ebx + 0xd7], 0x31
jne 0x44dea1
lea edx, [esi + 0x30]
mov dword [esi + 4], edx
mov edi, 0x17e23197
mov ebx, dword [esi + 4]
mov edx, 0xae9be2ed
nop word cs:[eax + eax]
cmp edi, 0xff38d62f
jg 0x44ddf0
cmp edi, 0x8e14a9ab
je 0x44de2d
cmp edi, 0xae9be2ed
je 0x44de20
cmp edi, 0xfef5751f
jne 0x44ddc0
mov edi, 0x116ab669
jmp 0x44de26
cmp edi, 0xff38d630
je 0x44de19
cmp edi, 0x116ab669
je 0x44de24
cmp edi, 0x17e23197
jne 0x44ddc0
mov edi, dword [esi + 4]
cmp dword [edi + 0x14], 0x10
mov edi, 0x8e14a9ab
cmovae edi, edx
jmp 0x44ddc0
mov edi, 0x8e14a9ab
jmp 0x44ddc0
mov edi, ecx
jmp 0x44ddc0
mov edi, eax
mov ebx, dword [esi + 4]
mov ebx, dword [ebx]
jmp 0x44ddc0
cmp byte [ebx + 0x2d0], 0x30
jne 0x44dea1
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, dword [0x5c3fa8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c3fac], 0xa
setl cl
test cl, al
jne 0x44dea1
xor cl, al
jne 0x44dea1
mov edi, dword [sym.imp.KERNEL32.dll_Beep]
push 0
push 0
call edi
push 0
push 0
call edi
mov eax, dword [0x5c3fa8]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c3fac], 0xa
setl cl
test cl, al
jne 0x44dea1
xor cl, al
je 0x44de6d
lea ecx, [esi + 0x30]
call fcn.0040ae90
mov ecx, dword [0x5c3fa8]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3fac], 0xa
setge cl
setl ch
xor ch, dl
jne 0x44df17
or cl, al
test cl, 1
je 0x44df17
lea edi, [esi + 0x30]
nop word cs:[eax + eax]
mov ecx, edi
call fcn.0040ae90
mov ecx, edi
call fcn.0040ae90
mov ecx, dword [0x5c3fa8]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3fac], 0xa
setge cl
setl ch
xor ch, dl
jne 0x44df17
or cl, al
test cl, 1
jne 0x44dee0
mov dword [esi + 0x7c], esp
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
cmp dword [0x5c4084], 0xa
setl al
or al, cl
mov byte [esi + 0x18], al
nop
push eax
sub esp, 8
mov dword [esi + 0x1c], esp
sub esp, 0xc
mov dword [esi + 0x20], esp
sub esp, 0x10
mov edx, esp
and edx, 0xfffffff8
mov esp, edx
push eax
mov dword [esi + 0x70], esp
sub esp, 0xc
mov ebx, esp
sub esp, 0x10
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
push eax
mov edi, esp
push eax
mov ecx, esp
push eax
mov dword [esi + 0x24], esp
cmp byte [esi + 0x18], 0
je 0x44df40
mov dword [esi + 0x90], ecx
mov dword [esi + 0x94], edi
mov dword [esi + 0x5c], ebx
lea ecx, [edx + 0x10]
mov dword [esi + 0x88], ecx
lea ecx, [eax + 0x10]
mov dword [esi + 0xa0], ecx
mov edi, 0xa
mov ecx, dword [esi + 0x1c]
cmp edi, 0x1f3
ja 0x44ee42
mov dword [esi + 0x64], eax
mov dword [esi + 0x98], edx
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
lea eax, [edi + 1]
imul edi, eax
shr edi, 1
mov dword [esi + 0x9c], eax
shr eax, 1
mov dword [esi + 0x18], eax
mov dword [esi + 0x10], 0
mov eax, dword [0x5c4080]
mov dword [esi + 0x68], eax
mov ebx, dword [0x5c4084]
mov dword [esi + 0xa4], edi
nop word [eax + eax]
mov eax, dword [esi + 0x68]
lea edx, [eax + 1]
imul edx, eax
and edx, 1
sete al
cmp ebx, 0xa
setl cl
test cl, al
jne 0x44e021
xor cl, al
je 0x44ee00
mov dword [esi + 0x60], edx
mov dword [esi + 0x50], ebx
mov edx, dword [esi + 0x18]
mov eax, edx
imul eax, dword [esi + 0x10]
mulx ecx, ebx, edx
add eax, eax
add eax, ecx
cmp ebx, edi
sbb eax, 0
jae 0x44e73c
sub edi, edx
mov dword [esi + 0x54], edi
mov edi, edx
mov ecx, 0
mov ebx, dword [esi + 0x10]
sbb ecx, ebx
mov dword [esi + 0x80], ecx
mov dword [esi + 0x18], edx
add edi, 1
adc ebx, 0
push ebx
push edi
push ecx
push dword [esi + 0x54]
call fcn.005893d0
mov dword [esi + 0x2c], edx
mov edx, eax
mulx ecx, edx, edi
mov dword [esi + 0xb4], edx
mov dword [esi + 0xc], eax
mov edx, eax
mov dword [esi + 0x84], ebx
imul edx, ebx
add ecx, edx
mov edx, dword [esi + 0x2c]
mov dword [esi + 0xb0], edi
imul edx, edi
add edx, ecx
mov ecx, dword [esi + 0x54]
sub ecx, dword [esi + 0xb4]
mov edi, dword [esi + 0x80]
sbb edi, edx
or edi, ecx
mov ebx, dword [esi + 0x50]
mov ecx, dword [esi + 0x60]
jne 0x44e6f6
mov edx, dword [esi + 0x98]
mov ecx, dword [esi + 0x18]
mov dword [edx], ecx
mov ecx, dword [esi + 0x10]
mov dword [edx + 4], ecx
mov eax, dword [esi + 0xc]
mov dword [edx + 8], eax
mov eax, dword [esi + 0x2c]
mov dword [edx + 0xc], eax
mov dword [esi + 0xd8], 0xf
mov ecx, dword [esi + 0x20]
push dword [esi + 0x70]
push dword [esi + 0x88]
push edx
call fcn.00587bf0
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 4]
cmp ecx, 0xa
setl byte [esi + 0x30]
mov eax, 0x5a1cc736
mov ebx, dword [esi + 0x18]
mov ecx, dword [esi + 0x1c]
nop word cs:[eax + eax]
cmp eax, 0x1583cd3a
jg 0x44e150
cmp eax, 0xb018ea81
je 0x44e1e4
cmp eax, 0xf7175d7a
jne 0x44e130
jmp 0x44e203
cmp eax, 0x1583cd3b
je 0x44e18b
cmp eax, 0x5a1cc736
jne 0x44e130
movzx eax, byte [esi + 4]
movzx ecx, byte [esi + 0x30]
mov edx, eax
xor dl, cl
mov edx, 0xb018ea81
mov edi, ebx
mov ebx, 0x1583cd3b
cmovne edx, ebx
test cl, cl
mov ecx, edx
cmovne ecx, ebx
mov ebx, edi
test al, al
cmove ecx, edx
mov eax, ecx
jmp 0x44e121
mov dword [esi + 0xd8], 0x11
push dword [esi + 0x20]
call fcn.004330f0
mov ebx, dword [esi + 0x18]
mov eax, dword [0x5c4088]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
mov eax, 0xb018ea81
mov ecx, 0xf7175d7a
cmove eax, ecx
cmp dword [0x5c408c], 0xa
mov ecx, 0xb018ea81
cmovge eax, ecx
setl cl
xor cl, dl
mov ecx, 0xf7175d7a
cmovne eax, ecx
jmp 0x44e121
mov dword [esi + 0xd8], 0x11
push dword [esi + 0x20]
call fcn.004330f0
mov eax, 0x1583cd3b
mov ebx, dword [esi + 0x18]
jmp 0x44e121
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c4084], 0xa
setl cl
test cl, al
jne 0x44e230
xor cl, al
je 0x44e376
nop
mov edx, dword [0x5c4090]
mov ecx, dword [0x5c4094]
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, 0x80c66156
mov edi, 0x766d7330
cmovne edx, edi
cmp eax, 0xffffffff
sete byte [esi + 8]
mov eax, edx
cmove eax, edi
mov edi, dword [esi + 0x10]
cmp ecx, 0xa
setl byte [esi + 4]
cmovge eax, edx
mov edx, dword [esi + 0xc]
mov ecx, 0xf2325ac5
nop word cs:[eax + eax]
cmp ecx, 0x46df2eda
jle 0x44e2b0
cmp ecx, 0x46df2edb
je 0x44e2f0
cmp ecx, 0x766d7330
jne 0x44e290
jmp 0x44e2fb
cmp ecx, 0x80c66156
je 0x44e2f4
cmp ecx, 0xf2325ac5
jne 0x44e290
movzx edx, byte [esi + 8]
movzx ecx, byte [esi + 4]
mov ch, dl
xor ch, cl
mov edi, 0x80c66156
mov ebx, 0x46df2edb
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
mov ebx, dword [esi + 0x18]
test dl, dl
mov edx, dword [esi + 0xc]
cmove ecx, edi
mov edi, dword [esi + 0x10]
jmp 0x44e290
mov ecx, eax
jmp 0x44e290
mov ecx, 0x46df2edb
jmp 0x44e290
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x30], ecx
mov eax, dword [esi + 0x30]
mov eax, dword [ecx]
test eax, eax
je 0x44e336
mov ecx, dword [esi + 0x20]
mov ecx, dword [ecx + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
mov edx, dword [esi + 0xc]
mov eax, dword [esi + 0x20]
add esp, 8
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, dword [esi + 0x64]
mov dword [eax], edx
mov ecx, dword [esi + 0x2c]
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], edi
sete al
cmp dword [0x5c4084], 0xa
setl cl
test cl, al
jne 0x44e48d
xor cl, al
jne 0x44e48d
mov edx, dword [0x5c4090]
mov ecx, dword [0x5c4094]
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, 0x80c66156
mov ebx, 0x766d7330
cmovne edi, ebx
test edx, eax
mov edx, dword [esi + 0xc]
sete byte [esi + 8]
mov eax, edi
cmove eax, ebx
mov ebx, dword [esi + 0x18]
cmp ecx, 0xa
setl byte [esi + 4]
cmovge eax, edi
mov edi, dword [esi + 0x10]
mov ecx, 0xf2325ac5
jmp 0x44e3d0
mov ecx, eax
nop
cmp ecx, 0x46df2eda
jle 0x44e3f0
cmp ecx, 0x46df2edb
je 0x44e3cc
cmp ecx, 0x766d7330
jne 0x44e3d0
jmp 0x44e43c
cmp ecx, 0x80c66156
je 0x44e435
cmp ecx, 0xf2325ac5
jne 0x44e3d0
movzx edx, byte [esi + 8]
movzx ecx, byte [esi + 4]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x80c66156
mov ebx, 0x46df2edb
cmovne ecx, ebx
test dl, dl
mov edi, 0x80c66156
cmove ecx, edi
mov edi, dword [esi + 0x10]
test dh, dh
mov edx, dword [esi + 0xc]
cmovne ecx, ebx
mov ebx, dword [esi + 0x18]
jmp 0x44e3d0
mov ecx, 0x46df2edb
jmp 0x44e3d0
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x30], ecx
mov eax, dword [esi + 0x30]
mov eax, dword [ecx]
test eax, eax
je 0x44e477
mov ecx, dword [esi + 0x20]
mov ecx, dword [ecx + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
mov edx, dword [esi + 0xc]
mov eax, dword [esi + 0x20]
add esp, 8
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov eax, dword [esi + 0x64]
mov dword [eax], edx
mov ecx, dword [esi + 0x2c]
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], edi
jmp 0x44e230
mov dword [esi + 0xd8], 0xf
mov ecx, dword [esi + 0x5c]
push dword [esi + 0x94]
push dword [esi + 0xa0]
push dword [esi + 0x64]
call fcn.00587bf0
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c4084], 0xa
setl cl
test cl, al
jne 0x44e4da
xor cl, al
je 0x44ee30
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 4]
cmp ecx, 0xa
setl byte [esi + 0x30]
mov ebx, 0x5a1cc736
mov ecx, dword [esi + 0x1c]
nop word cs:[eax + eax]
cmp ebx, 0x1583cd3a
jg 0x44e540
cmp ebx, 0xb018ea81
je 0x44e5cd
cmp ebx, 0xf7175d7a
jne 0x44e510
jmp 0x44e5e9
cmp ebx, 0x1583cd3b
je 0x44e577
cmp ebx, 0x5a1cc736
jne 0x44e510
movzx eax, byte [esi + 4]
movzx ecx, byte [esi + 0x30]
mov edx, eax
xor dl, cl
mov edx, 0xb018ea81
mov edi, 0x1583cd3b
cmovne edx, edi
test cl, cl
mov ebx, edx
cmovne ebx, edi
test al, al
cmove ebx, edx
jmp 0x44e503
mov dword [esi + 0xd8], 0x10
push dword [esi + 0x5c]
call fcn.004330f0
mov edx, dword [0x5c4088]
mov eax, dword [0x5c408c]
lea ecx, [edx + 1]
imul ecx, edx
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov edi, 0xb018ea81
mov ebx, 0xf7175d7a
cmovne edi, ebx
test edx, ecx
mov ecx, edi
cmove ecx, ebx
mov ebx, ecx
cmp eax, 0xa
cmovge ebx, edi
jmp 0x44e503
mov dword [esi + 0xd8], 0x10
push dword [esi + 0x5c]
call fcn.004330f0
mov ebx, 0x1583cd3b
jmp 0x44e503
mov eax, dword [0x5c4090]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, dword [0x5c4094]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 8]
sete cl
mov eax, 0x80c66156
mov edi, 0x766d7330
cmove eax, edi
cmp edx, 0xa
setl byte [esi + 4]
setl dl
mov ebx, 0x80c66156
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
mov ecx, 0xf2325ac5
nop word cs:[eax + eax]
cmp ecx, 0x46df2eda
jle 0x44e660
cmp ecx, 0x46df2edb
je 0x44e697
cmp ecx, 0x766d7330
jne 0x44e640
jmp 0x44e6a2
cmp ecx, 0x80c66156
je 0x44e69b
cmp ecx, 0xf2325ac5
jne 0x44e640
movzx edx, byte [esi + 8]
movzx ecx, byte [esi + 4]
mov ch, dl
xor ch, cl
mov edi, 0x80c66156
mov ebx, 0x46df2edb
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x44e640
mov ecx, eax
jmp 0x44e640
mov ecx, 0x46df2edb
jmp 0x44e640
mov ecx, dword [esi + 0x5c]
mov dword [esi + 0x30], ecx
mov eax, dword [esi + 0x30]
mov eax, dword [ecx]
test eax, eax
je 0x44e6da
mov ecx, dword [esi + 0x5c]
mov ecx, dword [ecx + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
mov eax, dword [esi + 0x5c]
add esp, 8
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov ecx, dword [0x5c4080]
mov ebx, dword [0x5c4084]
lea eax, [ecx + 1]
mov dword [esi + 0x68], ecx
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
and ecx, eax
test ecx, ecx
setne al
sete dl
cmp ebx, 0xa
setge byte [esi + 0xc]
setl ah
xor ah, dl
mov edx, dword [esi + 0xb0]
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x84]
mov dword [esi + 0x10], ecx
mov edi, dword [esi + 0xa4]
jne 0x44e000
or al, byte [esi + 0xc]
mov dword [esi + 0x18], edx
mov dword [esi + 0x10], ecx
je 0x44e000
jmp 0x44ee10
mov edx, 1
mov ecx, dword [esi + 0x1c]
mov eax, dword [ecx]
mov edi, dword [ecx + 4]
mov ecx, edi
sub ecx, eax
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
mov ebx, edx
mov dword [esi + 0x80], edx
cmp edx, ecx
jb 0x44e772
jmp 0x44ea84
mov ebx, dword [esi + 0x10]
test ebx, ebx
je 0x44ea5c
mov eax, dword [0x5c4098]
mov edx, dword [0x5c409c]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
mov dword [esi + 0x2c], ecx
sete byte [esi + 8]
sete al
mov ecx, ebx
mov ebx, 0x6675f964
mov edi, 0x7862661b
cmove ebx, edi
mov dword [esi + 0xc], edx
cmp edx, 0xa
setl byte [esi + 4]
mov edx, 0x6675f964
cmovge ebx, edx
setl dl
xor dl, al
mov eax, dword [esi + 0x1c]
mov eax, dword [eax]
mov dword [esi + 0x10], ecx
lea edx, [ecx + ecx*2]
mov dword [esi + 0x60], eax
lea eax, [eax + edx*4]
mov dword [esi + 0x54], eax
cmovne ebx, edi
mov dword [esi + 0x18], ebx
mov edx, 0xd6d6a098
nop word cs:[eax + eax]
cmp edx, 0x6675f963
jle 0x44e800
cmp edx, 0x6675f964
je 0x44e83c
cmp edx, 0x7862661b
jne 0x44e7e0
jmp 0x44e848
cmp edx, 0xd0a3dc29
je 0x44e843
cmp edx, 0xd6d6a098
jne 0x44e7e0
movzx eax, byte [esi + 8]
movzx edx, byte [esi + 4]
mov ah, dl
xor ah, al
test dl, dl
mov edx, 0x6675f964
mov ecx, 0xd0a3dc29
cmovne edx, ecx
test al, al
mov edi, 0x6675f964
cmove edx, edi
test ah, ah
cmovne edx, ecx
jmp 0x44e7e0
mov edx, 0xd0a3dc29
jmp 0x44e7e0
mov edx, dword [esi + 0x18]
jmp 0x44e7e0
mov ecx, dword [esi + 0x10]
dec ecx
cmp dword [esi + 0x2c], 0
mov eax, dword [esi + 0x54]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
mov edi, dword [eax]
mov ebx, dword [eax + 4]
sete byte [esi + 8]
cmp dword [esi + 0xc], 0xa
setl byte [esi + 4]
mov dword [esi + 0x10], ecx
lea eax, [ecx + ecx*2]
mov ecx, dword [esi + 0x60]
lea eax, [ecx + eax*4]
mov dword [esi + 0x60], eax
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x44e8a0
cmp eax, 0x6675f964
je 0x44e8e3
cmp eax, 0x7862661b
jne 0x44e880
jmp 0x44e8ef
cmp eax, 0xd0a3dc29
je 0x44e8ea
cmp eax, 0xd6d6a098
jne 0x44e880
movzx edx, byte [esi + 8]
movzx eax, byte [esi + 4]
mov dh, al
xor dh, dl
test al, al
mov eax, 0x6675f964
mov ecx, 0xd0a3dc29
cmovne eax, ecx
test dl, dl
mov ecx, edi
mov edi, 0x6675f964
cmove eax, edi
mov edi, ecx
test dh, dh
mov ecx, 0xd0a3dc29
cmovne eax, ecx
jmp 0x44e880
mov eax, 0xd0a3dc29
jmp 0x44e880
mov eax, dword [esi + 0x18]
jmp 0x44e880
mov eax, dword [esi + 0x60]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
cmp edi, dword [eax]
sbb ebx, dword [eax + 4]
jge 0x44ea50
cmp dword [esi + 0x2c], 0
sete byte [esi + 8]
cmp dword [esi + 0xc], 0xa
setl byte [esi + 4]
mov eax, 0xd6d6a098
nop word [eax + eax]
cmp eax, 0x6675f963
jle 0x44e940
cmp eax, 0x6675f964
je 0x44e975
cmp eax, 0x7862661b
jne 0x44e920
jmp 0x44e981
cmp eax, 0xd0a3dc29
je 0x44e97c
cmp eax, 0xd6d6a098
jne 0x44e920
movzx edx, byte [esi + 8]
movzx eax, byte [esi + 4]
mov ah, dl
xor ah, al
mov edi, 0x6675f964
mov ecx, 0xd0a3dc29
cmovne edi, ecx
test al, al
mov eax, edi
cmovne eax, ecx
test dl, dl
cmove eax, edi
jmp 0x44e920
mov eax, 0xd0a3dc29
jmp 0x44e920
mov eax, dword [esi + 0x18]
jmp 0x44e920
cmp dword [esi + 0x2c], 0
mov eax, dword [esi + 0x60]
mov dword [esi + 0x30], eax
mov edx, dword [esi + 0x30]
sete byte [esi + 8]
cmp dword [esi + 0xc], 0xa
setl byte [esi + 4]
mov eax, 0xd6d6a098
nop
cmp eax, 0x6675f963
jle 0x44e9c0
cmp eax, 0x6675f964
je 0x44e9f5
cmp eax, 0x7862661b
jne 0x44e9a0
jmp 0x44ea01
cmp eax, 0xd0a3dc29
je 0x44e9fc
cmp eax, 0xd6d6a098
jne 0x44e9a0
movzx ecx, byte [esi + 8]
movzx eax, byte [esi + 4]
mov ah, cl
xor ah, al
mov edi, 0x6675f964
mov ebx, 0xd0a3dc29
cmovne edi, ebx
test al, al
mov eax, edi
cmovne eax, ebx
test cl, cl
cmove eax, edi
jmp 0x44e9a0
mov eax, 0xd0a3dc29
jmp 0x44e9a0
mov eax, dword [esi + 0x18]
jmp 0x44e9a0
mov eax, dword [esi + 0x54]
mov dword [esi + 0x30], eax
mov ecx, dword [esi + 0x30]
push edx
call fcn.00434540
mov eax, dword [0x5c4080]
mov edi, dword [0x5c4084]
lea ecx, [eax + 1]
mov dword [esi + 0x68], eax
imul ecx, eax
mov eax, ecx
and eax, 1
sete dh
mov dword [esi + 0x50], edi
cmp edi, 0xa
setl bl
setge dl
cmp bl, dh
jne 0x44e767
or dl, cl
test dl, 1
je 0x44e767
jmp 0x44ee20
mov ecx, dword [esi + 0x68]
lea eax, [ecx + 1]
imul eax, ecx
and eax, 1
mov edx, dword [esi + 0x80]
inc edx
test eax, eax
sete al
cmp dword [esi + 0x50], 0xa
setl cl
test al, cl
jne 0x44e741
xor al, cl
jne 0x44e741
jmp 0x44ee40
mov ecx, dword [esi + 0x90]
mov dword [ecx], eax
cmp eax, edi
mov ebx, dword [esi + 0x24]
mov dword [esi + 0x10], edi
jne 0x44eace
mov edi, dword [esi + 0x1c]
mov ecx, edi
call fcn.0041e120
mov ecx, edi
mov edi, dword [esi + 0x9c]
mov edx, dword [esi + 0x98]
mov eax, dword [esi + 0x64]
cmp edi, 0x1f3
jbe 0x44dfaf
jmp 0x44ee42
mov eax, dword [esi + 0x30]
mov eax, dword [ecx]
mov edi, dword [esi + 0x10]
cmp eax, edi
je 0x44ea96
mov ecx, dword [0x5c4080]
lea edx, [ecx - 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
setne dl
cmp dword [0x5c4084], 0xa
setge cl
mov ch, cl
xor ch, dl
or cl, dl
xor cl, 1
or cl, ch
cmp cl, 1
jne 0x44ecf5
mov edx, dword [eax]
mov dword [ebx], edx
test cl, cl
je 0x44ecf5
mov eax, dword [eax + 4]
mov dword [esi + 0x18], eax
jmp 0x44eb23
mov eax, dword [esi + 0x30]
mov edx, dword [0x5c40a0]
mov ecx, dword [0x5c40a4]
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, 0x3365058b
mov edi, 0xc1fd3d12
cmovne ebx, edi
test edx, eax
sete byte [esi + 4]
mov eax, ebx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x30]
cmovge eax, ebx
mov ecx, 0x52166c0c
mov ebx, dword [esi + 0x24]
nop word cs:[eax + eax]
cmp ecx, 0x52166c0b
jg 0x44eba0
cmp ecx, 0xc1fd3d12
je 0x44ebf0
cmp ecx, 0x3365058b
jne 0x44eb80
mov ecx, 0x7b4463f8
jmp 0x44eb80
cmp ecx, 0x7b4463f8
je 0x44ebe1
cmp ecx, 0x52166c0c
jne 0x44eb80
movzx edx, byte [esi + 4]
movzx ecx, byte [esi + 0x30]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0x3365058b
mov edi, 0x7b4463f8
cmovne ecx, edi
test dl, dl
mov edi, 0x3365058b
cmove ecx, edi
test dh, dh
mov edx, 0x7b4463f8
cmovne ecx, edx
jmp 0x44eb80
mov ecx, eax
jmp 0x44eb80
mov eax, dword [ebx]
cmp eax, dword [esi + 0x18]
je 0x44ecfe
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 0x44ec1c
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 8]
cmp ecx, 0xa
setl byte [esi + 4]
mov eax, 0x74ccc71d
nop word cs:[eax + eax]
cmp eax, 0x590bba56
jg 0x44ec70
cmp eax, 0xc76c0d8d
je 0x44ecae
cmp eax, 0x1f2e313
jne 0x44ec50
add dword [ebx], 8
mov eax, 0xc76c0d8d
jmp 0x44ec50
cmp eax, 0x590bba57
je 0x44eb20
cmp eax, 0x74ccc71d
jne 0x44ec50
movzx ecx, byte [esi + 8]
movzx eax, byte [esi + 4]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x1f2e313
mov edi, 0xc76c0d8d
cmovne eax, edi
test cl, cl
mov ecx, 0x1f2e313
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x44ec50
mov dword [esi + 0x30], ebx
mov eax, dword [esi + 0x30]
add dword [eax], 8
mov eax, dword [0x5c40a8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x1f2e313
mov edi, 0x590bba57
cmove eax, edi
cmp dword [0x5c40ac], 0xa
mov edx, 0x1f2e313
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x44ec50
mov edx, dword [eax]
mov dword [ebx], edx
jmp 0x44eb03
mov eax, dword [0x5c40b0]
mov ecx, dword [0x5c40b4]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 8]
cmp ecx, 0xa
setl byte [esi + 4]
mov eax, 0x1d5864bd
mov ecx, dword [esi + 0x90]
nop dword [eax]
cmp eax, 0x3e63df80
jle 0x44ed50
cmp eax, 0x3e63df81
je 0x44ed68
cmp eax, 0x5632c42c
jne 0x44ed30
jmp 0x44eac2
cmp eax, 0x1d5864bd
je 0x44edc1
cmp eax, 0x3ce7f0d1
jne 0x44ed30
add dword [ecx], 0xc
mov eax, 0x3e63df81
jmp 0x44ed30
mov dword [esi + 0x30], ecx
mov eax, dword [esi + 0x30]
add dword [eax], 0xc
mov edx, dword [0x5c40b0]
mov ecx, dword [0x5c40b4]
mov dword [esi + 0x18], ecx
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, dword [esi + 0x24]
mov edi, 0x3ce7f0d1
mov ecx, 0x5632c42c
cmovne edi, ecx
test edx, eax
mov eax, edi
cmove eax, ecx
cmp dword [esi + 0x18], 0xa
mov ecx, dword [esi + 0x90]
cmovge eax, edi
jmp 0x44ed30
movzx ecx, byte [esi + 8]
movzx eax, byte [esi + 4]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x3ce7f0d1
mov edi, 0x3e63df81
cmovne eax, edi
test cl, cl
mov ecx, dword [esi + 0x90]
mov edi, 0x3ce7f0d1
cmove eax, edi
test dl, dl
mov edx, 0x3e63df81
cmovne eax, edx
jmp 0x44ed30
jmp 0x44ee00
jmp 0x44ee10
jmp 0x44ee20
jmp 0x44ee30
jmp 0x44ee40
mov esp, dword [esi + 0x7c]
mov eax, dword [0x5c40b8]
mov ecx, dword [0x5c40bc]
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete al
cmp ecx, 0xa
setl ah
xor ah, al
mov eax, 0x17be3150
mov edi, 0x88d04c0d
cmovne edi, eax
cmp edx, 0xffffffff
sete byte [esi + 4]
cmovne eax, edi
cmp ecx, 0xa
setl byte [esi + 0x30]
cmovge eax, edi
mov edx, 0xacaa3876
mov ecx, 0x2e60b043
cmp edx, 0x17be314f
jg 0x44eece
cmp edx, 0x88d04c0d
je 0x44eee2
cmp edx, 0xacaa3876
jne 0x44ee94
movzx ebx, byte [esi + 4]
movzx edx, byte [esi + 0x30]
mov dh, bl
xor dh, dl
mov edi, 0x88d04c0d
cmovne edi, ecx
test dl, dl
mov edx, edi
cmovne edx, ecx
test bl, bl
cmove edx, edi
jmp 0x44ee94
cmp edx, 0x17be3150
je 0x44eee9
cmp edx, 0x2e60b043
jne 0x44ee94
mov edx, eax
jmp 0x44ee94
mov edx, 0x2e60b043
jmp 0x44ee94
mov esp, dword [esi + 0xa8]
mov eax, dword [0x5c40c0]
mov ecx, dword [0x5c40c4]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 8]
cmp ecx, 0xa
setl byte [esi + 4]
mov edi, 0xef1c1ad8
cmp edi, 0xd765e6ac
jg 0x44ef5d
cmp edi, 0x8fe12209
je 0x44f003
cmp edi, 0xa57bbcbd
jne 0x44ef18
mov eax, 0x391a041a
mov ecx, 0x459e8808
mov edi, dword [esi + 0x6c]
mov dword [edi + 4], ecx
mov dword [edi], eax
mov eax, 0xfcdf3127
mov ecx, 0x4717f6ea
mov dword [edi + 0xc], ecx
mov dword [edi + 8], eax
mov edi, 0xd765e6ad
jmp 0x44ef18
cmp edi, 0xd765e6ad
je 0x44ef98
cmp edi, 0xef1c1ad8
jne 0x44ef18
movzx ecx, byte [esi + 8]
mov bh, byte [esi + 4]
mov bl, cl
xor bl, bh
test bh, bh
mov edi, 0xa57bbcbd
mov edx, 0xd765e6ad
cmovne edi, edx
test cl, cl
mov eax, 0xa57bbcbd
cmove edi, eax
test bl, bl
cmovne edi, edx
jmp 0x44ef18
mov eax, dword [esi + 0x6c]
mov dword [esi + 0x30], eax
mov ecx, dword [esi + 0x30]
mov edi, 0x391a041a
mov ebx, 0x459e8808
mov dword [ecx + 4], ebx
mov dword [ecx], edi
mov edi, 0xfcdf3127
mov ebx, 0x4717f6ea
mov dword [ecx + 0xc], ebx
mov dword [ecx + 8], edi
mov ecx, dword [0x5c40c0]
mov ebx, dword [0x5c40c4]
lea edi, [ecx + 1]
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete al
cmp ebx, 0xa
setl ah
xor ah, al
mov eax, 0xa57bbcbd
mov edx, 0x8fe12209
cmovne eax, edx
test ecx, edi
mov edi, eax
cmove edi, edx
cmp ebx, 0xa
cmovge edi, eax
jmp 0x44ef18
mov eax, dword [esi + 0x30]
mov eax, 0x557b6745
mov ecx, 0x20e9d76b
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov eax, 0x88b7564e
mov ecx, 0x4717f6ea
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x38], eax
xor eax, eax
lea ecx, [esi + 0x30]
vmovaps xmm0, xmmword [ecx]
mov eax, dword [esi + 0x6c]
vmovaps xmm1, xmmword [eax]
vmovddup xmm2, qword [0x5abee8]
vandnps xmm3, xmm1, xmm2
vandnps xmm4, xmm0, xmm2
vandnps xmm1, xmm2, xmm1
vorps xmm1, xmm3, xmm1
vandnps xmm0, xmm2, xmm0
vorps xmm0, xmm4, xmm0
vxorps xmm0, xmm1, xmm0
vmovaps xmmword [eax], xmm0
call fcn.005957de
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 + 0x74]
call fcn.00454580
add esp, 8
push eax
sub esp, 0x24
mov dword [esi + 0xa8], esp
sub esp, 0x18
mov dword [esi + 0xb0], esp
sub esp, 0x10
mov eax, esp
and eax, 0xfffffff0
mov dword [esi + 0x74], eax
mov esp, eax
push eax
sub esp, 0x14
mov dword [esi + 0x5c], esp
push eax
mov dword [esi + 0xb4], esp
mov eax, dword [0x5c3fa0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete byte [esi + 4]
mov dword [esi + 0x80], esp
mov ecx, dword [0x5c3fa4]
mov edx, 0x77192157
mov eax, 0xf963c607
cmove eax, edx
sete bl
cmp ecx, 0xa
setl byte [esi + 0x30]
mov ecx, 0xf963c607
cmovge eax, ecx
setl bh
xor bh, bl
cmovne eax, edx
mov edi, 0xa0dba2a4
mov edx, 0x734bd94b
nop dword [eax + eax]
cmp edi, 0x734bd94a
jle 0x44f130
cmp edi, 0x734bd94b
je 0x44f14d
cmp edi, 0x77192157
jne 0x44f110
jmp 0x44f17e
cmp edi, 0xa0dba2a4
je 0x44f157
cmp edi, 0xf963c607
jne 0x44f110
mov word [esi + 0x28], 0x7a61
mov edi, 0x734bd94b
jmp 0x44f110
mov word [esi + 0x28], 0x7a61
mov edi, eax
jmp 0x44f110
movzx ebx, byte [esi + 4]
movzx ecx, byte [esi + 0x30]
mov bh, cl
xor bh, bl
test cl, cl
mov ecx, 0xf963c607
mov edi, 0xf963c607
cmovne edi, edx
test bl, bl
cmove edi, ecx
test bh, bh
cmovne edi, edx
jmp 0x44f110
lea ecx, [esi + 0x30]
call fcn.0040ab10
mov dword [esi + 0xd8], 0
xor eax, eax
lea edi, [esi + 0x58]
lea ecx, [esi + 0x28]
jmp 0x44f1b5
mov eax, dword [esi + 0xc]
inc eax
cmp eax, 0x3e8
lea edi, [esi + 0x58]
lea ecx, [esi + 0x28]
je 0x44f762
mov dword [esi + 0xc], eax
movsx eax, byte [esi + 0x29]
movsx edx, byte [esi + 0x28]
mov dword [esi + 0xd8], 0
push eax
push edx
push edi
call fcn.0041c940
movsx eax, al
lea ecx, [esi + 0x30]
push eax
call fcn.0041cf20
mov ecx, dword [0x5c3fa8]
mov edx, dword [0x5c3fac]
lea eax, [ecx + 1]
mov dword [esi + 0x2c], ecx
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
test ecx, eax
sete al
mov dword [esi + 0x24], edx
cmp edx, 0xa
setl cl
or cl, al
mov byte [esi + 0x10], cl
mov edi, dword [0x5c3fb0]
mov eax, dword [0x5c3fb4]
mov dword [esi + 0x18], eax
je 0x44f3b0
nop
lea eax, [esi + 0x30]
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
mov dword [esi + 0x20], eax
lea eax, [edi + 1]
imul eax, edi
mov edx, eax
xor edx, 0xfffffffe
and edx, eax
sete al
cmp dword [esi + 0x18], 0xa
setl cl
or cl, al
mov ecx, 0xfef5751f
mov eax, 0xff38d630
cmovne ecx, eax
mov ebx, 0xfef5751f
mov eax, 0x116ab669
cmovne ebx, eax
mov dword [esi + 0x1c], ebx
mov eax, 0x17e23197
nop word [eax + eax]
cmp eax, 0xff38d62f
jg 0x44f2a0
cmp eax, 0x8e14a9ab
je 0x44f2f0
cmp eax, 0xae9be2ed
je 0x44f2da
cmp eax, 0xfef5751f
jne 0x44f270
mov eax, 0x116ab669
jmp 0x44f2e1
cmp eax, 0xff38d630
je 0x44f2d3
cmp eax, 0x116ab669
je 0x44f2df
cmp eax, 0x17e23197
jne 0x44f270
mov eax, dword [esi + 4]
cmp dword [eax + 0x14], 0x10
mov eax, 0x8e14a9ab
mov ebx, ecx
mov ecx, edi
mov edi, 0xae9be2ed
cmovae eax, edi
mov edi, ecx
mov ecx, ebx
jmp 0x44f270
mov eax, 0x8e14a9ab
jmp 0x44f270
mov eax, dword [esi + 0x1c]
jmp 0x44f270
mov eax, ecx
mov ebx, dword [esi + 4]
mov ebx, dword [ebx]
mov dword [esi + 0x20], ebx
jmp 0x44f270
cmp byte [esi + 0x10], 0
je 0x44f3b9
mov edx, dword [esi + 0x40]
mov eax, 0x25a7cad3
add edx, eax
mov eax, dword [esi + 0x20]
cmp byte [eax + edx - 0x25a7cad4], 0x6f
je 0x44f47e
lea eax, [esi + 0x30]
mov dword [esi + 4], eax
mov edi, 0x17e23197
mov eax, dword [esi + 4]
nop word cs:[eax + eax]
cmp edi, 0xff38d62f
jg 0x44f360
cmp edi, 0x8e14a9ab
je 0x44f470
cmp edi, 0xae9be2ed
je 0x44f395
cmp edi, 0xfef5751f
jne 0x44f330
mov edi, 0x116ab669
jmp 0x44f39c
cmp edi, 0xff38d630
je 0x44f38e
cmp edi, 0x116ab669
je 0x44f39a
cmp edi, 0x17e23197
jne 0x44f330
mov edi, dword [esi + 4]
cmp dword [edi + 0x14], 0x10
mov edi, 0x8e14a9ab
mov ebx, 0xae9be2ed
cmovae edi, ebx
jmp 0x44f330
mov edi, 0x8e14a9ab
jmp 0x44f330
mov edi, dword [esi + 0x1c]
jmp 0x44f330
mov edi, ecx
mov eax, dword [esi + 4]
mov eax, dword [eax]
jmp 0x44f330
lea edx, [edi + 1]
imul edx, edi
and edx, 1
lea eax, [esi + 0x30]
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
test edx, edx
sete al
cmp dword [esi + 0x18], 0xa
setl cl
or cl, al
mov eax, 0xfef5751f
mov ecx, 0xff38d630
cmovne eax, ecx
mov ecx, 0xfef5751f
mov edx, 0x116ab669
cmovne ecx, edx
mov edx, 0x17e23197
jmp 0x44f400
mov edx, 0x8e14a9ab
nop word cs:[eax + eax]
cmp edx, 0xff38d62f
jg 0x44f430
cmp edx, 0x8e14a9ab
je 0x44f220
cmp edx, 0xae9be2ed
je 0x44f45e
cmp edx, 0xfef5751f
jne 0x44f400
mov edx, dword [esi + 4]
mov edx, 0x116ab669
jmp 0x44f400
cmp edx, 0xff38d630
je 0x44f3f1
cmp edx, 0x116ab669
je 0x44f462
cmp edx, 0x17e23197
jne 0x44f400
mov edx, dword [esi + 4]
cmp dword [edx + 0x14], 0x10
mov edx, 0x8e14a9ab
mov ebx, 0xae9be2ed
cmovae edx, ebx
jmp 0x44f400
mov edx, ecx
jmp 0x44f400
mov edx, dword [esi + 4]
mov edx, eax
jmp 0x44f400
cmp byte [eax + edx - 0x25a7cad4], 0x75
jne 0x44f1a0
lea edi, [esi + 0x30]
mov ecx, edi
lea eax, [esi + 8]
push eax
call fcn.00432d20
mov ecx, edi
lea eax, [esi + 0x78]
push eax
call fcn.00432f10
mov ecx, dword [0x5c3fa8]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3fac], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x44f528
or cl, al
test cl, 1
je 0x44f528
lea edi, [esi + 0x30]
mov ecx, edi
lea eax, [esi + 8]
push eax
call fcn.00432d20
mov ecx, edi
lea ebx, [esi + 0x78]
push ebx
call fcn.00432f10
mov ecx, edi
lea eax, [esi + 8]
push eax
call fcn.00432d20
mov ecx, edi
push ebx
call fcn.00432f10
mov eax, dword [0x5c3fa8]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c3fac], 0xa
setl cl
test cl, al
jne 0x44f528
xor cl, al
je 0x44f4c0
jmp 0x44f528
lea ecx, [esi + 8]
call fcn.00539cc0
mov edx, dword [0x5c3fb8]
mov eax, dword [0x5c3fbc]
lea ecx, [edx + 1]
imul ecx, edx
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov edi, 0x6ca8d283
mov ebx, 0xe88306d3
cmovne edi, ebx
test edx, ecx
sete byte [esi + 0x16]
mov ecx, edi
cmove ecx, ebx
cmp eax, 0xa
setl byte [esi + 0x17]
mov eax, dword [esi + 8]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x78]
mov dword [esi + 0x1c], eax
cmovge ecx, edi
mov edi, 0x243324be
nop
cmp edi, 0x243324bd
jg 0x44f5a0
cmp edi, 0x9538d02c
je 0x44f5dc
cmp edi, 0xe88306d3
jne 0x44f580
jmp 0x44f5f0
cmp edi, 0x6ca8d283
je 0x44f5e0
cmp edi, 0x243324be
jne 0x44f580
movzx ebx, byte [esi + 0x16]
movzx eax, byte [esi + 0x17]
mov bh, al
xor bh, bl
test al, al
mov edi, 0x6ca8d283
mov edx, 0x9538d02c
cmovne edi, edx
test bl, bl
mov eax, 0x6ca8d283
cmove edi, eax
test bh, bh
cmovne edi, edx
jmp 0x44f580
mov edi, ecx
jmp 0x44f580
mov edi, 0x9538d02c
jmp 0x44f580
mov eax, dword [esi + 0x1c]
cmp dword [esi + 0x20], eax
sete byte [esi + 4]
movzx eax, byte [esi + 4]
cmp al, 1
je 0x44f710
mov eax, dword [0x5c3fc0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, dword [0x5c3fc4]
sete byte [esi + 0x16]
sete dl
mov ecx, 0x19354864
mov edi, 0x99b50cb6
cmove ecx, edi
cmp eax, 0xa
setl byte [esi + 0x17]
setl al
mov ebx, 0x19354864
cmovge ecx, ebx
xor al, dl
cmovne ecx, edi
mov edx, 0x78873f8d
nop dword [eax]
cmp edx, 0x6bae78ea
jg 0x44f670
cmp edx, 0x99b50cb6
je 0x44f6b0
cmp edx, 0x19354864
jne 0x44f650
mov edx, 0x6bae78eb
jmp 0x44f650
cmp edx, 0x6bae78eb
je 0x44f6a7
cmp edx, 0x78873f8d
jne 0x44f650
movzx eax, byte [esi + 0x16]
movzx edx, byte [esi + 0x17]
mov ah, al
xor ah, dl
mov edi, 0x19354864
mov ebx, 0x6bae78eb
cmovne edi, ebx
test dl, dl
mov edx, edi
cmovne edx, ebx
test al, al
cmove edx, edi
jmp 0x44f650
mov edx, ecx
jmp 0x44f650
mov eax, dword [esi + 0x20]
mov dword [esi + 4], eax
mov edi, dword [esi + 4]
movsx eax, byte [edi]
push eax
call fcn.00599035
add esp, 4
mov ecx, eax
xor cl, 0xf5
and cl, al
mov byte [edi], cl
mov ecx, dword [0x5c3fa8]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3fac], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x44f520
or cl, al
test cl, 1
je 0x44f520
jmp 0x44f760
mov ecx, dword [0x5c3fa8]
mov edx, dword [0x5c3fac]
lea eax, [ecx + 1]
mov dword [esi + 0x2c], ecx
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
test ecx, eax
sete al
mov dword [esi + 0x24], edx
cmp edx, 0xa
setl cl
test cl, al
jne 0x44f1a0
xor cl, al
jne 0x44f1a0
nop dword [eax + eax]
jmp 0x44f750
jmp 0x44f760
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 0x44f78e
or cl, al
jne 0x44f860
mov eax, dword [0x5c3fb0]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
setne al
cmp dword [0x5c3fb4], 0xa
setge cl
mov edx, ecx
xor dl, al
or cl, al
xor cl, 1
or cl, dl
mov eax, 0xff38d630
mov edx, 0xfef5751f
cmove eax, edx
mov ecx, 0x116ab669
cmove ecx, edx
lea edx, [esi + 0x30]
mov dword [esi + 4], edx
mov edi, 0x17e23197
mov ebx, dword [esi + 4]
mov edx, 0xae9be2ed
nop word cs:[eax + eax]
cmp edi, 0xff38d62f
jg 0x44f820
cmp edi, 0x8e14a9ab
je 0x44f862
cmp edi, 0xae9be2ed
je 0x44f850
cmp edi, 0xfef5751f
jne 0x44f7f0
mov edi, 0x116ab669
jmp 0x44f856
cmp edi, 0xff38d630
je 0x44f849
cmp edi, 0x116ab669
je 0x44f854
cmp edi, 0x17e23197
jne 0x44f7f0
mov edi, dword [esi + 4]
cmp dword [edi + 0x14], 0x10
mov edi, 0x8e14a9ab
cmovae edi, edx
jmp 0x44f7f0
mov edi, 0x8e14a9ab
jmp 0x44f7f0
mov edi, ecx
jmp 0x44f7f0
mov edi, eax
mov ebx, dword [esi + 4]
mov ebx, dword [ebx]
jmp 0x44f7f0
jmp 0x44f860
cmp byte [ebx + 0xd7], 0x31
jne 0x44f974
lea edx, [esi + 0x30]
mov dword [esi + 4], edx
mov edi, 0x17e23197
mov ebx, dword [esi + 4]
mov edx, 0xae9be2ed
nop word cs:[eax + eax]
cmp edi, 0xff38d62f
jg 0x44f8c0
cmp edi, 0x8e14a9ab
je 0x44f8fd
cmp edi, 0xae9be2ed
je 0x44f8f0
cmp edi, 0xfef5751f
jne 0x44f890
mov edi, 0x116ab669
jmp 0x44f8f6
cmp edi, 0xff38d630
je 0x44f8e9
cmp edi, 0x116ab669
je 0x44f8f4
cmp edi, 0x17e23197
jne 0x44f890
mov edi, dword [esi + 4]
cmp dword [edi + 0x14], 0x10
mov edi, 0x8e14a9ab
cmovae edi, edx
jmp 0x44f890
mov edi, 0x8e14a9ab
jmp 0x44f890
mov edi, ecx
jmp 0x44f890
mov edi, eax
mov ebx, dword [esi + 4]
mov ebx, dword [ebx]
jmp 0x44f890
cmp byte [ebx + 0x2d0], 0x30
jne 0x44f974
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov ecx, dword [0x5c3fa8]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3fac], 0xa
setge cl
setl ch
xor ch, dl
jne 0x44f974
or cl, al
test cl, 1
je 0x44f974
mov edi, dword [sym.imp.KERNEL32.dll_Beep]
push 0
push 0
call edi
push 0
push 0
call edi
mov ecx, dword [0x5c3fa8]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3fac], 0xa
setge cl
setl ch
xor ch, dl
jne 0x44f974
or cl, al
test cl, 1
jne 0x44f93f
lea ecx, [esi + 0x30]
call fcn.0040ae90
mov eax, dword [0x5c3fa8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x5c3fac], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x44f9e6
or cl, al
je 0x44f9e6
lea edi, [esi + 0x30]
nop dword [eax]
mov ecx, edi
call fcn.0040ae90
mov ecx, edi
call fcn.0040ae90
mov eax, dword [0x5c3fa8]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c3fac], 0xa
setl cl
test cl, al
jne 0x44f9e6
xor cl, al
je 0x44f9b0
mov dword [esi + 0xbc], esp
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne cl
cmp dword [0x5c4084], 0xa
setge al
mov edx, eax
xor dl, cl
or al, cl
xor al, 1
or al, dl
mov byte [esi + 0x10], al
nop dword [eax + eax]
push eax
sub esp, 8
mov dword [esi + 0x18], esp
sub esp, 0xc
mov dword [esi + 0x1c], esp
sub esp, 0x10
mov edx, esp
and edx, 0xfffffff8
mov esp, edx
push eax
mov dword [esi + 0x2c], esp
sub esp, 0xc
mov eax, esp
sub esp, 0x10
mov edi, esp
and edi, 0xfffffff8
mov esp, edi
push eax
mov ecx, esp
push eax
mov ebx, esp
push eax
mov dword [esi + 0x20], esp
cmp byte [esi + 0x10], 0
je 0x44fa20
mov dword [esi + 0x8c], ebx
mov dword [esi + 0x7c], ecx
mov dword [esi + 0x64], eax
lea eax, [edx + 0x10]
mov dword [esi + 0x90], eax
mov dword [esi + 0x88], edi
lea eax, [edi + 0x10]
mov dword [esi + 0x9c], eax
mov edi, 0xa
mov eax, dword [esi + 0x18]
cmp edi, 0x1f3
ja 0x450922
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
lea eax, [edi + 1]
imul edi, eax
shr edi, 1
mov dword [esi + 0xb8], eax
shr eax, 1
mov dword [esi + 0x10], eax
mov dword [esi + 0xc], 0
mov eax, dword [0x5c4080]
mov dword [esi + 0x6c], eax
mov ebx, dword [0x5c4084]
mov dword [esi + 0x94], edx
mov dword [esi + 0xa0], edi
nop word [eax + eax]
mov ecx, dword [esi + 0x6c]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
and ecx, eax
mov dword [esi + 0x84], ecx
sete al
mov dword [esi + 0x54], ebx
cmp ebx, 0xa
setl cl
test cl, al
jne 0x44fb0e
xor cl, al
je 0x4508e0
mov edx, dword [esi + 0x10]
mov eax, edx
imul eax, dword [esi + 0xc]
mulx ecx, ebx, edx
add eax, eax
add eax, ecx
cmp ebx, edi
sbb eax, 0
jae 0x45021f
sub edi, edx
mov dword [esi + 0x50], edi
mov edi, edx
mov ecx, 0
mov ebx, dword [esi + 0xc]
sbb ecx, ebx
mov dword [esi + 0xa4], ecx
mov dword [esi + 0x10], edx
add edi, 1
adc ebx, 0
push ebx
push edi
push ecx
push dword [esi + 0x50]
call fcn.005893d0
mov dword [esi + 0x24], edx
mov edx, eax
mulx ecx, edx, edi
mov dword [esi + 0x98], edx
mov dword [esi + 0x70], eax
mov edx, eax
mov dword [esi + 0x68], ebx
imul edx, ebx
add ecx, edx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x60], edi
imul edx, edi
add edx, ecx
mov ecx, dword [esi + 0x50]
sub ecx, dword [esi + 0x98]
mov edi, dword [esi + 0xa4]
sbb edi, edx
or edi, ecx
mov edi, dword [esi + 0x2c]
mov edx, dword [esi + 0x94]
mov ebx, dword [esi + 0x54]
mov ecx, dword [esi + 0x84]
jne 0x4501e1
mov ecx, dword [esi + 0x10]
mov dword [edx], ecx
mov ecx, dword [esi + 0xc]
mov dword [edx + 4], ecx
mov eax, dword [esi + 0x70]
mov dword [edx + 8], eax
mov eax, dword [esi + 0x24]
mov dword [edx + 0xc], eax
mov dword [esi + 0xd8], 1
mov ecx, dword [esi + 0x1c]
push edi
push dword [esi + 0x90]
push edx
call fcn.00587bf0
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 4]
cmp ecx, 0xa
setl byte [esi + 0x30]
mov eax, 0x5a1cc736
mov ebx, dword [esi + 0x10]
mov ecx, dword [esi + 0x18]
nop dword [eax]
cmp eax, 0x1583cd3a
jg 0x44fc30
cmp eax, 0xb018ea81
je 0x44fc98
cmp eax, 0xf7175d7a
jne 0x44fc10
jmp 0x44fce8
cmp eax, 0x1583cd3b
je 0x44fc40
cmp eax, 0x5a1cc736
jne 0x44fc10
jmp 0x44fcb7
mov dword [esi + 0xd8], 3
push dword [esi + 0x1c]
call fcn.004330f0
mov ebx, dword [esi + 0x10]
mov eax, dword [0x5c4088]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
mov eax, 0xb018ea81
mov ecx, 0xf7175d7a
cmove eax, ecx
cmp dword [0x5c408c], 0xa
mov ecx, 0xb018ea81
cmovge eax, ecx
setl cl
xor cl, dl
mov ecx, 0xf7175d7a
cmovne eax, ecx
jmp 0x44fc06
mov dword [esi + 0xd8], 3
push dword [esi + 0x1c]
call fcn.004330f0
mov eax, 0x1583cd3b
mov ebx, dword [esi + 0x10]
jmp 0x44fc06
movzx eax, byte [esi + 4]
movzx ecx, byte [esi + 0x30]
mov edx, eax
xor dl, cl
test cl, cl
mov ecx, 0xb018ea81
mov ebx, 0x1583cd3b
cmovne ecx, ebx
test al, al
mov eax, 0xb018ea81
cmove ecx, eax
mov eax, ecx
test dl, dl
cmovne eax, ebx
jmp 0x44fc03
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c4084], 0xa
setl cl
test cl, al
jne 0x44fd20
xor cl, al
je 0x44fe6d
nop word cs:[eax + eax]
mov edx, dword [0x5c4090]
mov ecx, dword [0x5c4094]
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, 0x80c66156
mov edi, 0x766d7330
cmovne edx, edi
cmp eax, 0xffffffff
sete byte [esi + 8]
mov eax, edx
cmove eax, edi
mov edi, dword [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 4]
cmovge eax, edx
mov ecx, 0xf2325ac5
mov edx, dword [esi + 0x70]
nop word cs:[eax + eax]
cmp ecx, 0x46df2eda
jle 0x44fda0
cmp ecx, 0x46df2edb
je 0x44fddd
cmp ecx, 0x766d7330
jne 0x44fd80
jmp 0x44fde8
cmp ecx, 0x80c66156
je 0x44fde1
cmp ecx, 0xf2325ac5
jne 0x44fd80
movzx edx, byte [esi + 8]
movzx ecx, byte [esi + 4]
mov ch, dl
xor ch, cl
mov edi, 0x80c66156
mov ebx, 0x46df2edb
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
mov edx, dword [esi + 0x70]
cmove ecx, edi
mov edi, dword [esi + 0x24]
jmp 0x44fd80
mov ecx, eax
jmp 0x44fd80
mov ecx, 0x46df2edb
jmp 0x44fd80
mov ecx, dword [esi + 0x1c]
mov dword [esi + 0x30], ecx
mov eax, dword [esi + 0x30]
mov eax, dword [ecx]
test eax, eax
je 0x44fe23
mov ecx, dword [esi + 0x1c]
mov ecx, dword [ecx + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
mov edx, dword [esi + 0x70]
mov eax, dword [esi + 0x1c]
add esp, 8
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov ebx, dword [esi + 0x88]
mov dword [ebx], edx
mov dword [ebx + 4], edi
mov edi, dword [esi + 0x10]
mov dword [ebx + 8], edi
mov ecx, dword [0x5c4080]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c4084], 0xa
mov ecx, dword [esi + 0xc]
mov dword [ebx + 0xc], ecx
setl ch
setge cl
cmp ch, dl
jne 0x44ff90
mov ebx, edi
or cl, al
test cl, 1
je 0x44ff90
mov eax, dword [0x5c4090]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, dword [0x5c4094]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 8]
sete cl
mov eax, 0x80c66156
mov edi, 0x766d7330
cmove eax, edi
cmp edx, 0xa
setl byte [esi + 4]
setl dl
mov edi, 0x80c66156
cmovge eax, edi
mov edi, dword [esi + 0x24]
xor dl, cl
mov ecx, 0x766d7330
cmovne eax, ecx
mov ecx, 0xf2325ac5
mov edx, dword [esi + 0xc]
jmp 0x44fed0
mov ecx, eax
nop word cs:[eax + eax]
cmp ecx, 0x46df2eda
jle 0x44fef0
cmp ecx, 0x46df2edb
je 0x44fec3
cmp ecx, 0x766d7330
jne 0x44fed0
jmp 0x44ff3c
cmp ecx, 0x80c66156
je 0x44ff35
cmp ecx, 0xf2325ac5
jne 0x44fed0
movzx edx, byte [esi + 8]
movzx ecx, byte [esi + 4]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0x80c66156
mov ebx, 0x46df2edb
cmovne ecx, ebx
test dl, dl
mov edi, 0x80c66156
cmove ecx, edi
mov edi, dword [esi + 0x24]
test dh, dh
mov edx, dword [esi + 0xc]
cmovne ecx, ebx
mov ebx, dword [esi + 0x10]
jmp 0x44fed0
mov ecx, 0x46df2edb
jmp 0x44fed0
mov ecx, dword [esi + 0x1c]
mov dword [esi + 0x30], ecx
mov eax, dword [esi + 0x30]
mov eax, dword [ecx]
test eax, eax
je 0x44ff77
mov ecx, dword [esi + 0x1c]
mov ecx, dword [ecx + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
mov edx, dword [esi + 0xc]
mov eax, dword [esi + 0x1c]
add esp, 8
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov eax, dword [esi + 0x70]
mov ecx, dword [esi + 0x88]
mov dword [ecx], eax
mov dword [ecx + 4], edi
mov dword [ecx + 8], ebx
mov dword [ecx + 0xc], edx
jmp 0x44fd20
mov dword [esi + 0xd8], 1
mov ecx, dword [esi + 0x64]
push dword [esi + 0x7c]
push dword [esi + 0x9c]
push dword [esi + 0x88]
call fcn.00587bf0
mov ecx, dword [0x5c4080]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c4084], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x44ffde
or cl, al
test cl, 1
jne 0x450910
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 4]
cmp ecx, 0xa
setl byte [esi + 0x30]
mov ebx, 0x5a1cc736
mov ecx, dword [esi + 0x18]
nop word [eax + eax]
cmp ebx, 0x1583cd3a
jg 0x450040
cmp ebx, 0xb018ea81
je 0x4500c8
cmp ebx, 0xf7175d7a
jne 0x450010
jmp 0x4500e4
cmp ebx, 0x1583cd3b
je 0x450077
cmp ebx, 0x5a1cc736
jne 0x450010
movzx eax, byte [esi + 4]
movzx ecx, byte [esi + 0x30]
mov edx, eax
xor dl, cl
mov edx, 0xb018ea81
mov edi, 0x1583cd3b
cmovne edx, edi
test cl, cl
mov ebx, edx
cmovne ebx, edi
test al, al
cmove ebx, edx
jmp 0x450007
mov dword [esi + 0xd8], 2
push dword [esi + 0x64]
call fcn.004330f0
mov eax, dword [0x5c4088]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov ebx, 0xb018ea81
mov edx, 0xf7175d7a
cmove ebx, edx
cmp dword [0x5c408c], 0xa
mov ecx, 0xb018ea81
cmovge ebx, ecx
setl cl
xor cl, al
cmovne ebx, edx
jmp 0x450007
mov dword [esi + 0xd8], 2
push dword [esi + 0x64]
call fcn.004330f0
mov ebx, 0x1583cd3b
jmp 0x450007
mov edx, dword [0x5c4090]
mov ecx, dword [0x5c4094]
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, 0x80c66156
mov ebx, 0x766d7330
cmovne edi, ebx
test edx, eax
sete byte [esi + 8]
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 4]
cmovge eax, edi
mov ecx, 0xf2325ac5
nop
cmp ecx, 0x46df2eda
jle 0x450150
cmp ecx, 0x46df2edb
je 0x450187
cmp ecx, 0x766d7330
jne 0x450130
jmp 0x450192
cmp ecx, 0x80c66156
je 0x45018b
cmp ecx, 0xf2325ac5
jne 0x450130
movzx edx, byte [esi + 8]
movzx ecx, byte [esi + 4]
mov ch, dl
xor ch, cl
mov edi, 0x80c66156
mov ebx, 0x46df2edb
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x450130
mov ecx, eax
jmp 0x450130
mov ecx, 0x46df2edb
jmp 0x450130
mov ecx, dword [esi + 0x64]
mov dword [esi + 0x30], ecx
mov eax, dword [esi + 0x30]
mov eax, dword [ecx]
test eax, eax
je 0x4501ca
mov ecx, dword [esi + 0x64]
mov ecx, dword [ecx + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
mov eax, dword [esi + 0x64]
add esp, 8
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov eax, dword [0x5c4080]
mov ebx, dword [0x5c4084]
lea ecx, [eax + 1]
mov dword [esi + 0x6c], eax
imul ecx, eax
and ecx, 1
test ecx, ecx
sete al
cmp ebx, 0xa
setl cl
mov edi, dword [esi + 0x60]
mov dword [esi + 0x10], edi
mov edi, dword [esi + 0x68]
mov dword [esi + 0xc], edi
test al, cl
mov edi, dword [esi + 0xa0]
jne 0x44fae0
xor al, cl
mov eax, dword [esi + 0x60]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x68]
mov dword [esi + 0xc], eax
jne 0x44fae0
jmp 0x4508f0
mov dword [esi + 0x84], 1
mov ecx, dword [esi + 0x18]
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov ecx, edx
sub ecx, eax
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
mov ebx, dword [esi + 0x84]
mov edi, ebx
cmp ebx, ecx
mov ecx, ebx
jb 0x45025e
jmp 0x450580
mov edx, dword [esi + 0x68]
mov ecx, edx
test edx, edx
je 0x450559
mov eax, dword [0x5c4098]
mov ebx, dword [0x5c409c]
lea edi, [eax + 1]
imul edi, eax
mov eax, edi
and eax, 1
sete al
cmp ebx, 0xa
setl dl
xor dl, al
mov eax, 0x6675f964
mov edx, 0x7862661b
cmovne eax, edx
and edi, 1
mov dword [esi + 0x24], edi
sete byte [esi + 8]
mov edi, eax
cmove edi, edx
mov dword [esi + 0xc], ebx
cmp ebx, 0xa
setl byte [esi + 4]
cmovge edi, eax
mov dword [esi + 0x10], edi
mov eax, dword [esi + 0x18]
mov edx, dword [eax]
lea eax, [ecx + ecx*2]
lea eax, [edx + eax*4]
mov dword [esi + 0x70], eax
mov eax, 0xd6d6a098
nop
cmp eax, 0x6675f963
jle 0x4502e0
cmp eax, 0x6675f964
je 0x45031f
cmp eax, 0x7862661b
jne 0x4502c0
jmp 0x45032b
cmp eax, 0xd0a3dc29
je 0x450326
cmp eax, 0xd6d6a098
jne 0x4502c0
movzx ebx, byte [esi + 8]
movzx eax, byte [esi + 4]
mov ah, bl
xor ah, al
mov edi, 0x6675f964
mov dword [esi + 0x50], edx
mov edx, ecx
mov ecx, 0xd0a3dc29
cmovne edi, ecx
test al, al
mov eax, edi
cmovne eax, ecx
mov ecx, edx
mov edx, dword [esi + 0x50]
test bl, bl
cmove eax, edi
jmp 0x4502c0
mov eax, 0xd0a3dc29
jmp 0x4502c0
mov eax, dword [esi + 0x10]
jmp 0x4502c0
dec ecx
cmp dword [esi + 0x24], 0
mov eax, dword [esi + 0x70]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
mov ebx, dword [eax]
mov edi, dword [eax + 4]
sete byte [esi + 8]
cmp dword [esi + 0xc], 0xa
setl byte [esi + 4]
mov dword [esi + 0x68], ecx
lea eax, [ecx + ecx*2]
lea eax, [edx + eax*4]
mov dword [esi + 0x50], eax
mov eax, 0xd6d6a098
nop dword [eax]
cmp eax, 0x6675f963
jle 0x450380
cmp eax, 0x6675f964
je 0x4503bb
cmp eax, 0x7862661b
jne 0x450360
jmp 0x4503c7
cmp eax, 0xd0a3dc29
je 0x4503c2
cmp eax, 0xd6d6a098
jne 0x450360
mov dword [esi + 0x60], ebx
movzx ebx, byte [esi + 8]
movzx eax, byte [esi + 4]
mov ah, bl
xor ah, al
mov edx, 0x6675f964
mov ecx, 0xd0a3dc29
cmovne edx, ecx
test al, al
mov eax, edx
cmovne eax, ecx
test bl, bl
mov ebx, dword [esi + 0x60]
cmove eax, edx
jmp 0x450360
mov eax, 0xd0a3dc29
jmp 0x450360
mov eax, dword [esi + 0x10]
jmp 0x450360
mov eax, dword [esi + 0x50]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
cmp ebx, dword [eax]
sbb edi, dword [eax + 4]
jge 0x450549
cmp dword [esi + 0x24], 0
sete byte [esi + 8]
cmp dword [esi + 0xc], 0xa
setl byte [esi + 4]
mov edi, 0xd6d6a098
nop word cs:[eax + eax]
cmp edi, 0x6675f963
jle 0x450420
cmp edi, 0x6675f964
je 0x45045c
cmp edi, 0x7862661b
jne 0x450400
jmp 0x450468
cmp edi, 0xd0a3dc29
je 0x450463
cmp edi, 0xd6d6a098
jne 0x450400
movzx eax, byte [esi + 8]
movzx edx, byte [esi + 4]
mov ah, dl
xor ah, al
test dl, dl
mov edi, 0x6675f964
mov ecx, 0xd0a3dc29
cmovne edi, ecx
test al, al
mov edx, 0x6675f964
cmove edi, edx
test ah, ah
cmovne edi, ecx
jmp 0x450400
mov edi, 0xd0a3dc29
jmp 0x450400
mov edi, dword [esi + 0x10]
jmp 0x450400
cmp dword [esi + 0x24], 0
mov eax, dword [esi + 0x50]
mov dword [esi + 0x30], eax
mov ebx, dword [esi + 0x30]
sete byte [esi + 8]
cmp dword [esi + 0xc], 0xa
setl byte [esi + 4]
mov ecx, 0xd6d6a098
nop word cs:[eax + eax]
cmp ecx, 0x6675f963
jle 0x4504b0
cmp ecx, 0x6675f964
je 0x4504ec
cmp ecx, 0x7862661b
jne 0x450490
jmp 0x4504f8
cmp ecx, 0xd0a3dc29
je 0x4504f3
cmp ecx, 0xd6d6a098
jne 0x450490
movzx eax, byte [esi + 8]
movzx ecx, byte [esi + 4]
mov edx, ecx
xor dl, al
test cl, cl
mov ecx, 0x6675f964
mov edi, 0xd0a3dc29
cmovne ecx, edi
test al, al
mov eax, 0x6675f964
cmove ecx, eax
test dl, dl
cmovne ecx, edi
jmp 0x450490
mov ecx, 0xd0a3dc29
jmp 0x450490
mov ecx, dword [esi + 0x10]
jmp 0x450490
mov eax, dword [esi + 0x70]
mov dword [esi + 0x30], eax
mov ecx, dword [esi + 0x30]
push ebx
call fcn.00434540
mov eax, dword [0x5c4080]
mov edx, dword [0x5c4084]
lea ecx, [eax + 1]
mov dword [esi + 0x6c], eax
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
and eax, ecx
setne cl
sete ch
mov dword [esi + 0x54], edx
cmp edx, 0xa
setge dl
setl dh
xor dh, ch
jne 0x450251
or dl, cl
je 0x450251
jmp 0x450900
mov eax, dword [esi + 0x6c]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
and eax, ecx
inc dword [esi + 0x84]
test eax, eax
sete al
cmp dword [esi + 0x54], 0xa
setl cl
test al, cl
jne 0x450229
xor al, cl
jne 0x450229
jmp 0x450920
mov ecx, dword [esi + 0x8c]
mov dword [ecx], eax
cmp eax, edx
mov dword [esi + 0xc], edx
jne 0x4505c4
mov edi, dword [esi + 0x18]
mov ecx, edi
call fcn.0041e120
mov eax, edi
mov edi, dword [esi + 0xb8]
mov edx, dword [esi + 0x94]
cmp edi, 0x1f3
jbe 0x44fa92
jmp 0x450922
mov eax, dword [esi + 0x30]
mov eax, dword [ecx]
mov edx, dword [esi + 0xc]
cmp eax, edx
je 0x45058f
mov ecx, dword [0x5c4080]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete dl
cmp dword [0x5c4084], 0xa
setl cl
or cl, dl
cmp cl, 1
jne 0x4507d9
mov edx, dword [eax]
mov edi, dword [esi + 0x20]
mov dword [edi], edx
test cl, cl
je 0x4507d9
mov eax, dword [eax + 4]
mov dword [esi + 0x10], eax
jmp 0x450613
mov eax, dword [esi + 0x30]
mov eax, dword [0x5c40a0]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, dword [0x5c40a4]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 4]
sete cl
mov eax, 0x3365058b
mov ebx, 0xc1fd3d12
cmove eax, ebx
cmp edx, 0xa
setl byte [esi + 0x30]
setl dl
mov edi, 0x3365058b
cmovge eax, edi
xor dl, cl
cmovne eax, ebx
mov ecx, 0x52166c0c
nop dword [eax]
cmp ecx, 0x52166c0b
jg 0x450680
cmp ecx, 0xc1fd3d12
je 0x4506c0
cmp ecx, 0x3365058b
jne 0x450660
mov ecx, 0x7b4463f8
jmp 0x450660
cmp ecx, 0x7b4463f8
je 0x4506b7
cmp ecx, 0x52166c0c
jne 0x450660
movzx edx, byte [esi + 4]
movzx ecx, byte [esi + 0x30]
mov ch, dl
xor ch, cl
mov ebx, 0x3365058b
mov edi, 0x7b4463f8
cmovne ebx, edi
test cl, cl
mov ecx, ebx
cmovne ecx, edi
test dl, dl
cmove ecx, ebx
jmp 0x450660
mov ecx, eax
jmp 0x450660
mov eax, dword [esi + 0x20]
mov eax, dword [eax]
cmp eax, dword [esi + 0x10]
je 0x4507e5
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 0x4506ef
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 8]
cmp ecx, 0xa
setl byte [esi + 4]
mov eax, 0x74ccc71d
nop word [eax + eax]
cmp eax, 0x590bba56
jg 0x450750
cmp eax, 0xc76c0d8d
je 0x45078e
cmp eax, 0x1f2e313
jne 0x450720
mov eax, dword [esi + 0x20]
add dword [eax], 8
mov eax, 0xc76c0d8d
jmp 0x450720
cmp eax, 0x590bba57
je 0x450610
cmp eax, 0x74ccc71d
jne 0x450720
movzx ecx, byte [esi + 8]
movzx eax, byte [esi + 4]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x1f2e313
mov edi, 0xc76c0d8d
cmovne eax, edi
test cl, cl
mov ecx, 0x1f2e313
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x450720
mov eax, dword [esi + 0x20]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x30]
add dword [eax], 8
mov eax, dword [0x5c40a8]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x1f2e313
mov edi, 0x590bba57
cmove eax, edi
cmp dword [0x5c40ac], 0xa
mov edx, 0x1f2e313
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x450720
mov edx, dword [eax]
mov edi, dword [esi + 0x20]
mov dword [edi], edx
jmp 0x4505ef
mov eax, dword [0x5c40b0]
mov ecx, dword [0x5c40b4]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 8]
cmp ecx, 0xa
setl byte [esi + 4]
mov eax, 0x1d5864bd
mov ecx, dword [esi + 0x8c]
nop word cs:[eax + eax]
cmp eax, 0x3e63df80
jle 0x450840
cmp eax, 0x3e63df81
je 0x450858
cmp eax, 0x5632c42c
jne 0x450820
jmp 0x4505b8
cmp eax, 0x1d5864bd
je 0x4508a6
cmp eax, 0x3ce7f0d1
jne 0x450820
add dword [ecx], 0xc
mov eax, 0x3e63df81
jmp 0x450820
mov dword [esi + 0x30], ecx
mov eax, dword [esi + 0x30]
add dword [eax], 0xc
mov eax, dword [0x5c40b0]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x3ce7f0d1
mov edi, 0x5632c42c
cmove eax, edi
cmp dword [0x5c40b4], 0xa
mov edx, 0x3ce7f0d1
cmovge eax, edx
setl dl
xor dl, cl
mov ecx, dword [esi + 0x8c]
cmovne eax, edi
jmp 0x450820
movzx ecx, byte [esi + 8]
movzx eax, byte [esi + 4]
mov edx, ecx
xor dl, al
mov edx, 0x3ce7f0d1
mov edi, 0x3e63df81
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
mov ecx, dword [esi + 0x8c]
cmove eax, edx
jmp 0x450820
jmp 0x4508e0
jmp 0x4508f0
jmp 0x450900
jmp 0x450910
jmp 0x450920
mov esp, dword [esi + 0xbc]
mov eax, dword [0x5c40b8]
mov ecx, dword [0x5c40bc]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete al
cmp ecx, 0xa
setl ah
xor ah, al
mov eax, 0x17be3150
mov edi, 0x88d04c0d
cmovne edi, eax
cmp edx, 0xffffffff
sete byte [esi + 4]
cmovne eax, edi
cmp ecx, 0xa
setl byte [esi + 0x30]
cmovge eax, edi
mov edx, 0xacaa3876
mov ecx, 0x2e60b043
cmp edx, 0x17be314f
jg 0x4509b1
cmp edx, 0x88d04c0d
je 0x4509c5
cmp edx, 0xacaa3876
jne 0x450977
movzx ebx, byte [esi + 4]
movzx edx, byte [esi + 0x30]
mov dh, bl
xor dh, dl
mov edi, 0x88d04c0d
cmovne edi, ecx
test dl, dl
mov edx, edi
cmovne edx, ecx
test bl, bl
cmove edx, edi
jmp 0x450977
cmp edx, 0x17be3150
je 0x4509cc
cmp edx, 0x2e60b043
jne 0x450977
mov edx, eax
jmp 0x450977
mov edx, 0x2e60b043
jmp 0x450977
mov esp, dword [esi + 0x80]
vxorps xmm0, xmm0, xmm0
mov edi, dword [esi + 0xa8]
vmovups ymmword [edi], ymm0
mov dword [edi + 0x24], 0
mov eax, dword [0x5c40c0]
mov ecx, dword [0x5c40c4]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 8]
cmp ecx, 0xa
setl byte [esi + 4]
mov dword [edi + 0x20], 0
mov edx, 0xef1c1ad8
mov ecx, 0x8fe12209
cmp edx, 0xd765e6ac
jg 0x450a61
cmp edx, 0x8fe12209
je 0x450afe
cmp edx, 0xa57bbcbd
jne 0x450a1c
mov eax, 0x459e8808
mov edx, 0x391a041a
mov edi, dword [esi + 0x74]
mov dword [edi + 4], eax
mov dword [edi], edx
mov eax, 0x4717f6ea
mov edx, 0xfcdf3127
mov dword [edi + 0xc], eax
mov dword [edi + 8], edx
mov edx, 0xd765e6ad
jmp 0x450a1c
cmp edx, 0xd765e6ad
je 0x450a98
cmp edx, 0xef1c1ad8
jne 0x450a1c
movzx ebx, byte [esi + 8]
movzx edx, byte [esi + 4]
mov dh, bl
xor dh, dl
mov edi, 0xa57bbcbd
mov eax, 0xd765e6ad
cmovne edi, eax
test dl, dl
mov edx, edi
cmovne edx, eax
test bl, bl
cmove edx, edi
jmp 0x450a1c
mov eax, dword [esi + 0x74]
mov dword [esi + 0x30], eax
mov edx, dword [esi + 0x30]
mov edi, 0x459e8808
mov ebx, 0x391a041a
mov dword [edx + 4], edi
mov dword [edx], ebx
mov edi, 0x4717f6ea
mov ebx, 0xfcdf3127
mov dword [edx + 0xc], edi
mov dword [edx + 8], ebx
mov ebx, dword [0x5c40c0]
mov edi, dword [0x5c40c4]
lea edx, [ebx + 1]
imul edx, ebx
mov ebx, edx
xor ebx, 0xfffffffe
test ebx, edx
sete al
cmp edi, 0xa
setl ah
xor ah, al
mov eax, 0xa57bbcbd
cmovne eax, ecx
test ebx, edx
mov edx, eax
cmove edx, ecx
cmp edi, 0xa
cmovge edx, eax
jmp 0x450a1c
mov eax, dword [esi + 0x30]
mov eax, 0x557b6745
mov ecx, 0x20e9d76b
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov eax, 0x88b7564e
mov ecx, 0x4717f6ea
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x38], eax
xor eax, eax
lea ecx, [esi + 0x30]
vmovaps xmm0, xmmword [ecx]
mov eax, dword [esi + 0x74]
vmovaps xmm1, xmmword [eax]
vandnps xmm2, xmm1, xmm0
vandnps xmm0, xmm0, xmm1
vorps xmm0, xmm2, xmm0
vmovaps xmmword [eax], xmm0
vzeroupper
call fcn.005957de
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 + 0x5c]
call fcn.00454580
add esp, 8
mov ecx, dword [0x5c4078]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c407c], 0xa
setge cl
setl ch
xor ch, dl
jne 0x450b9d
or cl, al
test cl, 1
jne 0x44d5a9
mov dword [esi + 0xd8], 4
push dword [esi + 0x74]
push dword [esi + 0x5c]
push dword [esi + 0xb0]
call fcn.00453cc0
add esp, 0xc
mov ecx, dword [esi + 0x5c]
call fcn.0040ae90
mov eax, dword [esi + 0xa8]
mov dword [eax], 3
mov dword [eax + 4], 0x44c450
mov dword [esi + 0xd8], 5
push 0
call fcn.00402520
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 + 0xb0]
call fcn.0044c120
mov dword [esi + 0x90], esp
mov dword [edi + 0x24], eax
mov eax, dword [0x5c40c8]
mov ecx, dword [0x5c40cc]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x28]
cmp ecx, 0xa
setl byte [esi + 0x78]
mov eax, 0xe2b45462
cmp eax, 0x737f2d
jg 0x450c9a
cmp eax, 0xb5d6dba7
je 0x451a92
cmp eax, 0xe2b45462
jne 0x450c5a
movzx ecx, byte [esi + 0x28]
movzx eax, byte [esi + 0x78]
mov edx, ecx
xor dl, al
mov edx, 0x3647e753
mov edi, 0xb5d6dba7
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x450c5a
cmp eax, 0x737f2e
je 0x452874
cmp eax, 0x3647e753
jne 0x450c5a
mov dword [esi + 0x9c], esp
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
test cl, 1
sete dl
cmp dword [0x5c4084], 0xa
setge al
setl ah
xor ah, dl
or al, cl
xor al, 1
or al, ah
mov byte [esi + 0x18], al
push eax
sub esp, 8
mov dword [esi + 0x1c], esp
sub esp, 0xc
mov dword [esi + 0x20], esp
sub esp, 0x10
mov edi, esp
and edi, 0xfffffff8
mov esp, edi
push eax
mov dword [esi + 0x70], esp
sub esp, 0xc
mov dword [esi + 0x10], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov esp, ecx
push eax
mov edx, esp
push eax
mov ebx, esp
push eax
mov eax, esp
test byte [esi + 0x18], 1
je 0x450cdb
mov dword [esi + 0x18], eax
mov dword [esi + 0x7c], ebx
mov dword [esi + 0x94], edx
mov dword [esi + 0x98], edi
lea eax, [edi + 0x10]
mov dword [esi + 0x88], eax
mov dword [esi + 0x64], ecx
lea eax, [ecx + 0x10]
mov dword [esi + 0xa0], eax
mov ecx, 0xa
cmp ecx, 0x1f3
ja 0x451a82
mov eax, dword [esi + 0x1c]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
lea eax, [ecx + 1]
imul ecx, eax
shr ecx, 1
mov dword [esi + 0xa4], ecx
mov dword [esi + 0x8c], eax
shr eax, 1
mov dword [esi + 0xc], eax
mov dword [esi + 0x24], 0
mov eax, dword [0x5c4080]
mov dword [esi + 0x74], eax
mov edi, dword [0x5c4084]
mov ecx, dword [esi + 0x74]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
and ecx, 1
mov dword [esi + 0x5c], ecx
sete dl
mov dword [esi + 0x60], edi
cmp edi, 0xa
setge cl
setl ch
xor ch, dl
jne 0x450dc1
or cl, al
test cl, 1
jne 0x452862
mov edx, dword [esi + 0xc]
mov eax, edx
mov ecx, dword [esi + 0x24]
imul eax, ecx
mulx ebx, edi, edx
add eax, eax
add eax, ebx
mov ebx, dword [esi + 0xa4]
cmp edi, ebx
sbb eax, 0
jae 0x451452
sub ebx, edx
mov dword [esi + 0x54], ebx
mov eax, 0
sbb eax, ecx
mov dword [esi + 0x80], eax
mov edi, edx
add edi, 1
mov ebx, ecx
adc ebx, 0
push ebx
push edi
push eax
push dword [esi + 0x54]
call fcn.005893d0
mov dword [esi + 0x2c], edx
mov edx, eax
mulx ecx, edx, edi
mov dword [esi + 0x84], edx
mov dword [esi + 0x50], eax
mov edx, eax
mov dword [esi + 0x6c], ebx
imul edx, ebx
add ecx, edx
mov edx, dword [esi + 0x2c]
mov dword [esi + 0x68], edi
imul edx, edi
add edx, ecx
mov eax, dword [esi + 0x54]
sub eax, dword [esi + 0x84]
mov ecx, dword [esi + 0x80]
sbb ecx, edx
or ecx, eax
jne 0x45140f
mov eax, dword [esi + 0x98]
mov ecx, dword [esi + 0xc]
mov dword [eax], ecx
mov ecx, dword [esi + 0x24]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x50]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x2c]
mov dword [eax + 0xc], ecx
mov dword [esi + 0xd8], 8
mov ecx, dword [esi + 0x20]
push dword [esi + 0x70]
push dword [esi + 0x88]
push eax
call fcn.00587bf0
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 4]
cmp ecx, 0xa
setl byte [esi + 0x30]
mov edi, 0x5a1cc736
cmp edi, 0x1583cd3a
jg 0x450ecc
cmp edi, 0xb018ea81
je 0x450f08
cmp edi, 0xf7175d7a
jne 0x450eaf
jmp 0x450f78
cmp edi, 0x1583cd3b
je 0x450f24
cmp edi, 0x5a1cc736
jne 0x450eaf
movzx eax, byte [esi + 4]
movzx ecx, byte [esi + 0x30]
mov edx, ecx
xor dl, al
test cl, cl
mov edi, 0xb018ea81
mov ecx, 0x1583cd3b
cmovne edi, ecx
test al, al
mov eax, 0xb018ea81
cmove edi, eax
test dl, dl
cmovne edi, ecx
jmp 0x450eaf
mov dword [esi + 0xd8], 0xa
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x20]
call fcn.004330f0
mov edi, 0x1583cd3b
jmp 0x450eaf
mov dword [esi + 0xd8], 0xa
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x20]
call fcn.004330f0
mov eax, dword [0x5c4088]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov edi, 0xb018ea81
mov edx, 0xf7175d7a
cmove edi, edx
cmp dword [0x5c408c], 0xa
mov ecx, 0xb018ea81
cmovge edi, ecx
setl cl
xor cl, al
cmovne edi, edx
jmp 0x450eaf
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x5c4084], 0xa
setge cl
setl ah
xor ah, dl
jne 0x450fa9
or cl, al
jne 0x4510d2
mov edx, dword [0x5c4090]
mov ecx, dword [0x5c4094]
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, 0x80c66156
mov ebx, 0x766d7330
cmovne edi, ebx
test edx, eax
sete byte [esi + 8]
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 4]
cmovge eax, edi
mov ecx, 0xf2325ac5
cmp ecx, 0x46df2eda
jle 0x45100e
cmp ecx, 0x46df2edb
je 0x45104a
cmp ecx, 0x766d7330
jne 0x450ff4
jmp 0x451055
cmp ecx, 0x80c66156
je 0x45104e
cmp ecx, 0xf2325ac5
jne 0x450ff4
movzx edx, byte [esi + 8]
movzx ecx, byte [esi + 4]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0x80c66156
mov ebx, 0x46df2edb
cmovne ecx, ebx
test dl, dl
mov edi, 0x80c66156
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x450ff4
mov ecx, eax
jmp 0x450ff4
mov ecx, 0x46df2edb
jmp 0x450ff4
mov edi, dword [esi + 0x20]
mov dword [esi + 0x30], edi
mov eax, dword [esi + 0x30]
mov eax, dword [edi]
test eax, eax
je 0x451087
mov ecx, dword [edi + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
add esp, 8
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov ecx, dword [0x5c4080]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c4084], 0xa
setge cl
setl ch
xor ch, dl
mov edx, dword [esi + 0x64]
mov edi, dword [esi + 0x50]
mov dword [edx], edi
mov edi, dword [esi + 0x2c]
mov dword [edx + 4], edi
mov edi, dword [esi + 0xc]
mov dword [edx + 8], edi
mov edi, dword [esi + 0x24]
mov dword [edx + 0xc], edi
jne 0x4511cc
or cl, al
test cl, 1
je 0x4511cc
mov edx, dword [0x5c4090]
mov ecx, dword [0x5c4094]
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, 0x80c66156
mov edi, 0x766d7330
cmovne edx, edi
cmp eax, 0xffffffff
sete byte [esi + 8]
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 4]
cmovge eax, edx
mov ecx, 0xf2325ac5
jmp 0x451123
mov ecx, eax
cmp ecx, 0x46df2eda
jle 0x45113d
cmp ecx, 0x46df2edb
je 0x451121
cmp ecx, 0x766d7330
jne 0x451123
jmp 0x45117b
cmp ecx, 0x80c66156
je 0x451174
cmp ecx, 0xf2325ac5
jne 0x451123
movzx edx, byte [esi + 8]
movzx ecx, byte [esi + 4]
mov ch, dl
xor ch, cl
mov edi, 0x80c66156
mov ebx, 0x46df2edb
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x451123
mov ecx, 0x46df2edb
jmp 0x451123
mov edi, dword [esi + 0x20]
mov dword [esi + 0x30], edi
mov eax, dword [esi + 0x30]
mov eax, dword [edi]
test eax, eax
je 0x4511ad
mov ecx, dword [edi + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
add esp, 8
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov eax, dword [esi + 0x64]
mov ecx, dword [esi + 0x50]
mov dword [eax], ecx
mov ecx, dword [esi + 0x2c]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0xc]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x24]
mov dword [eax + 0xc], ecx
jmp 0x450fa9
mov dword [esi + 0xd8], 8
mov ecx, dword [esi + 0x10]
push dword [esi + 0x94]
push dword [esi + 0xa0]
push dword [esi + 0x64]
call fcn.00587bf0
mov ecx, dword [0x5c4080]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c4084], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x45121a
or cl, al
test cl, 1
jne 0x45286e
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 4]
cmp ecx, 0xa
setl byte [esi + 0x30]
mov ebx, 0x5a1cc736
cmp ebx, 0x1583cd3a
jg 0x451260
cmp ebx, 0xb018ea81
je 0x45129c
cmp ebx, 0xf7175d7a
jne 0x451243
jmp 0x451311
cmp ebx, 0x1583cd3b
je 0x4512b8
cmp ebx, 0x5a1cc736
jne 0x451243
movzx eax, byte [esi + 4]
movzx ecx, byte [esi + 0x30]
mov edx, eax
xor dl, cl
test cl, cl
mov ebx, 0xb018ea81
mov ecx, 0x1583cd3b
cmovne ebx, ecx
test al, al
mov eax, 0xb018ea81
cmove ebx, eax
test dl, dl
cmovne ebx, ecx
jmp 0x451243
mov dword [esi + 0xd8], 9
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x10]
call fcn.004330f0
mov ebx, 0x1583cd3b
jmp 0x451243
mov dword [esi + 0xd8], 9
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x10]
call fcn.004330f0
mov edx, dword [0x5c4088]
mov eax, dword [0x5c408c]
lea ecx, [edx + 1]
imul ecx, edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov edx, 0xb018ea81
mov edi, 0xf7175d7a
cmovne edx, edi
cmp ecx, 0xffffffff
mov ebx, edx
cmove ebx, edi
cmp eax, 0xa
cmovge ebx, edx
jmp 0x451243
mov edx, dword [0x5c4090]
mov ecx, dword [0x5c4094]
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, 0x80c66156
mov ebx, 0x766d7330
cmovne edi, ebx
test edx, eax
sete byte [esi + 8]
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 4]
cmovge eax, edi
mov ecx, 0xf2325ac5
cmp ecx, 0x46df2eda
jle 0x451376
cmp ecx, 0x46df2edb
je 0x4513b2
cmp ecx, 0x766d7330
jne 0x45135c
jmp 0x4513bd
cmp ecx, 0x80c66156
je 0x4513b6
cmp ecx, 0xf2325ac5
jne 0x45135c
movzx edx, byte [esi + 8]
movzx ecx, byte [esi + 4]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x80c66156
mov ebx, 0x46df2edb
cmovne ecx, ebx
test dl, dl
mov edi, 0x80c66156
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x45135c
mov ecx, eax
jmp 0x45135c
mov ecx, 0x46df2edb
jmp 0x45135c
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x30], ecx
mov eax, dword [esi + 0x30]
mov eax, dword [ecx]
test eax, eax
je 0x4513f2
mov edi, dword [esi + 0x10]
mov ecx, dword [edi + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
add esp, 8
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov eax, dword [0x5c4080]
mov ecx, dword [0x5c4084]
mov dword [esi + 0x60], ecx
lea ecx, [eax - 1]
mov dword [esi + 0x74], eax
imul ecx, eax
and ecx, 1
mov dword [esi + 0x5c], ecx
cmp dword [esi + 0x5c], 0
setne al
sete dl
mov edi, dword [esi + 0x60]
cmp edi, 0xa
setge cl
setl ah
xor ah, dl
mov edx, dword [esi + 0x68]
mov dword [esi + 0xc], edx
mov edx, dword [esi + 0x6c]
mov dword [esi + 0x24], edx
jne 0x450d92
or al, cl
mov eax, dword [esi + 0x68]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x6c]
mov dword [esi + 0x24], eax
je 0x450d92
jmp 0x452866
mov dword [esi + 0x80], 1
mov ecx, dword [esi + 0x1c]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esi + 0x2c], ecx
sub ecx, eax
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
mov edx, dword [esi + 0x80]
mov dword [esi + 0x24], edx
cmp edx, ecx
jb 0x45148e
jmp 0x451773
cmp dword [esi + 0x24], 0
je 0x45174c
mov eax, dword [0x5c4098]
mov ecx, dword [0x5c409c]
lea ebx, [eax + 1]
imul ebx, eax
mov edi, ebx
xor edi, 0xfffffffe
test edi, ebx
sete al
cmp ecx, 0xa
setl dl
xor dl, al
mov eax, 0x6675f964
mov edx, 0x7862661b
cmovne eax, edx
mov dword [esi + 0x54], ebx
mov dword [esi + 0x50], edi
test edi, ebx
sete byte [esi + 8]
mov ebx, eax
cmove ebx, edx
mov dword [esi + 0x2c], ecx
cmp ecx, 0xa
cmovge ebx, eax
mov dword [esi + 0xc], ebx
setl byte [esi + 4]
mov eax, dword [esi + 0x1c]
mov ecx, dword [eax]
mov eax, dword [esi + 0x24]
lea edx, [eax + eax*2]
lea eax, [ecx + edx*4]
mov dword [esi + 0x68], eax
mov edx, 0xd6d6a098
cmp edx, 0x6675f963
jle 0x45150f
cmp edx, 0x6675f964
je 0x451546
cmp edx, 0x7862661b
jne 0x4514f5
jmp 0x451552
cmp edx, 0xd0a3dc29
je 0x45154d
cmp edx, 0xd6d6a098
jne 0x4514f5
movzx eax, byte [esi + 8]
movzx edx, byte [esi + 4]
mov ah, al
xor ah, dl
mov edi, 0x6675f964
mov ebx, 0xd0a3dc29
cmovne edi, ebx
test dl, dl
mov edx, edi
cmovne edx, ebx
test al, al
cmove edx, edi
jmp 0x4514f5
mov edx, 0xd0a3dc29
jmp 0x4514f5
mov edx, dword [esi + 0xc]
jmp 0x4514f5
mov edx, dword [esi + 0x24]
dec edx
mov eax, dword [esi + 0x50]
test dword [esi + 0x54], eax
mov eax, dword [esi + 0x68]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
mov edi, dword [eax]
mov dword [esi + 0x5c], edi
mov eax, dword [eax + 4]
mov dword [esi + 0x6c], eax
sete byte [esi + 8]
cmp dword [esi + 0x2c], 0xa
setl byte [esi + 4]
mov dword [esi + 0x24], edx
lea eax, [edx + edx*2]
lea ecx, [ecx + eax*4]
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x4515a3
cmp eax, 0x6675f964
je 0x4515d8
cmp eax, 0x7862661b
jne 0x45158c
jmp 0x4515e4
cmp eax, 0xd0a3dc29
je 0x4515df
cmp eax, 0xd6d6a098
jne 0x45158c
movzx edx, byte [esi + 8]
movzx eax, byte [esi + 4]
mov ah, dl
xor ah, al
mov edi, 0x6675f964
mov ebx, 0xd0a3dc29
cmovne edi, ebx
test al, al
mov eax, edi
cmovne eax, ebx
test dl, dl
cmove eax, edi
jmp 0x45158c
mov eax, 0xd0a3dc29
jmp 0x45158c
mov eax, dword [esi + 0xc]
jmp 0x45158c
mov dword [esi + 0x30], ecx
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
mov edx, dword [esi + 0x5c]
cmp edx, dword [eax]
mov edx, dword [esi + 0x6c]
sbb edx, dword [eax + 4]
jge 0x45173c
mov eax, dword [esi + 0x50]
test dword [esi + 0x54], eax
sete byte [esi + 8]
cmp dword [esi + 0x2c], 0xa
setl byte [esi + 4]
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x45162b
cmp eax, 0x6675f964
je 0x451660
cmp eax, 0x7862661b
jne 0x451614
jmp 0x45166c
cmp eax, 0xd0a3dc29
je 0x451667
cmp eax, 0xd6d6a098
jne 0x451614
movzx edx, byte [esi + 8]
movzx eax, byte [esi + 4]
mov ah, dl
xor ah, al
mov edi, 0x6675f964
mov ebx, 0xd0a3dc29
cmovne edi, ebx
test al, al
mov eax, edi
cmovne eax, ebx
test dl, dl
cmove eax, edi
jmp 0x451614
mov eax, 0xd0a3dc29
jmp 0x451614
mov eax, dword [esi + 0xc]
jmp 0x451614
mov eax, dword [esi + 0x50]
test dword [esi + 0x54], eax
mov dword [esi + 0x30], ecx
mov edx, dword [esi + 0x30]
sete byte [esi + 8]
cmp dword [esi + 0x2c], 0xa
setl byte [esi + 4]
mov ecx, 0xd6d6a098
cmp ecx, 0x6675f963
jle 0x4516a3
cmp ecx, 0x6675f964
je 0x4516df
cmp ecx, 0x7862661b
jne 0x451689
jmp 0x4516eb
cmp ecx, 0xd0a3dc29
je 0x4516e6
cmp ecx, 0xd6d6a098
jne 0x451689
movzx eax, byte [esi + 8]
movzx ecx, byte [esi + 4]
mov ah, cl
xor ah, al
test cl, cl
mov ecx, 0x6675f964
mov ebx, 0xd0a3dc29
cmovne ecx, ebx
test al, al
mov edi, 0x6675f964
cmove ecx, edi
test ah, ah
cmovne ecx, ebx
jmp 0x451689
mov ecx, 0xd0a3dc29
jmp 0x451689
mov ecx, dword [esi + 0xc]
jmp 0x451689
mov eax, dword [esi + 0x68]
mov dword [esi + 0x30], eax
mov ecx, dword [esi + 0x30]
push edx
call fcn.00434540
mov eax, dword [0x5c4080]
mov edx, dword [0x5c4084]
lea ecx, [eax + 1]
mov dword [esi + 0x74], eax
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
and eax, ecx
setne cl
sete ch
mov dword [esi + 0x60], edx
cmp edx, 0xa
setge dl
setl dh
xor dh, ch
jne 0x451484
or dl, cl
je 0x451484
jmp 0x45286a
mov eax, dword [esi + 0x74]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
and eax, ecx
inc dword [esi + 0x80]
test eax, eax
sete al
cmp dword [esi + 0x60], 0xa
setl cl
test cl, al
jne 0x45145c
xor cl, al
jne 0x45145c
jmp 0x452872
mov ecx, dword [esi + 0x7c]
mov dword [ecx], eax
jmp 0x451782
mov eax, dword [esi + 0x30]
mov eax, dword [esi + 0x7c]
mov eax, dword [eax]
cmp eax, dword [esi + 0x2c]
je 0x451a68
mov ecx, dword [0x5c4080]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
setne dl
sete ch
cmp dword [0x5c4084], 0xa
setge cl
setl dh
xor dh, ch
or cl, dl
xor cl, 1
or cl, dh
cmp cl, 1
jne 0x451988
mov edx, dword [eax]
mov edi, dword [esi + 0x18]
mov dword [edi], edx
test cl, cl
je 0x451988
mov eax, dword [eax + 4]
mov dword [esi + 0xc], eax
mov edi, dword [esi + 0x18]
jmp 0x4517e0
mov eax, dword [esi + 0x30]
mov edx, dword [0x5c40a0]
mov ecx, dword [0x5c40a4]
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, 0x3365058b
mov ebx, 0xc1fd3d12
cmovne edx, ebx
cmp eax, 0xffffffff
sete byte [esi + 4]
mov eax, edx
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 0x30]
cmovge eax, edx
mov ecx, 0x52166c0c
cmp ecx, 0x52166c0b
jg 0x45184c
cmp ecx, 0xc1fd3d12
je 0x45188a
cmp ecx, 0x3365058b
jne 0x45182d
mov ecx, 0x7b4463f8
jmp 0x45182d
cmp ecx, 0x7b4463f8
je 0x451886
cmp ecx, 0x52166c0c
jne 0x45182d
movzx edx, byte [esi + 4]
movzx ecx, byte [esi + 0x30]
mov ch, dl
xor ch, cl
mov ebx, 0x3365058b
mov edi, 0x7b4463f8
cmovne ebx, edi
test cl, cl
mov ecx, ebx
cmovne ecx, edi
mov edi, dword [esi + 0x18]
test dl, dl
cmove ecx, ebx
jmp 0x45182d
mov ecx, eax
jmp 0x45182d
mov eax, dword [edi]
cmp eax, dword [esi + 0xc]
je 0x451994
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 0x4518b6
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 8]
cmp ecx, 0xa
setl byte [esi + 4]
mov eax, 0x74ccc71d
cmp eax, 0x590bba56
jg 0x4518fd
cmp eax, 0xc76c0d8d
je 0x451939
cmp eax, 0x1f2e313
jne 0x4518de
add dword [edi], 8
mov eax, 0xc76c0d8d
jmp 0x4518de
cmp eax, 0x590bba57
je 0x4517dd
cmp eax, 0x74ccc71d
jne 0x4518de
movzx ecx, byte [esi + 8]
movzx eax, byte [esi + 4]
mov edx, ecx
xor dl, al
mov edx, 0x1f2e313
mov edi, 0xc76c0d8d
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
mov edi, dword [esi + 0x18]
test cl, cl
cmove eax, edx
jmp 0x4518de
mov dword [esi + 0x30], edi
mov eax, dword [esi + 0x30]
add dword [eax], 8
mov edx, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
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, 0x1f2e313
mov edi, 0x590bba57
cmovne ebx, edi
test edx, eax
mov eax, ebx
cmove eax, edi
mov edi, dword [esi + 0x18]
cmp ecx, 0xa
cmovge eax, ebx
jmp 0x4518de
mov edx, dword [eax]
mov edi, dword [esi + 0x18]
mov dword [edi], edx
jmp 0x4517c3
mov eax, dword [0x5c40b0]
mov ecx, dword [0x5c40b4]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 8]
cmp ecx, 0xa
setl byte [esi + 4]
mov eax, 0x1d5864bd
cmp eax, 0x3e63df80
jle 0x4519d6
cmp eax, 0x3e63df81
je 0x4519f1
cmp eax, 0x5632c42c
jne 0x4519bc
jmp 0x45177a
cmp eax, 0x1d5864bd
je 0x451a39
cmp eax, 0x3ce7f0d1
jne 0x4519bc
mov eax, dword [esi + 0x7c]
add dword [eax], 0xc
mov eax, 0x3e63df81
jmp 0x4519bc
mov eax, dword [esi + 0x7c]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x30]
add dword [eax], 0xc
mov eax, dword [0x5c40b0]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x3ce7f0d1
mov edi, 0x5632c42c
cmove eax, edi
cmp dword [0x5c40b4], 0xa
mov edx, 0x3ce7f0d1
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x4519bc
movzx ecx, byte [esi + 8]
movzx eax, byte [esi + 4]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x3ce7f0d1
mov edi, 0x3e63df81
cmovne eax, edi
test cl, cl
mov ecx, 0x3ce7f0d1
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x4519bc
mov ecx, dword [esi + 0x1c]
call fcn.0041e120
mov ecx, dword [esi + 0x8c]
cmp ecx, 0x1f3
jbe 0x450d4d
mov esp, dword [esi + 0x9c]
mov eax, 0xb5d6dba7
jmp 0x450c5a
mov dword [esi + 0x9c], esp
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmp dword [0x5c4084], 0xa
setl al
or al, cl
mov byte [esi + 0x10], al
push eax
sub esp, 8
mov dword [esi + 0x1c], esp
sub esp, 0xc
mov dword [esi + 0x20], esp
sub esp, 0x10
mov edi, esp
and edi, 0xfffffff8
mov esp, edi
push eax
mov dword [esi + 0x2c], esp
sub esp, 0xc
mov dword [esi + 0x18], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov esp, ecx
push eax
mov edx, esp
push eax
mov ebx, esp
push eax
mov eax, esp
cmp byte [esi + 0x10], 0
je 0x451abd
mov dword [esi + 0x70], eax
mov dword [esi + 0x7c], ebx
mov dword [esi + 0x94], edx
mov dword [esi + 0x98], edi
lea eax, [edi + 0x10]
mov dword [esi + 0x88], eax
mov dword [esi + 0x64], ecx
lea eax, [ecx + 0x10]
mov dword [esi + 0xa0], eax
mov ecx, 0xa
cmp ecx, 0x1f3
ja 0x45281c
mov eax, dword [esi + 0x1c]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
lea eax, [ecx + 1]
imul ecx, eax
shr ecx, 1
mov dword [esi + 0xa4], ecx
mov dword [esi + 0x8c], eax
shr eax, 1
mov dword [esi + 0x10], eax
mov dword [esi + 0xc], 0
mov eax, dword [0x5c4080]
mov dword [esi + 0x6c], eax
mov edi, dword [0x5c4084]
mov eax, dword [esi + 0x6c]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
mov dword [esi + 0x74], ecx
sete al
mov dword [esi + 0x50], edi
cmp edi, 0xa
setl cl
test cl, al
jne 0x451b9b
xor cl, al
je 0x452860
mov edx, dword [esi + 0x10]
mov eax, edx
mov ebx, dword [esi + 0xc]
imul eax, ebx
mulx ecx, edi, edx
mov dword [esi + 0x24], edi
add eax, eax
add eax, ecx
mov edi, dword [esi + 0xa4]
cmp dword [esi + 0x24], edi
sbb eax, 0
jae 0x45221b
sub edi, edx
mov ecx, edi
mov dword [esi + 0x80], edi
mov eax, 0
sbb eax, ebx
mov dword [esi + 0x5c], eax
mov edi, edx
add edi, 1
adc ebx, 0
push ebx
push edi
push eax
push ecx
call fcn.005893d0
mov dword [esi + 0x24], edx
mov edx, eax
mulx ecx, edx, edi
mov dword [esi + 0x84], edx
mov dword [esi + 0x54], eax
mov edx, eax
mov dword [esi + 0x68], ebx
imul edx, ebx
add ecx, edx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x60], edi
imul edx, edi
add edx, ecx
mov eax, dword [esi + 0x80]
sub eax, dword [esi + 0x84]
mov ecx, dword [esi + 0x5c]
sbb ecx, edx
or ecx, eax
jne 0x4521de
mov eax, dword [esi + 0x98]
mov ecx, dword [esi + 0x10]
mov dword [eax], ecx
mov ecx, dword [esi + 0xc]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x54]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x24]
mov dword [eax + 0xc], ecx
mov dword [esi + 0xd8], 0xb
mov ecx, dword [esi + 0x20]
push dword [esi + 0x2c]
push dword [esi + 0x88]
push eax
call fcn.00587bf0
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 4]
cmp ecx, 0xa
setl byte [esi + 0x30]
mov edi, 0x5a1cc736
cmp edi, 0x1583cd3a
jg 0x451ca9
cmp edi, 0xb018ea81
je 0x451ce5
cmp edi, 0xf7175d7a
jne 0x451c8c
jmp 0x451d5a
cmp edi, 0x1583cd3b
je 0x451d01
cmp edi, 0x5a1cc736
jne 0x451c8c
movzx eax, byte [esi + 4]
movzx ecx, byte [esi + 0x30]
mov edx, ecx
xor dl, al
test cl, cl
mov edi, 0xb018ea81
mov ecx, 0x1583cd3b
cmovne edi, ecx
test al, al
mov eax, 0xb018ea81
cmove edi, eax
test dl, dl
cmovne edi, ecx
jmp 0x451c8c
mov dword [esi + 0xd8], 0xd
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x20]
call fcn.004330f0
mov edi, 0x1583cd3b
jmp 0x451c8c
mov dword [esi + 0xd8], 0xd
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x20]
call fcn.004330f0
mov edx, dword [0x5c4088]
mov eax, dword [0x5c408c]
lea ecx, [edx + 1]
imul ecx, edx
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov edi, 0xb018ea81
mov ebx, 0xf7175d7a
cmovne edi, ebx
test edx, ecx
mov ecx, edi
cmove ecx, ebx
cmp eax, 0xa
cmovge ecx, edi
mov edi, ecx
jmp 0x451c8c
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c4084], 0xa
setl cl
test cl, al
jne 0x451d86
xor cl, al
je 0x451ea8
mov edx, dword [0x5c4090]
mov ecx, dword [0x5c4094]
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, 0x80c66156
mov ebx, 0x766d7330
cmovne edi, ebx
test edx, eax
sete byte [esi + 8]
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 4]
cmovge eax, edi
mov ecx, 0xf2325ac5
cmp ecx, 0x46df2eda
jle 0x451deb
cmp ecx, 0x46df2edb
je 0x451e22
cmp ecx, 0x766d7330
jne 0x451dd1
jmp 0x451e2d
cmp ecx, 0x80c66156
je 0x451e26
cmp ecx, 0xf2325ac5
jne 0x451dd1
movzx edx, byte [esi + 8]
movzx ecx, byte [esi + 4]
mov ch, dl
xor ch, cl
mov edi, 0x80c66156
mov ebx, 0x46df2edb
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x451dd1
mov ecx, eax
jmp 0x451dd1
mov ecx, 0x46df2edb
jmp 0x451dd1
mov edi, dword [esi + 0x20]
mov dword [esi + 0x30], edi
mov eax, dword [esi + 0x30]
mov eax, dword [edi]
test eax, eax
je 0x451e5f
mov ecx, dword [edi + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
add esp, 8
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, dword [esi + 0x64]
mov ecx, dword [esi + 0x54]
mov dword [eax], ecx
mov ecx, dword [esi + 0x24]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x10]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0xc]
mov dword [eax + 0xc], ecx
sete al
cmp dword [0x5c4084], 0xa
setl cl
test cl, al
jne 0x451fa5
xor cl, al
jne 0x451fa5
mov edx, dword [0x5c4090]
mov ecx, dword [0x5c4094]
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, 0x80c66156
mov ebx, 0x766d7330
cmovne edi, ebx
test edx, eax
sete byte [esi + 8]
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 4]
cmovge eax, edi
mov ecx, 0xf2325ac5
jmp 0x451ef7
mov ecx, eax
cmp ecx, 0x46df2eda
jle 0x451f11
cmp ecx, 0x46df2edb
je 0x451ef5
cmp ecx, 0x766d7330
jne 0x451ef7
jmp 0x451f54
cmp ecx, 0x80c66156
je 0x451f4d
cmp ecx, 0xf2325ac5
jne 0x451ef7
movzx edx, byte [esi + 8]
movzx ecx, byte [esi + 4]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x80c66156
mov ebx, 0x46df2edb
cmovne ecx, ebx
test dl, dl
mov edi, 0x80c66156
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x451ef7
mov ecx, 0x46df2edb
jmp 0x451ef7
mov edi, dword [esi + 0x20]
mov dword [esi + 0x30], edi
mov eax, dword [esi + 0x30]
mov eax, dword [edi]
test eax, eax
je 0x451f86
mov ecx, dword [edi + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
add esp, 8
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov eax, dword [esi + 0x64]
mov ecx, dword [esi + 0x54]
mov dword [eax], ecx
mov ecx, dword [esi + 0x24]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x10]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0xc]
mov dword [eax + 0xc], ecx
jmp 0x451d86
mov dword [esi + 0xd8], 0xb
mov ecx, dword [esi + 0x18]
push dword [esi + 0x94]
push dword [esi + 0xa0]
push dword [esi + 0x64]
call fcn.00587bf0
mov eax, dword [0x5c4080]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c4084], 0xa
setl cl
test cl, al
jne 0x451ff2
xor cl, al
je 0x45286c
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 4]
cmp ecx, 0xa
setl byte [esi + 0x30]
mov ecx, 0x5a1cc736
cmp ecx, 0x1583cd3a
jg 0x452037
cmp ecx, 0xb018ea81
je 0x45206e
cmp ecx, 0xf7175d7a
jne 0x45201a
jmp 0x4520e3
cmp ecx, 0x1583cd3b
je 0x45208a
cmp ecx, 0x5a1cc736
jne 0x45201a
movzx eax, byte [esi + 4]
movzx ecx, byte [esi + 0x30]
mov edx, eax
xor dl, cl
mov edx, 0xb018ea81
mov edi, 0x1583cd3b
cmovne edx, edi
test cl, cl
mov ecx, edx
cmovne ecx, edi
test al, al
cmove ecx, edx
jmp 0x45201a
mov dword [esi + 0xd8], 0xc
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x18]
call fcn.004330f0
mov ecx, 0x1583cd3b
jmp 0x45201a
mov dword [esi + 0xd8], 0xc
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x18]
call fcn.004330f0
mov edx, dword [0x5c4088]
mov eax, dword [0x5c408c]
lea ecx, [edx - 1]
imul ecx, edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov edx, 0xb018ea81
mov edi, 0xf7175d7a
cmovne edx, edi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, edi
cmp eax, 0xa
cmovge ecx, edx
jmp 0x45201a
mov eax, dword [0x5c4090]
lea ecx, [eax - 1]
imul ecx, eax
mov edx, dword [0x5c4094]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 8]
sete cl
mov eax, 0x80c66156
mov edi, 0x766d7330
cmove eax, edi
cmp edx, 0xa
setl byte [esi + 4]
setl dl
mov ebx, 0x80c66156
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
mov ecx, 0xf2325ac5
cmp ecx, 0x46df2eda
jle 0x452146
cmp ecx, 0x46df2edb
je 0x45217d
cmp ecx, 0x766d7330
jne 0x45212c
jmp 0x452188
cmp ecx, 0x80c66156
je 0x452181
cmp ecx, 0xf2325ac5
jne 0x45212c
movzx edx, byte [esi + 8]
movzx ecx, byte [esi + 4]
mov ch, dl
xor ch, cl
mov edi, 0x80c66156
mov ebx, 0x46df2edb
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x45212c
mov ecx, eax
jmp 0x45212c
mov ecx, 0x46df2edb
jmp 0x45212c
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x30], ecx
mov eax, dword [esi + 0x30]
mov eax, dword [ecx]
test eax, eax
je 0x4521bd
mov edi, dword [esi + 0x18]
mov ecx, dword [edi + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
add esp, 8
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov ecx, dword [0x5c4080]
mov eax, dword [0x5c4084]
mov dword [esi + 0x50], eax
lea eax, [ecx + 1]
mov dword [esi + 0x6c], ecx
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
and ecx, eax
mov dword [esi + 0x74], ecx
cmp dword [esi + 0x74], 0
sete al
mov edi, dword [esi + 0x50]
cmp edi, 0xa
setl cl
mov edx, dword [esi + 0x60]
mov dword [esi + 0x10], edx
mov edx, dword [esi + 0x68]
mov dword [esi + 0xc], edx
test al, cl
jne 0x451b74
xor al, cl
mov eax, dword [esi + 0x60]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x68]
mov dword [esi + 0xc], eax
jne 0x451b74
jmp 0x452864
mov dword [esi + 0x5c], 1
mov ecx, dword [esi + 0x1c]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esi + 0xc], ecx
sub ecx, eax
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
mov edx, dword [esi + 0x5c]
mov edi, edx
cmp edx, ecx
jb 0x452251
jmp 0x452520
mov edi, dword [esi + 0xc]
test edi, edi
je 0x4524fc
mov eax, dword [0x5c4098]
mov ecx, dword [0x5c409c]
lea ebx, [eax - 1]
imul ebx, eax
mov eax, ebx
and eax, 1
sete al
cmp ecx, 0xa
setl dl
xor dl, al
mov eax, 0x6675f964
mov edx, 0x7862661b
cmovne eax, edx
and ebx, 1
mov dword [esi + 0x54], ebx
sete byte [esi + 8]
mov edx, eax
mov ebx, 0x7862661b
cmove edx, ebx
mov dword [esi + 0x24], ecx
cmp ecx, 0xa
setl byte [esi + 4]
cmovge edx, eax
mov dword [esi + 0x10], edx
mov eax, dword [esi + 0x1c]
mov ecx, dword [eax]
mov dword [esi + 0xc], edi
lea eax, [edi + edi*2]
lea eax, [ecx + eax*4]
mov dword [esi + 0x60], eax
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x4522d0
cmp eax, 0x6675f964
je 0x452305
cmp eax, 0x7862661b
jne 0x4522b9
jmp 0x452311
cmp eax, 0xd0a3dc29
je 0x45230c
cmp eax, 0xd6d6a098
jne 0x4522b9
movzx ebx, byte [esi + 8]
movzx eax, byte [esi + 4]
mov ah, bl
xor ah, al
mov edi, 0x6675f964
mov edx, 0xd0a3dc29
cmovne edi, edx
test al, al
mov eax, edi
cmovne eax, edx
test bl, bl
cmove eax, edi
jmp 0x4522b9
mov eax, 0xd0a3dc29
jmp 0x4522b9
mov eax, dword [esi + 0x10]
jmp 0x4522b9
mov edx, dword [esi + 0xc]
dec edx
cmp dword [esi + 0x54], 0
mov eax, dword [esi + 0x60]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
mov edi, dword [eax]
mov dword [esi + 0x74], edi
mov eax, dword [eax + 4]
mov dword [esi + 0x68], eax
sete byte [esi + 8]
cmp dword [esi + 0x24], 0xa
setl byte [esi + 4]
mov dword [esi + 0xc], edx
lea eax, [edx + edx*2]
lea ecx, [ecx + eax*4]
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x452360
cmp eax, 0x6675f964
je 0x45239a
cmp eax, 0x7862661b
jne 0x452349
jmp 0x4523a6
cmp eax, 0xd0a3dc29
je 0x4523a1
cmp eax, 0xd6d6a098
jne 0x452349
movzx ebx, byte [esi + 8]
movzx eax, byte [esi + 4]
mov bh, bl
xor bh, al
test al, al
mov eax, 0x6675f964
mov edx, 0xd0a3dc29
cmovne eax, edx
test bl, bl
mov edi, 0x6675f964
cmove eax, edi
test bh, bh
cmovne eax, edx
jmp 0x452349
mov eax, 0xd0a3dc29
jmp 0x452349
mov eax, dword [esi + 0x10]
jmp 0x452349
mov dword [esi + 0x30], ecx
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
mov edx, dword [esi + 0x74]
cmp edx, dword [eax]
mov edx, dword [esi + 0x68]
sbb edx, dword [eax + 4]
jge 0x4524f0
cmp dword [esi + 0x54], 0
sete byte [esi + 8]
cmp dword [esi + 0x24], 0xa
setl byte [esi + 4]
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x4523eb
cmp eax, 0x6675f964
je 0x452420
cmp eax, 0x7862661b
jne 0x4523d4
jmp 0x45242c
cmp eax, 0xd0a3dc29
je 0x452427
cmp eax, 0xd6d6a098
jne 0x4523d4
movzx ebx, byte [esi + 8]
movzx eax, byte [esi + 4]
mov ah, bl
xor ah, al
mov edi, 0x6675f964
mov edx, 0xd0a3dc29
cmovne edi, edx
test al, al
mov eax, edi
cmovne eax, edx
test bl, bl
cmove eax, edi
jmp 0x4523d4
mov eax, 0xd0a3dc29
jmp 0x4523d4
mov eax, dword [esi + 0x10]
jmp 0x4523d4
cmp dword [esi + 0x54], 0
mov dword [esi + 0x30], ecx
mov edi, dword [esi + 0x30]
sete byte [esi + 8]
cmp dword [esi + 0x24], 0xa
setl byte [esi + 4]
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x45245e
cmp eax, 0x6675f964
je 0x452493
cmp eax, 0x7862661b
jne 0x452447
jmp 0x45249f
cmp eax, 0xd0a3dc29
je 0x45249a
cmp eax, 0xd6d6a098
jne 0x452447
movzx ecx, byte [esi + 8]
movzx eax, byte [esi + 4]
mov ah, cl
xor ah, al
mov ebx, 0x6675f964
mov edx, 0xd0a3dc29
cmovne ebx, edx
test al, al
mov eax, ebx
cmovne eax, edx
test cl, cl
cmove eax, ebx
jmp 0x452447
mov eax, 0xd0a3dc29
jmp 0x452447
mov eax, dword [esi + 0x10]
jmp 0x452447
mov eax, dword [esi + 0x60]
mov dword [esi + 0x30], eax
mov ecx, dword [esi + 0x30]
push edi
call fcn.00434540
mov eax, dword [0x5c4080]
mov edx, dword [0x5c4084]
lea ecx, [eax + 1]
mov dword [esi + 0x6c], eax
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
and eax, ecx
setne cl
sete ch
mov dword [esi + 0x50], edx
cmp edx, 0xa
setge dl
setl dh
xor dh, ch
jne 0x452246
or dl, cl
je 0x452246
jmp 0x452868
mov ecx, dword [esi + 0x6c]
lea eax, [ecx - 1]
imul eax, ecx
and eax, 1
inc dword [esi + 0x5c]
test eax, eax
sete al
cmp dword [esi + 0x50], 0xa
setl cl
test cl, al
jne 0x452222
xor cl, al
jne 0x452222
jmp 0x452870
mov ecx, dword [esi + 0x7c]
mov dword [ecx], eax
jmp 0x45252f
mov eax, dword [esi + 0x30]
mov eax, dword [esi + 0x7c]
mov eax, dword [eax]
cmp eax, dword [esi + 0xc]
je 0x452802
mov ecx, dword [0x5c4080]
lea edx, [ecx - 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
setne dl
cmp dword [0x5c4084], 0xa
setge cl
mov ch, cl
xor ch, dl
or cl, dl
xor cl, 1
or cl, ch
cmp cl, 1
jne 0x452722
mov edx, dword [eax]
mov edi, dword [esi + 0x70]
mov dword [edi], edx
test cl, cl
je 0x452722
mov eax, dword [eax + 4]
mov dword [esi + 0x10], eax
jmp 0x452587
mov eax, dword [esi + 0x30]
mov eax, dword [0x5c40a0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x5c40a4]
sete byte [esi + 4]
sete dl
mov eax, 0x3365058b
mov ebx, 0xc1fd3d12
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 0x30]
setl cl
mov edi, 0x3365058b
cmovge eax, edi
xor cl, dl
cmovne eax, ebx
mov ecx, 0x52166c0c
jmp 0x4525f6
movzx edx, byte [esi + 4]
movzx ecx, byte [esi + 0x30]
mov ch, dl
xor ch, cl
mov ebx, 0x3365058b
mov edi, 0x7b4463f8
cmovne ebx, edi
test cl, cl
mov ecx, ebx
cmovne ecx, edi
test dl, dl
cmove ecx, ebx
mov ebx, dword [esi + 0x70]
cmp ecx, 0x52166c0b
jg 0x452618
cmp ecx, 0xc1fd3d12
je 0x45262e
cmp ecx, 0x3365058b
jne 0x4525f9
mov ecx, 0x7b4463f8
jmp 0x4525f9
cmp ecx, 0x7b4463f8
je 0x45262a
cmp ecx, 0x52166c0c
jne 0x4525f9
jmp 0x4525d1
mov ecx, eax
jmp 0x4525f9
mov eax, dword [ebx]
cmp eax, dword [esi + 0x10]
je 0x45272e
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 0x45265a
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 8]
cmp ecx, 0xa
setl byte [esi + 4]
mov eax, 0x74ccc71d
cmp eax, 0x590bba56
jg 0x4526a2
cmp eax, 0xc76c0d8d
je 0x4526db
cmp eax, 0x1f2e313
jne 0x452683
add dword [ebx], 8
mov eax, 0xc76c0d8d
jmp 0x452683
cmp eax, 0x590bba57
je 0x452584
cmp eax, 0x74ccc71d
jne 0x452683
movzx ecx, byte [esi + 8]
movzx eax, byte [esi + 4]
mov edx, ecx
xor dl, al
mov edx, 0x1f2e313
mov edi, 0xc76c0d8d
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x452683
mov dword [esi + 0x30], ebx
mov eax, dword [esi + 0x30]
add dword [eax], 8
mov eax, dword [0x5c40a8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x1f2e313
mov edi, 0x590bba57
cmove eax, edi
cmp dword [0x5c40ac], 0xa
mov edx, 0x1f2e313
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x452683
mov edx, dword [eax]
mov edi, dword [esi + 0x70]
mov dword [edi], edx
jmp 0x45256d
mov eax, dword [0x5c40b0]
mov ecx, dword [0x5c40b4]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 8]
cmp ecx, 0xa
setl byte [esi + 4]
mov eax, 0x1d5864bd
cmp eax, 0x3e63df80
jle 0x452771
cmp eax, 0x3e63df81
je 0x45278c
cmp eax, 0x5632c42c
jne 0x452757
jmp 0x452527
cmp eax, 0x1d5864bd
je 0x4527d3
cmp eax, 0x3ce7f0d1
jne 0x452757
mov eax, dword [esi + 0x7c]
add dword [eax], 0xc
mov eax, 0x3e63df81
jmp 0x452757
mov eax, dword [esi + 0x7c]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x30]
add dword [eax], 0xc
mov eax, dword [0x5c40b0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x3ce7f0d1
mov edi, 0x5632c42c
cmove eax, edi
cmp dword [0x5c40b4], 0xa
mov edx, 0x3ce7f0d1
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x452757
movzx ecx, byte [esi + 8]
movzx eax, byte [esi + 4]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x3ce7f0d1
mov edi, 0x3e63df81
cmovne eax, edi
test cl, cl
mov ecx, 0x3ce7f0d1
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x452757
mov ecx, dword [esi + 0x1c]
call fcn.0041e120
mov ecx, dword [esi + 0x8c]
cmp ecx, 0x1f3
jbe 0x451b2f
mov esp, dword [esi + 0x9c]
mov eax, dword [0x5c40c8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x3647e753
mov edi, 0x737f2e
cmove eax, edi
cmp dword [0x5c40cc], 0xa
mov edx, 0x3647e753
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x450c5a
jmp 0x452860
jmp 0x452862
jmp 0x452864
jmp 0x452866
jmp 0x452868
jmp 0x45286a
jmp 0x45286c
jmp 0x45286e
jmp 0x452870
jmp 0x452872
mov esp, dword [esi + 0x90]
push dword [esi + 0xa8]
call dword [sym.imp.USER32.dll_RegisterClassA]
mov eax, dword [0x5c40d0]
mov ecx, dword [0x5c40d4]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0xae]
cmp ecx, 0xa
setl byte [esi + 0xaf]
mov edi, 0x6a9ae167
cmp edi, 0x35928dd4
jg 0x452991
cmp edi, 0x86ad2f71
je 0x4529d9
cmp edi, 0xdb2b135c
jne 0x4528b4
mov edx, dword [0x5c3fa0]
mov ecx, dword [0x5c3fa4]
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, 0xf963c607
mov edi, 0x77192157
cmovne edx, edi
cmp eax, 0xffffffff
sete byte [esi + 4]
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x30]
cmovge eax, edx
mov ecx, 0xa0dba2a4
cmp ecx, 0x734bd94a
jle 0x45293e
cmp ecx, 0x734bd94b
je 0x45295b
cmp ecx, 0x77192157
jne 0x452921
jmp 0x452a94
cmp ecx, 0xa0dba2a4
je 0x452965
cmp ecx, 0xf963c607
jne 0x452921
mov word [esi + 0x28], 0x7a61
mov ecx, 0x734bd94b
jmp 0x452921
mov word [esi + 0x28], 0x7a61
mov ecx, eax
jmp 0x452921
movzx edx, byte [esi + 4]
movzx ecx, byte [esi + 0x30]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0xf963c607
mov ebx, 0x734bd94b
cmovne ecx, ebx
test dl, dl
mov edi, 0xf963c607
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x452921
cmp edi, 0x35928dd5
je 0x4539e9
cmp edi, 0x6a9ae167
jne 0x4528b4
movzx eax, byte [esi + 0xae]
movzx ecx, byte [esi + 0xaf]
mov edx, eax
xor dl, cl
mov edx, 0xdb2b135c
mov ebx, 0x86ad2f71
cmovne edx, ebx
test cl, cl
mov edi, edx
cmovne edi, ebx
test al, al
cmove edi, edx
jmp 0x4528b4
mov edx, dword [0x5c3fa0]
mov ecx, dword [0x5c3fa4]
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, 0xf963c607
mov ebx, 0x77192157
cmovne edi, ebx
test edx, eax
sete byte [esi + 4]
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 0x30]
cmovge eax, edi
mov ecx, 0xa0dba2a4
cmp ecx, 0x734bd94a
jle 0x452a41
cmp ecx, 0x734bd94b
je 0x452a5e
cmp ecx, 0x77192157
jne 0x452a24
jmp 0x452fe2
cmp ecx, 0xa0dba2a4
je 0x452a68
cmp ecx, 0xf963c607
jne 0x452a24
mov word [esi + 0x28], 0x7a61
mov ecx, 0x734bd94b
jmp 0x452a24
mov word [esi + 0x28], 0x7a61
mov ecx, eax
jmp 0x452a24
movzx edx, byte [esi + 4]
movzx ecx, byte [esi + 0x30]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0xf963c607
mov ebx, 0x734bd94b
cmovne ecx, ebx
test dl, dl
mov edi, 0xf963c607
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x452a24
lea ecx, [esi + 0x30]
call fcn.0040ab10
mov dword [esi + 0xd8], 6
mov dword [esi + 0xc], 0
jmp 0x452ac1
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0xc], eax
cmp eax, 0x3e8
je 0x453524
movsx eax, byte [esi + 0x29]
movsx edx, byte [esi + 0x28]
mov dword [esi + 0xd8], 6
lea ecx, [esi + 0x28]
push eax
push edx
lea eax, [esi + 0x58]
push eax
call fcn.0041c940
movsx eax, al
lea ecx, [esi + 0x30]
push eax
call fcn.0041cf20
mov ecx, dword [0x5c3fa8]
mov edx, dword [0x5c3fac]
lea eax, [ecx + 1]
mov dword [esi + 0x2c], ecx
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
test ecx, eax
sete al
mov dword [esi + 0x24], edx
cmp edx, 0xa
setl cl
or cl, al
mov byte [esi + 0x10], cl
mov eax, dword [0x5c3fb0]
mov dword [esi + 0x18], eax
mov eax, dword [0x5c3fb4]
mov dword [esi + 0x1c], eax
je 0x452c77
lea eax, [esi + 0x30]
mov dword [esi + 4], eax
mov ebx, dword [esi + 4]
mov ecx, dword [esi + 0x18]
lea eax, [ecx + 1]
imul eax, ecx
mov edx, eax
xor edx, 0xfffffffe
and edx, eax
setne al
cmp dword [esi + 0x1c], 0xa
setge cl
mov ah, cl
xor ah, al
or cl, al
xor cl, 1
or cl, ah
mov ecx, 0xfef5751f
mov eax, 0xff38d630
cmovne ecx, eax
mov dword [esi + 0x20], ecx
mov ecx, 0xfef5751f
mov eax, 0x116ab669
cmovne ecx, eax
mov eax, 0x17e23197
cmp eax, 0xff38d62f
jg 0x452ba3
cmp eax, 0x8e14a9ab
je 0x452be3
cmp eax, 0xae9be2ed
je 0x452bd5
cmp eax, 0xfef5751f
jne 0x452b80
mov eax, 0x116ab669
jmp 0x452bdc
cmp eax, 0xff38d630
je 0x452bce
cmp eax, 0x116ab669
je 0x452bd9
cmp eax, 0x17e23197
jne 0x452b80
mov eax, dword [esi + 4]
cmp dword [eax + 0x14], 0x10
mov eax, 0x8e14a9ab
mov edi, 0xae9be2ed
cmovae eax, edi
jmp 0x452b80
mov eax, 0x8e14a9ab
jmp 0x452b80
mov eax, ecx
jmp 0x452b80
mov eax, dword [esi + 0x20]
mov ebx, dword [esi + 4]
mov ebx, dword [ebx]
jmp 0x452b80
cmp byte [esi + 0x10], 0
je 0x452c87
mov edx, dword [esi + 0x40]
dec edx
cmp byte [ebx + edx], 0x6f
je 0x452d42
lea eax, [esi + 0x30]
mov dword [esi + 4], eax
mov edi, 0x17e23197
mov eax, dword [esi + 4]
cmp edi, 0xff38d62f
jg 0x452c34
cmp edi, 0x8e14a9ab
je 0x452d38
cmp edi, 0xae9be2ed
je 0x452c62
cmp edi, 0xfef5751f
jne 0x452c09
mov edi, 0x116ab669
jmp 0x452c70
cmp edi, 0xff38d630
je 0x452c66
cmp edi, 0x116ab669
je 0x452c6d
cmp edi, 0x17e23197
jne 0x452c09
mov edi, dword [esi + 4]
cmp dword [edi + 0x14], 0x10
mov edi, 0x8e14a9ab
mov ebx, 0xae9be2ed
cmovae edi, ebx
jmp 0x452c09
mov edi, ecx
jmp 0x452c09
mov edi, 0x8e14a9ab
jmp 0x452c09
mov edi, dword [esi + 0x20]
mov eax, dword [esi + 4]
mov eax, dword [eax]
jmp 0x452c09
mov ecx, dword [esi + 0x18]
lea eax, [ecx + 1]
imul eax, ecx
mov edx, eax
xor edx, 0xfffffffe
and edx, eax
lea eax, [esi + 0x30]
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
test edx, edx
setne al
sete cl
cmp dword [esi + 0x1c], 0xa
setge dl
setl ah
xor ah, cl
or dl, al
xor dl, 1
or dl, ah
mov eax, 0xfef5751f
mov ecx, 0xff38d630
cmovne eax, ecx
mov ecx, 0xfef5751f
mov edx, 0x116ab669
cmovne ecx, edx
mov edx, 0x17e23197
jmp 0x452cd1
mov edx, 0x8e14a9ab
cmp edx, 0xff38d62f
jg 0x452cff
cmp edx, 0x8e14a9ab
je 0x452b30
cmp edx, 0xae9be2ed
je 0x452d2d
cmp edx, 0xfef5751f
jne 0x452cd1
mov edx, dword [esi + 4]
mov edx, 0x116ab669
jmp 0x452cd1
cmp edx, 0xff38d630
je 0x452ccc
cmp edx, 0x116ab669
je 0x452d31
cmp edx, 0x17e23197
jne 0x452cd1
mov edx, dword [esi + 4]
cmp dword [edx + 0x14], 0x10
mov edx, 0x8e14a9ab
mov ebx, 0xae9be2ed
cmovae edx, ebx
jmp 0x452cd1
mov edx, ecx
jmp 0x452cd1
mov edx, dword [esi + 4]
mov edx, eax
jmp 0x452cd1
cmp byte [eax + edx], 0x75
jne 0x452aaf
lea edi, [esi + 0x30]
mov ecx, edi
lea eax, [esi + 8]
push eax
call fcn.00432d20
mov ecx, edi
lea eax, [esi + 0x78]
push eax
call fcn.00432f10
mov eax, dword [0x5c3fa8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x5c3fac], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x452de7
or cl, al
je 0x452de7
lea edi, [esi + 0x30]
mov ecx, edi
lea eax, [esi + 8]
push eax
call fcn.00432d20
mov ecx, edi
lea ebx, [esi + 0x78]
push ebx
call fcn.00432f10
mov ecx, edi
lea eax, [esi + 8]
push eax
call fcn.00432d20
mov ecx, edi
push ebx
call fcn.00432f10
mov eax, dword [0x5c3fa8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x5c3fac], 0xa
setge cl
setl ah
xor ah, dl
je 0x452d84
jmp 0x452de7
lea ecx, [esi + 8]
call fcn.00539cc0
mov ecx, dword [0x5c3fb8]
mov eax, dword [0x5c3fbc]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete bl
sete byte [esi + 0x16]
mov ecx, 0x6ca8d283
mov edx, 0xe88306d3
cmove ecx, edx
cmp eax, 0xa
setl bh
setl byte [esi + 0x17]
mov eax, dword [esi + 8]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x78]
mov dword [esi + 0x1c], eax
mov eax, 0x6ca8d283
cmovge ecx, eax
xor bh, bl
cmovne ecx, edx
mov edi, 0x243324be
cmp edi, 0x243324bd
jg 0x452e55
cmp edi, 0x9538d02c
je 0x452e90
cmp edi, 0xe88306d3
jne 0x452e3b
jmp 0x452e9b
cmp edi, 0x6ca8d283
je 0x452e94
cmp edi, 0x243324be
jne 0x452e3b
movzx eax, byte [esi + 0x16]
mov bh, byte [esi + 0x17]
mov bl, al
xor bl, bh
mov edx, 0x6ca8d283
mov edi, 0x9538d02c
cmovne edx, edi
test bh, bh
mov edi, edx
mov ebx, 0x9538d02c
cmovne edi, ebx
test al, al
cmove edi, edx
jmp 0x452e3b
mov edi, ecx
jmp 0x452e3b
mov edi, 0x9538d02c
jmp 0x452e3b
mov eax, dword [esi + 0x1c]
cmp dword [esi + 0x20], eax
sete byte [esi + 4]
movzx eax, byte [esi + 4]
cmp al, 1
je 0x452fa4
mov eax, dword [0x5c3fc0]
mov edx, dword [0x5c3fc4]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp edx, 0xa
setl ah
xor ah, al
mov eax, 0x19354864
mov edi, 0x99b50cb6
cmovne eax, edi
cmp ecx, 0xffffffff
sete byte [esi + 0x16]
mov ecx, eax
cmove ecx, edi
cmp edx, 0xa
setl byte [esi + 0x17]
cmovge ecx, eax
mov edx, 0x78873f8d
cmp edx, 0x6bae78ea
jg 0x452f1c
cmp edx, 0x99b50cb6
je 0x452f57
cmp edx, 0x19354864
jne 0x452efd
mov edx, 0x6bae78eb
jmp 0x452efd
cmp edx, 0x6bae78eb
je 0x452f53
cmp edx, 0x78873f8d
jne 0x452efd
movzx eax, byte [esi + 0x16]
movzx edx, byte [esi + 0x17]
mov ah, al
xor ah, dl
mov edi, 0x19354864
mov ebx, 0x6bae78eb
cmovne edi, ebx
test dl, dl
mov edx, edi
cmovne edx, ebx
test al, al
cmove edx, edi
jmp 0x452efd
mov edx, ecx
jmp 0x452efd
mov eax, dword [esi + 0x20]
mov dword [esi + 4], eax
mov edi, dword [esi + 4]
movsx eax, byte [edi]
push eax
call fcn.00599035
add esp, 4
and al, 0xa
mov byte [edi], al
mov eax, dword [0x5c3fa8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c3fac], 0xa
setl cl
test cl, al
jne 0x452ddf
xor cl, al
jne 0x452ddf
jmp 0x4539dd
mov edx, dword [0x5c3fa8]
mov ecx, dword [0x5c3fac]
lea eax, [edx + 1]
mov dword [esi + 0x2c], edx
imul eax, edx
test al, 1
sete dl
mov dword [esi + 0x24], ecx
cmp ecx, 0xa
setl ch
setge cl
cmp ch, dl
jne 0x452aaf
or cl, al
test cl, 1
je 0x452aaf
jmp 0x4539e3
lea ecx, [esi + 0x30]
call fcn.0040ab10
mov dword [esi + 0xd8], 7
mov dword [esi + 0xc], 0
jmp 0x45300f
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0xc], eax
cmp eax, 0x3e8
je 0x453601
movsx eax, byte [esi + 0x29]
movsx edx, byte [esi + 0x28]
mov dword [esi + 0xd8], 7
lea ecx, [esi + 0x28]
push eax
push edx
lea eax, [esi + 0x58]
push eax
call fcn.0041c940
movsx eax, al
lea ecx, [esi + 0x30]
push eax
call fcn.0041cf20
mov ecx, dword [0x5c3fa8]
mov edx, dword [0x5c3fac]
lea eax, [ecx + 1]
mov dword [esi + 0x2c], ecx
imul eax, ecx
test al, 1
sete cl
mov dword [esi + 0x24], edx
cmp edx, 0xa
setge ch
setl dl
xor dl, cl
or ch, al
xor ch, 1
or ch, dl
mov eax, dword [0x5c3fb0]
mov dword [esi + 0x18], eax
mov eax, dword [0x5c3fb4]
mov dword [esi + 0x1c], eax
mov byte [esi + 0x10], ch
test ch, 1
je 0x4531c0
lea eax, [esi + 0x30]
mov dword [esi + 4], eax
mov edi, dword [esi + 4]
mov eax, dword [esi + 0x18]
lea ebx, [eax + 1]
imul ebx, eax
and ebx, 1
sete al
cmp dword [esi + 0x1c], 0xa
setl cl
or cl, al
mov ecx, 0xfef5751f
mov eax, 0xff38d630
cmovne ecx, eax
mov dword [esi + 0x20], ecx
mov ecx, 0xfef5751f
mov eax, 0x116ab669
cmovne ecx, eax
mov eax, 0x17e23197
cmp eax, 0xff38d62f
jg 0x4530ec
cmp eax, 0x8e14a9ab
je 0x45312c
cmp eax, 0xae9be2ed
je 0x453117
cmp eax, 0xfef5751f
jne 0x4530c9
mov eax, 0x116ab669
jmp 0x453125
cmp eax, 0xff38d630
je 0x45311b
cmp eax, 0x116ab669
je 0x453122
cmp eax, 0x17e23197
jne 0x4530c9
mov eax, dword [esi + 4]
cmp dword [eax + 0x14], 0x10
mov eax, 0x8e14a9ab
mov edx, 0xae9be2ed
cmovae eax, edx
jmp 0x4530c9
mov eax, ecx
jmp 0x4530c9
mov eax, 0x8e14a9ab
jmp 0x4530c9
mov eax, dword [esi + 0x20]
mov edi, dword [esi + 4]
mov edi, dword [edi]
jmp 0x4530c9
test byte [esi + 0x10], 1
je 0x4531cc
mov eax, dword [esi + 0x40]
dec eax
cmp byte [edi + eax], 0x6f
je 0x453283
lea edi, [esi + 0x30]
mov dword [esi + 4], edi
mov edi, 0x17e23197
mov ebx, dword [esi + 4]
cmp edi, 0xff38d62f
jg 0x45317d
cmp edi, 0x8e14a9ab
je 0x453279
cmp edi, 0xae9be2ed
je 0x4531ab
cmp edi, 0xfef5751f
jne 0x453152
mov edi, 0x116ab669
jmp 0x4531b9
cmp edi, 0xff38d630
je 0x4531af
cmp edi, 0x116ab669
je 0x4531b6
cmp edi, 0x17e23197
jne 0x453152
mov edi, dword [esi + 4]
cmp dword [edi + 0x14], 0x10
mov edi, 0x8e14a9ab
mov edx, 0xae9be2ed
cmovae edi, edx
jmp 0x453152
mov edi, ecx
jmp 0x453152
mov edi, 0x8e14a9ab
jmp 0x453152
mov edi, dword [esi + 0x20]
mov ebx, dword [esi + 4]
mov ebx, dword [ebx]
jmp 0x453152
mov eax, dword [esi + 0x18]
lea ebx, [eax + 1]
imul ebx, eax
and ebx, 1
lea eax, [esi + 0x30]
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
test ebx, ebx
setne al
cmp dword [esi + 0x1c], 0xa
setge cl
mov edx, ecx
xor dl, al
or cl, al
xor cl, 1
or cl, dl
mov eax, 0xfef5751f
mov ecx, 0xff38d630
cmovne eax, ecx
mov ecx, 0xfef5751f
mov edx, 0x116ab669
cmovne ecx, edx
mov edx, 0x17e23197
jmp 0x45320f
mov edx, ecx
cmp edx, 0xff38d62f
jg 0x45323d
cmp edx, 0x8e14a9ab
je 0x453086
cmp edx, 0xae9be2ed
je 0x45320d
cmp edx, 0xfef5751f
jne 0x45320f
mov edx, dword [esi + 4]
mov edx, 0x116ab669
jmp 0x45320f
cmp edx, 0xff38d630
je 0x45326b
cmp edx, 0x116ab669
je 0x453272
cmp edx, 0x17e23197
jne 0x45320f
mov edx, dword [esi + 4]
cmp dword [edx + 0x14], 0x10
mov edx, 0x8e14a9ab
mov edi, 0xae9be2ed
cmovae edx, edi
jmp 0x45320f
mov edx, 0x8e14a9ab
jmp 0x45320f
mov edx, dword [esi + 4]
mov edx, eax
jmp 0x45320f
cmp byte [ebx + eax], 0x75
jne 0x452ffd
lea edi, [esi + 0x30]
mov ecx, edi
lea eax, [esi + 8]
push eax
call fcn.00432d20
mov ecx, edi
lea eax, [esi + 0x78]
push eax
call fcn.00432f10
mov ecx, dword [0x5c3fa8]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3fac], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x453323
or cl, al
test cl, 1
je 0x453323
lea edi, [esi + 0x30]
mov ecx, edi
lea eax, [esi + 8]
push eax
call fcn.00432d20
mov ecx, edi
lea ebx, [esi + 0x78]
push ebx
call fcn.00432f10
mov ecx, edi
lea eax, [esi + 8]
push eax
call fcn.00432d20
mov ecx, edi
push ebx
call fcn.00432f10
mov eax, dword [0x5c3fa8]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c3fac], 0xa
setl cl
test cl, al
jne 0x453323
xor cl, al
je 0x4532c5
jmp 0x453323
lea ecx, [esi + 8]
call fcn.00539cc0
mov ecx, dword [0x5c3fb8]
mov eax, dword [0x5c3fbc]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete bl
sete byte [esi + 0x16]
mov ecx, 0x6ca8d283
mov edx, 0xe88306d3
cmove ecx, edx
cmp eax, 0xa
setl bh
setl byte [esi + 0x17]
mov eax, dword [esi + 8]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x78]
mov dword [esi + 0x1c], eax
mov eax, 0x6ca8d283
cmovge ecx, eax
xor bh, bl
cmovne ecx, edx
mov edi, 0x243324be
cmp edi, 0x243324bd
jg 0x453391
cmp edi, 0x9538d02c
je 0x4533cc
cmp edi, 0xe88306d3
jne 0x453377
jmp 0x4533d7
cmp edi, 0x6ca8d283
je 0x4533d0
cmp edi, 0x243324be
jne 0x453377
movzx eax, byte [esi + 0x16]
mov bh, byte [esi + 0x17]
mov bl, al
xor bl, bh
mov edx, 0x6ca8d283
mov edi, 0x9538d02c
cmovne edx, edi
test bh, bh
mov edi, edx
mov ebx, 0x9538d02c
cmovne edi, ebx
test al, al
cmove edi, edx
jmp 0x453377
mov edi, ecx
jmp 0x453377
mov edi, 0x9538d02c
jmp 0x453377
mov eax, dword [esi + 0x1c]
cmp dword [esi + 0x20], eax
sete byte [esi + 4]
movzx eax, byte [esi + 4]
cmp al, 1
je 0x4534e6
mov eax, dword [0x5c3fc0]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, dword [0x5c3fc4]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x16]
sete dl
mov ecx, 0x19354864
mov edi, 0x99b50cb6
cmove ecx, edi
cmp eax, 0xa
setl byte [esi + 0x17]
setl al
mov ebx, 0x19354864
cmovge ecx, ebx
xor al, dl
cmovne ecx, edi
mov edx, 0x78873f8d
cmp edx, 0x6bae78ea
jg 0x453454
cmp edx, 0x99b50cb6
je 0x453494
cmp edx, 0x19354864
jne 0x453435
mov edx, 0x6bae78eb
jmp 0x453435
cmp edx, 0x6bae78eb
je 0x453490
cmp edx, 0x78873f8d
jne 0x453435
movzx eax, byte [esi + 0x16]
movzx edx, byte [esi + 0x17]
mov ah, al
xor ah, dl
test dl, dl
mov edx, 0x19354864
mov ebx, 0x6bae78eb
cmovne edx, ebx
test al, al
mov edi, 0x19354864
cmove edx, edi
test ah, ah
cmovne edx, ebx
jmp 0x453435
mov edx, ecx
jmp 0x453435
mov eax, dword [esi + 0x20]
mov dword [esi + 4], eax
mov edi, dword [esi + 4]
movsx eax, byte [edi]
push eax
call fcn.00599035
add esp, 4
mov ecx, eax
xor cl, 0xf5
and cl, al
mov byte [edi], cl
mov eax, dword [0x5c3fa8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c3fac], 0xa
setl cl
test cl, al
jne 0x45331b
xor cl, al
jne 0x45331b
jmp 0x4539df
mov edx, dword [0x5c3fa8]
mov ecx, dword [0x5c3fac]
lea eax, [edx + 1]
mov dword [esi + 0x2c], edx
imul eax, edx
test al, 1
sete dl
mov dword [esi + 0x24], ecx
cmp ecx, 0xa
setge cl
setl ch
xor ch, dl
jne 0x452ffd
or cl, al
test cl, 1
je 0x452ffd
jmp 0x4539e1
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 0x45354a
xor cl, al
je 0x4539e5
mov eax, dword [0x5c3fb0]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c3fb4], 0xa
setl cl
or cl, al
mov eax, 0xfef5751f
mov ecx, 0xff38d630
cmovne eax, ecx
mov ecx, 0xfef5751f
mov edx, 0x116ab669
cmovne ecx, edx
lea edx, [esi + 0x30]
mov dword [esi + 4], edx
mov edx, 0x17e23197
mov edi, dword [esi + 4]
cmp edx, 0xff38d62f
jg 0x4535bf
cmp edx, 0x8e14a9ab
je 0x4536de
cmp edx, 0xae9be2ed
je 0x4535ed
cmp edx, 0xfef5751f
jne 0x453594
mov edx, 0x116ab669
jmp 0x4535fa
cmp edx, 0xff38d630
je 0x4535f1
cmp edx, 0x116ab669
je 0x4535f8
cmp edx, 0x17e23197
jne 0x453594
mov edx, dword [esi + 4]
cmp dword [edx + 0x14], 0x10
mov edx, 0x8e14a9ab
mov ebx, 0xae9be2ed
cmovae edx, ebx
jmp 0x453594
mov edx, ecx
jmp 0x453594
mov edx, 0x8e14a9ab
jmp 0x453594
mov edx, eax
mov edi, dword [esi + 4]
mov edi, dword [edi]
jmp 0x453594
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
test cl, al
jne 0x453628
xor cl, al
je 0x4539e7
mov eax, dword [0x5c3fb0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c3fb4], 0xa
setl cl
or cl, al
mov eax, 0xfef5751f
mov ecx, 0xff38d630
cmovne eax, ecx
mov ecx, 0xfef5751f
mov edx, 0x116ab669
cmovne ecx, edx
lea edx, [esi + 0x30]
mov dword [esi + 4], edx
mov edx, 0x17e23197
mov edi, dword [esi + 4]
cmp edx, 0xff38d62f
jg 0x45369c
cmp edx, 0x8e14a9ab
je 0x453766
cmp edx, 0xae9be2ed
je 0x4536ca
cmp edx, 0xfef5751f
jne 0x453671
mov edx, 0x116ab669
jmp 0x4536d7
cmp edx, 0xff38d630
je 0x4536ce
cmp edx, 0x116ab669
je 0x4536d5
cmp edx, 0x17e23197
jne 0x453671
mov edx, dword [esi + 4]
cmp dword [edx + 0x14], 0x10
mov edx, 0x8e14a9ab
mov ebx, 0xae9be2ed
cmovae edx, ebx
jmp 0x453671
mov edx, ecx
jmp 0x453671
mov edx, 0x8e14a9ab
jmp 0x453671
mov edx, eax
mov edi, dword [esi + 4]
mov edi, dword [edi]
jmp 0x453671
cmp byte [edi + 0xd7], 0x31
jne 0x453869
lea edx, [esi + 0x30]
mov dword [esi + 4], edx
mov edx, 0x17e23197
mov edi, dword [esi + 4]
cmp edx, 0xff38d62f
jg 0x453724
cmp edx, 0x8e14a9ab
je 0x4537ee
cmp edx, 0xae9be2ed
je 0x453752
cmp edx, 0xfef5751f
jne 0x4536f9
mov edx, 0x116ab669
jmp 0x45375f
cmp edx, 0xff38d630
je 0x453756
cmp edx, 0x116ab669
je 0x45375d
cmp edx, 0x17e23197
jne 0x4536f9
mov edx, dword [esi + 4]
cmp dword [edx + 0x14], 0x10
mov edx, 0x8e14a9ab
mov ebx, 0xae9be2ed
cmovae edx, ebx
jmp 0x4536f9
mov edx, ecx
jmp 0x4536f9
mov edx, 0x8e14a9ab
jmp 0x4536f9
mov edx, eax
mov edi, dword [esi + 4]
mov edi, dword [edi]
jmp 0x4536f9
cmp byte [edi + 0xd7], 0x31
jne 0x45392d
lea edx, [esi + 0x30]
mov dword [esi + 4], edx
mov edx, 0x17e23197
mov edi, dword [esi + 4]
cmp edx, 0xff38d62f
jg 0x4537ac
cmp edx, 0x8e14a9ab
je 0x4538df
cmp edx, 0xae9be2ed
je 0x4537da
cmp edx, 0xfef5751f
jne 0x453781
mov edx, 0x116ab669
jmp 0x4537e7
cmp edx, 0xff38d630
je 0x4537de
cmp edx, 0x116ab669
je 0x4537e5
cmp edx, 0x17e23197
jne 0x453781
mov edx, dword [esi + 4]
cmp dword [edx + 0x14], 0x10
mov edx, 0x8e14a9ab
mov ebx, 0xae9be2ed
cmovae edx, ebx
jmp 0x453781
mov edx, ecx
jmp 0x453781
mov edx, 0x8e14a9ab
jmp 0x453781
mov edx, eax
mov edi, dword [esi + 4]
mov edi, dword [edi]
jmp 0x453781
cmp byte [edi + 0x2d0], 0x30
jne 0x453869
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, dword [0x5c3fa8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x5c3fac], 0xa
setge cl
setl ah
xor ah, dl
jne 0x453869
or cl, al
je 0x453869
push 0
push 0
mov edi, dword [sym.imp.KERNEL32.dll_Beep]
call edi
push 0
push 0
call edi
mov ecx, dword [0x5c3fa8]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3fac], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x453869
or cl, al
test cl, 1
jne 0x45382e
lea ecx, [esi + 0x30]
call fcn.0040ae90
mov eax, dword [0x5c3fa8]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c3fac], 0xa
setl cl
mov edi, 0x86ad2f71
test cl, al
jne 0x4528b4
xor cl, al
jne 0x4528b4
lea ebx, [esi + 0x30]
mov ecx, ebx
call fcn.0040ae90
mov ecx, ebx
call fcn.0040ae90
mov eax, dword [0x5c3fa8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c3fac], 0xa
setl cl
test cl, al
je 0x45389e
jmp 0x4528b4
cmp byte [edi + 0x2d0], 0x30
jne 0x45392d
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, dword [0x5c3fa8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c3fac], 0xa
setl cl
test cl, al
jne 0x45392d
xor cl, al
jne 0x45392d
push 0
push 0
mov edi, dword [sym.imp.KERNEL32.dll_Beep]
call edi
push 0
push 0
call edi
jmp 0x4538f2
lea ecx, [esi + 0x30]
call fcn.0040ae90
mov ecx, dword [0x5c3fa8]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3fac], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x453996
or cl, al
test cl, 1
je 0x453996
lea edi, [esi + 0x30]
mov ecx, edi
call fcn.0040ae90
mov ecx, edi
call fcn.0040ae90
mov eax, dword [0x5c3fa8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c3fac], 0xa
setl cl
test cl, al
jne 0x453996
xor cl, al
je 0x45395e
mov edx, dword [0x5c40d0]
mov eax, dword [0x5c40d4]
lea ecx, [edx + 1]
imul ecx, edx
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov ebx, 0xdb2b135c
mov edi, 0x35928dd5
cmovne ebx, edi
test edx, ecx
mov edi, ebx
mov ecx, 0x35928dd5
cmove edi, ecx
cmp eax, 0xa
cmovge edi, ebx
jmp 0x4528b4
jmp 0x4539dd
jmp 0x4539df
jmp 0x4539e1
jmp 0x4539e3
jmp 0x4539e5
jmp 0x4539e7
mov eax, dword [esi + 0xa8]
mov eax, dword [eax + 0x24]
sub esp, 0x30
vmovaps ymm0, ymmword [0x5abf00]
vmovups ymmword [esp + 0xc], ymm0
mov dword [esp + 4], eax
mov dword [esp + 0x2c], 0
mov dword [esp + 8], 0x5b307c
mov dword [esp], 0
vzeroupper
call dword [sym.imp.USER32.dll_CreateWindowExA]
jmp 0x453a48
mov eax, dword [esi + 0xb4]
mov dword [eax], 0xa
mov dword [esi + 0xd8], 5
push eax
call fcn.0044c310
add esp, 4
mov eax, dword [0x5c4078]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c407c], 0xa
setl cl
test cl, al
jne 0x453a29
xor cl, al
jne 0x453a29
jmp 0x453a6f