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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5889a0
mov eax, dword fs:[0]
push eax
sub esp, 0x1a0
mov eax, dword [0x5e5c10]
xor eax, esp
mov dword [esp + 0x198], eax
push ebx
push esi
push edi
mov eax, dword [0x5e5c10]
xor eax, esp
push eax
lea eax, [esp + 0x1b0]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
mov edi, edx
mov esi, ecx
mov dword [esp + 0x20], edi
mov dword [esp + 0x28], ebx
cmp eax, 0x11
ja case.default.0x45169b
jmp dword [eax*4 + 0x454980]
lea ecx, [esp + 0x1c]
call fcn.0040c220
lea ecx, [esp + 0x20]
mov dword [esp + 0x1b8], 0
call fcn.0040c220
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x20]
push ecx
mov ecx, ebx
mov byte [esp + 0x1c0], 1
call fcn.004549e0
test al, al
je 0x451ac9
lea edx, [esp + 0x1c]
push str.W_SO
push edx
call fcn.0040bae0
add esp, 8
test al, al
je 0x4519f7
lea ecx, [esp + 0x18]
call fcn.0040c220
lea ecx, [esp + 0x20]
mov byte [esp + 0x1b8], 2
call fcn.0040b6e0
mov ecx, eax
call fcn.0040b760
push 1
push 0
lea ecx, [esp + 0x28]
call fcn.00456380
mov eax, dword [esp + 0x20]
cmp dword [eax - 0xc], 0
jg 0x451737
or esi, 0xffffffff
jmp 0x451753
push 0x2c
push eax
call fcn.0056132d
add esp, 8
test eax, eax
jne 0x45174b
or esi, 0xffffffff
jmp 0x451753
sub eax, dword [esp + 0x20]
sar eax, 1
mov esi, eax
xor ebx, ebx
lea ecx, [esp + 0x20]
call fcn.0040b6e0
mov ecx, eax
call fcn.0040b760
test ebx, ebx
jne 0x4517ae
push esi
lea eax, [esp + 0xb4]
push eax
lea ecx, [esp + 0x28]
call fcn.00415630
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1bc], 3
call fcn.0040c2f0
mov byte [esp + 0x1b8], 2
mov eax, dword [esp + 0xb0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jmp 0x4517eb
cmp ebx, 1
jne 0x451800
push esi
lea ecx, [esp + 0x138]
push ecx
lea ecx, [esp + 0x28]
call fcn.00415630
mov eax, dword [eax]
push eax
call fcn.00560668
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x138]
add eax, 0xfffffff0
add esp, 4
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x451885
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x451885
cmp ebx, 2
jne 0x451853
push esi
lea ecx, [esp + 0x30]
push ecx
lea ecx, [esp + 0x28]
call fcn.00415630
lea edx, [esp + 0x2c]
push str.FFFFFFFF
push edx
call fcn.0040bae0
add esp, 8
test al, al
je 0x45183c
push 0xf
call dword [sym.imp.USER32.dll_GetSysColor]
mov dword [esp + 0x34], eax
lea ecx, [esp + 0x2c]
jmp 0x451880
mov eax, dword [esp + 0x2c]
push eax
call fcn.00560668
add esp, 4
mov dword [esp + 0x34], eax
lea ecx, [esp + 0x2c]
jmp 0x451880
cmp ebx, 3
jne 0x451885
push esi
lea ecx, [esp + 0x140]
push ecx
lea ecx, [esp + 0x28]
call fcn.00415630
mov eax, dword [eax]
push eax
call fcn.00560668
add esp, 4
mov dword [esp + 0x14], eax
lea ecx, [esp + 0x13c]
call fcn.00415a10
mov edx, dword [esp + 0x20]
mov eax, dword [edx - 0xc]
sub eax, esi
dec eax
push eax
lea eax, [esp + 0x4c]
push eax
lea ecx, [esp + 0x28]
call fcn.004155b0
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0x1bc], 4
call fcn.0040c2f0
mov byte [esp + 0x1b8], 2
mov eax, dword [esp + 0x48]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4518d8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x20]
cmp dword [ecx - 0xc], 0
jg 0x4518e7
or esi, 0xffffffff
jmp 0x451905
push 0x2c
push ecx
call fcn.0056132d
mov ecx, dword [esp + 0x28]
add esp, 8
test eax, eax
jne 0x4518ff
or esi, 0xffffffff
jmp 0x451905
sub eax, ecx
sar eax, 1
mov esi, eax
inc ebx
cmp ebx, 4
jl 0x451755
cmp dword [ecx - 0xc], 0
jg 0x45191a
or eax, 0xffffffff
jmp 0x451934
push 0x29
push ecx
call fcn.0056132d
add esp, 8
test eax, eax
jne 0x45192e
or eax, 0xffffffff
jmp 0x451934
sub eax, dword [esp + 0x20]
sar eax, 1
push eax
lea ecx, [esp + 0xcc]
push ecx
lea ecx, [esp + 0x28]
call fcn.00415630
mov eax, dword [eax]
push eax
call fcn.00560668
mov ebx, eax
mov eax, dword [esp + 0xcc]
add eax, 0xfffffff0
add esp, 4
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x451976
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [edi + 0x98], 0
mov ecx, dword [esp + 0x34]
mov dword [edi + 0x8c], ecx
jne 0x45198d
mov byte [edi + 0x79], 1
mov esi, edi
call fcn.0043bbe0
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
push ebx
push edx
push eax
push ecx
add esi, 0xfffffff0
mov dword [esp + 0x40], esp
mov ebx, esp
push esi
mov dword [edi + 0x74], 0
mov byte [edi + 0x78], 0
call fcn.0040c280
add eax, 0x10
add esp, 4
mov ecx, edi
mov dword [ebx], eax
call fcn.0043bb40
mov byte [esp + 0x1b8], 1
lea ecx, [esi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x451aae
mov ecx, dword [esi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push esi
call edx
jmp 0x451aae
lea eax, [esp + 0x1c]
push 0x5be4fc
push eax
call fcn.0040bae0
add esp, 8
test al, al
je 0x451a49
mov ecx, dword [esp + 0x20]
push ecx
call fcn.00560668
add esp, 4
mov dword [edi + 0x94], eax
test eax, eax
jne 0x451a37
mov byte [edi + 0x7b], 1
mov byte [edi + 0x7a], 0
cmp eax, 2
jne 0x451a43
mov byte [edi + 0x7c], 1
jmp 0x451aae
mov byte [edi + 0x7b], 0
cmp eax, 1
jne 0x451a28
mov byte [edi + 0x7a], al
mov byte [edi + 0x7c], 0
jmp 0x451aae
lea edx, [esp + 0x1c]
push 0x5becc0
push edx
call fcn.0040bae0
add esp, 8
test al, al
je 0x451a75
mov eax, dword [esp + 0x20]
push eax
call fcn.00560668
add esp, 4
mov ecx, edi
call fcn.0043bd70
jmp 0x451aae
lea ecx, [esp + 0x1c]
push 0x5bd1b0
push ecx
call fcn.0040bae0
add esp, 8
test al, al
je 0x451aae
mov eax, dword [esp + 0x20]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x34], esp
mov esi, esp
push eax
call fcn.0040c280
add eax, 0x10
add esp, 4
mov ebx, edi
mov dword [esi], eax
call fcn.0043bcc0
mov ecx, dword [esp + 0x28]
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x20]
push eax
call fcn.004549e0
test al, al
jne 0x4516e0
mov byte [esp + 0x1b8], 0
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x451af1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x1b8], 0xffffffff
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg case.default.0x45169b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp case.default.0x45169b
lea ecx, [esp + 0x18]
call fcn.0040c220
lea ecx, [esp + 0x14]
mov dword [esp + 0x1b8], 5
call fcn.0040c220
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x1c]
push edx
mov ecx, ebx
mov byte [esp + 0x1c0], 6
call fcn.004549e0
test al, al
je 0x4520cf
lea eax, [esp + 0x18]
push 0x5be4fc
push eax
call fcn.0040bae0
add esp, 8
test al, al
je 0x451b98
mov ecx, dword [esp + 0x14]
mov esi, dword [edi]
push ecx
call fcn.00560668
mov edx, dword [esi + 0x19c]
add esp, 4
push eax
mov ecx, edi
call edx
jmp 0x4520b4
lea eax, [esp + 0x18]
push 0x5be4f0
push eax
call fcn.0040bae0
add esp, 8
test al, al
je 0x451bcd
mov ecx, dword [esp + 0x14]
mov esi, dword [edi]
push ecx
call fcn.00560668
mov edx, dword [esi + 0x168]
add esp, 4
push eax
mov ecx, edi
call edx
jmp 0x4520b4
lea eax, [esp + 0x18]
push 0x5be4e0
push eax
call fcn.0040bae0
add esp, 8
test al, al
je 0x451c09
mov eax, dword [edi + 0x84]
mov ecx, dword [esp + 0x14]
mov esi, dword [edi]
push eax
push ecx
call fcn.00560668
mov edx, dword [esi + 0x170]
add esp, 4
push eax
mov ecx, edi
call edx
jmp 0x4520b4
lea eax, [esp + 0x18]
push 0x5beccc
push eax
call fcn.0040bae0
add esp, 8
test al, al
je 0x451c45
mov ecx, dword [esp + 0x14]
mov ebx, dword [edi + 0x80]
mov esi, dword [edi]
push ecx
call fcn.00560668
mov edx, dword [esi + 0x170]
add esp, 4
push eax
push ebx
mov ecx, edi
call edx
jmp 0x4520b4
lea eax, [esp + 0x18]
push 0x5becd8
push eax
call fcn.0040bae0
add esp, 8
test al, al
je 0x451c7a
mov ecx, dword [esp + 0x14]
mov esi, dword [edi]
push ecx
call fcn.00560668
mov edx, dword [esi + 0x16c]
add esp, 4
push eax
mov ecx, edi
call edx
jmp 0x4520b4
lea eax, [esp + 0x18]
push 0x5bece4
push eax
call fcn.0040bae0
add esp, 8
test al, al
je 0x451caf
mov ecx, dword [esp + 0x14]
mov esi, dword [edi]
push ecx
call fcn.00560668
mov edx, dword [esi + 0x17c]
add esp, 4
push eax
mov ecx, edi
call edx
jmp 0x4520b4
lea eax, [esp + 0x18]
push str.W_SO
push eax
call fcn.0040bae0
add esp, 8
test al, al
je 0x45207b
lea ecx, [esp + 0x14]
call fcn.0040b6e0
mov ecx, eax
call fcn.0040b760
push 1
push 0
lea ecx, [esp + 0x1c]
call fcn.00456380
mov eax, dword [esp + 0x14]
cmp dword [eax - 0xc], 0
jg 0x451cf5
or esi, 0xffffffff
jmp 0x451d11
push 0x2c
push eax
call fcn.0056132d
add esp, 8
test eax, eax
jne 0x451d09
or esi, 0xffffffff
jmp 0x451d11
sub eax, dword [esp + 0x14]
sar eax, 1
mov esi, eax
xor ebx, ebx
lea ecx, [esp + 0x14]
call fcn.0040b6e0
mov ecx, eax
call fcn.0040b760
test ebx, ebx
jne 0x451d4e
push esi
lea ecx, [esp + 0x54]
push ecx
lea ecx, [esp + 0x1c]
call fcn.00415630
mov eax, dword [eax]
push eax
call fcn.00560668
mov dword [esp + 0x148], eax
lea ecx, [esp + 0x54]
jmp 0x451f7d
cmp ebx, 1
jne 0x451d80
push esi
lea edx, [esp + 0x10c]
push edx
lea ecx, [esp + 0x1c]
call fcn.00415630
mov eax, dword [eax]
push eax
call fcn.00560668
mov dword [esp + 0x14c], eax
lea ecx, [esp + 0x10c]
jmp 0x451f7d
cmp ebx, 2
jne 0x451dac
push esi
lea eax, [esp + 0x5c]
push eax
lea ecx, [esp + 0x1c]
call fcn.00415630
mov eax, dword [eax]
push eax
call fcn.00560668
mov dword [esp + 0x150], eax
lea ecx, [esp + 0x5c]
jmp 0x451f7d
cmp ebx, 3
jne 0x451dde
push esi
lea ecx, [esp + 0xd4]
push ecx
lea ecx, [esp + 0x1c]
call fcn.00415630
mov eax, dword [eax]
push eax
call fcn.00560668
mov dword [esp + 0x154], eax
lea ecx, [esp + 0xd4]
jmp 0x451f7d
cmp ebx, 4
jne 0x451e0a
push esi
lea edx, [esp + 0x64]
push edx
lea ecx, [esp + 0x1c]
call fcn.00415630
mov eax, dword [eax]
push eax
call fcn.00560668
mov dword [esp + 0x158], eax
lea ecx, [esp + 0x64]
jmp 0x451f7d
cmp ebx, 5
jne 0x451e3c
push esi
lea eax, [esp + 0x12c]
push eax
lea ecx, [esp + 0x1c]
call fcn.00415630
mov eax, dword [eax]
push eax
call fcn.00560668
mov byte [esp + 0x15c], al
lea ecx, [esp + 0x12c]
jmp 0x451f7d
cmp ebx, 6
jne 0x451e68
push esi
lea ecx, [esp + 0x6c]
push ecx
lea ecx, [esp + 0x1c]
call fcn.00415630
mov eax, dword [eax]
push eax
call fcn.00560668
mov byte [esp + 0x15d], al
lea ecx, [esp + 0x6c]
jmp 0x451f7d
cmp ebx, 7
jne 0x451e9a
push esi
lea edx, [esp + 0xdc]
push edx
lea ecx, [esp + 0x1c]
call fcn.00415630
mov eax, dword [eax]
push eax
call fcn.00560668
mov byte [esp + 0x15e], al
lea ecx, [esp + 0xdc]
jmp 0x451f7d
cmp ebx, 8
jne 0x451ec6
push esi
lea eax, [esp + 0x74]
push eax
lea ecx, [esp + 0x1c]
call fcn.00415630
mov eax, dword [eax]
push eax
call fcn.00560668
mov byte [esp + 0x15f], al
lea ecx, [esp + 0x74]
jmp 0x451f7d
cmp ebx, 9
jne 0x451ef8
push esi
lea ecx, [esp + 0x114]
push ecx
lea ecx, [esp + 0x1c]
call fcn.00415630
mov eax, dword [eax]
push eax
call fcn.00560668
mov byte [esp + 0x160], al
lea ecx, [esp + 0x114]
jmp 0x451f7d
cmp ebx, 0xa
jne 0x451f21
push esi
lea edx, [esp + 0x7c]
push edx
lea ecx, [esp + 0x1c]
call fcn.00415630
mov eax, dword [eax]
push eax
call fcn.00560668
mov byte [esp + 0x161], al
lea ecx, [esp + 0x7c]
jmp 0x451f7d
cmp ebx, 0xb
jne 0x451f50
push esi
lea eax, [esp + 0xe4]
push eax
lea ecx, [esp + 0x1c]
call fcn.00415630
mov eax, dword [eax]
push eax
call fcn.00560668
mov byte [esp + 0x162], al
lea ecx, [esp + 0xe4]
jmp 0x451f7d
cmp ebx, 0xc
jne 0x451f85
push esi
lea ecx, [esp + 0x84]
push ecx
lea ecx, [esp + 0x1c]
call fcn.00415630
mov eax, dword [eax]
push eax
call fcn.00560668
mov byte [esp + 0x163], al
lea ecx, [esp + 0x84]
add esp, 4
call fcn.00415a10
mov edx, dword [esp + 0x14]
mov eax, dword [edx - 0xc]
sub eax, esi
dec eax
push eax
lea eax, [esp + 0x13c]
push eax
lea ecx, [esp + 0x1c]
call fcn.004155b0
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x1bc], 7
call fcn.0040c2f0
lea ecx, [esp + 0x138]
mov byte [esp + 0x1b8], 6
call fcn.00415a10
mov ecx, dword [esp + 0x14]
cmp dword [ecx - 0xc], 0
jg 0x451fd6
or esi, 0xffffffff
jmp 0x451ff4
push 0x2c
push ecx
call fcn.0056132d
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
jne 0x451fee
or esi, 0xffffffff
jmp 0x451ff4
sub eax, ecx
sar eax, 1
mov esi, eax
inc ebx
cmp ebx, 0xd
jl 0x451d13
cmp dword [ecx - 0xc], 0
jg 0x452009
or eax, 0xffffffff
jmp 0x452023
push 0x29
push ecx
call fcn.0056132d
add esp, 8
test eax, eax
jne 0x45201d
or eax, 0xffffffff
jmp 0x452023
sub eax, dword [esp + 0x14]
sar eax, 1
push eax
lea ecx, [esp + 0x8c]
push ecx
lea ecx, [esp + 0x1c]
call fcn.00415630
mov eax, dword [eax]
push eax
lea edx, [esp + 0x164]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
lea ecx, [esp + 0x88]
call fcn.00415a10
mov eax, dword [esp + 0x20]
mov edx, dword [eax]
sub esp, 0x5c
mov edi, esp
mov ecx, 0x17
lea esi, [esp + 0x1a0]
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [edx + 0x198]
call eax
mov edi, dword [esp + 0x20]
jmp 0x4520b4
lea ecx, [esp + 0x18]
push 0x5bd1b0
push ecx
call fcn.0040bae0
add esp, 8
test al, al
je 0x4520b4
mov eax, dword [esp + 0x14]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x34], esp
mov esi, esp
push eax
call fcn.0040c280
add eax, 0x10
add esp, 4
mov ebx, edi
mov dword [esi], eax
call fcn.00439890
mov ecx, dword [esp + 0x28]
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x1c]
push eax
call fcn.004549e0
test al, al
jne 0x451b63
mov byte [esp + 0x1b8], 5
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4520f7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x1b8], 0xffffffff
mov eax, dword [esp + 0x18]
jmp 0x451b00
lea ecx, [esp + 0x18]
call fcn.0040c220
lea ecx, [esp + 0x14]
mov dword [esp + 0x1b8], 8
call fcn.0040c220
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x1c]
push edx
mov ecx, ebx
mov byte [esp + 0x1c0], 9
call fcn.004549e0
test al, al
je 0x452637
lea esp, [esp]
lea eax, [esp + 0x18]
push 0x5be558
push eax
call fcn.0040bae0
add esp, 8
test al, al
je 0x452188
mov ecx, dword [esp + 0x14]
push ecx
call fcn.00560668
add esp, 4
test eax, eax
setne dl
movzx eax, dl
push eax
mov esi, edi
call fcn.004370e0
jmp 0x45261c
lea ecx, [esp + 0x18]
push 0x5be560
push ecx
call fcn.0040bae0
add esp, 8
test al, al
je 0x4521d7
mov edx, dword [esp + 0x14]
push edx
call fcn.00560668
add esp, 4
test eax, eax
setne bl
mov esi, edi
call fcn.004371b0
mov eax, dword [esp + 0x14]
push eax
call fcn.00560668
add esp, 4
test eax, eax
je 0x45261c
mov dword [0x5f041c], edi
jmp 0x45261c
lea ecx, [esp + 0x18]
push str._tgHe
push ecx
call fcn.0040bae0
add esp, 8
test al, al
je 0x45220f
mov edx, dword [esp + 0x14]
push edx
call fcn.00560668
add esp, 4
test eax, eax
setne al
movzx ecx, al
push ecx
mov esi, edi
call fcn.00437140
jmp 0x45261c
lea edx, [esp + 0x18]
push str.W_SO
push edx
call fcn.0040bae0
add esp, 8
test al, al
je 0x4525e3
lea ecx, [esp + 0x14]
call fcn.0040b6e0
mov ecx, eax
call fcn.0040b760
push 1
push 0
lea ecx, [esp + 0x1c]
call fcn.00456380
mov eax, dword [esp + 0x14]
cmp dword [eax - 0xc], 0
jg 0x452255
or esi, 0xffffffff
jmp 0x452271
push 0x2c
push eax
call fcn.0056132d
add esp, 8
test eax, eax
jne 0x452269
or esi, 0xffffffff
jmp 0x452271
sub eax, dword [esp + 0x14]
sar eax, 1
mov esi, eax
xor ebx, ebx
lea ecx, [esp + 0x14]
call fcn.0040b6e0
mov ecx, eax
call fcn.0040b760
test ebx, ebx
jne 0x4522b4
push esi
lea eax, [esp + 0xec]
push eax
lea ecx, [esp + 0x1c]
call fcn.00415630
mov eax, dword [eax]
push eax
call fcn.00560668
mov dword [esp + 0x148], eax
lea ecx, [esp + 0xec]
jmp 0x4524fb
cmp ebx, 1
jne 0x4522e6
push esi
lea ecx, [esp + 0x94]
push ecx
lea ecx, [esp + 0x1c]
call fcn.00415630
mov eax, dword [eax]
push eax
call fcn.00560668
mov dword [esp + 0x14c], eax
lea ecx, [esp + 0x94]
jmp 0x4524fb
cmp ebx, 2
jne 0x452318
push esi
lea edx, [esp + 0x11c]
push edx
lea ecx, [esp + 0x1c]
call fcn.00415630
mov eax, dword [eax]
push eax
call fcn.00560668
mov dword [esp + 0x150], eax
lea ecx, [esp + 0x11c]
jmp 0x4524fb
cmp ebx, 3
jne 0x45234a
push esi
lea eax, [esp + 0x9c]
push eax
lea ecx, [esp + 0x1c]
call fcn.00415630
mov eax, dword [eax]
push eax
call fcn.00560668
mov dword [esp + 0x154], eax
lea ecx, [esp + 0x9c]
jmp 0x4524fb
cmp ebx, 4
jne 0x45237c
push esi
lea ecx, [esp + 0xf4]
push ecx
lea ecx, [esp + 0x1c]
call fcn.00415630
mov eax, dword [eax]
push eax
call fcn.00560668
mov dword [esp + 0x158], eax
lea ecx, [esp + 0xf4]
jmp 0x4524fb
cmp ebx, 5
jne 0x4523ae
push esi
lea edx, [esp + 0xa4]
push edx
lea ecx, [esp + 0x1c]
call fcn.00415630
mov eax, dword [eax]
push eax
call fcn.00560668
mov byte [esp + 0x15c], al
lea ecx, [esp + 0xa4]
jmp 0x4524fb
cmp ebx, 6
jne 0x4523e0
push esi
lea eax, [esp + 0x134]
push eax
lea ecx, [esp + 0x1c]
call fcn.00415630
mov eax, dword [eax]
push eax
call fcn.00560668
mov byte [esp + 0x15d], al
lea ecx, [esp + 0x134]
jmp 0x4524fb
cmp ebx, 7
jne 0x452412
push esi
lea ecx, [esp + 0xac]
push ecx
lea ecx, [esp + 0x1c]
call fcn.00415630
mov eax, dword [eax]
push eax
call fcn.00560668
mov byte [esp + 0x15e], al
lea ecx, [esp + 0xac]
jmp 0x4524fb
cmp ebx, 8
jne 0x452444
push esi
lea edx, [esp + 0xfc]
push edx
lea ecx, [esp + 0x1c]
call fcn.00415630
mov eax, dword [eax]
push eax
call fcn.00560668
mov byte [esp + 0x15f], al
lea ecx, [esp + 0xfc]
jmp 0x4524fb
cmp ebx, 9
jne 0x452470
push esi
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + 0x1c]
call fcn.00415630
mov eax, dword [eax]
push eax
call fcn.00560668
mov byte [esp + 0x160], al
lea ecx, [esp + 0x44]
jmp 0x4524fb
cmp ebx, 0xa
jne 0x45249f
push esi
lea ecx, [esp + 0x124]
push ecx
lea ecx, [esp + 0x1c]
call fcn.00415630
mov eax, dword [eax]
push eax
call fcn.00560668
mov byte [esp + 0x161], al
lea ecx, [esp + 0x124]
jmp 0x4524fb
cmp ebx, 0xb
jne 0x4524ce
push esi
lea edx, [esp + 0xbc]
push edx
lea ecx, [esp + 0x1c]
call fcn.00415630
mov eax, dword [eax]
push eax
call fcn.00560668
mov byte [esp + 0x162], al
lea ecx, [esp + 0xbc]
jmp 0x4524fb
cmp ebx, 0xc
jne 0x452503
push esi
lea eax, [esp + 0x104]
push eax
lea ecx, [esp + 0x1c]
call fcn.00415630
mov eax, dword [eax]
push eax
call fcn.00560668
mov byte [esp + 0x163], al
lea ecx, [esp + 0x104]
add esp, 4
call fcn.00415a10
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx - 0xc]
sub eax, esi
dec eax
push eax
lea edx, [esp + 0xc4]
push edx
lea ecx, [esp + 0x1c]
call fcn.004155b0
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x1bc], 0xa
call fcn.0040c2f0
lea ecx, [esp + 0xc0]
mov byte [esp + 0x1b8], 9
call fcn.00415a10
mov ecx, dword [esp + 0x14]
cmp dword [ecx - 0xc], 0
jg 0x452554
or esi, 0xffffffff
jmp 0x452572
push 0x2c
push ecx
call fcn.0056132d
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
jne 0x45256c
or esi, 0xffffffff
jmp 0x452572
sub eax, ecx
sar eax, 1
mov esi, eax
inc ebx
cmp ebx, 0xd
jl 0x452273
cmp dword [ecx - 0xc], 0
jg 0x452587
or eax, 0xffffffff
jmp 0x4525a1
push 0x29
push ecx
call fcn.0056132d
add esp, 8
test eax, eax
jne 0x45259b
or eax, 0xffffffff
jmp 0x4525a1
sub eax, dword [esp + 0x14]
sar eax, 1
push eax
lea eax, [esp + 0x144]
push eax
lea ecx, [esp + 0x1c]
call fcn.00415630
mov eax, dword [eax]
push eax
lea ecx, [esp + 0x164]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
lea ecx, [esp + 0x140]
call fcn.00415a10
mov edi, dword [esp + 0x20]
lea edx, [esp + 0x144]
push edx
call fcn.00437720
jmp 0x45261c
lea eax, [esp + 0x18]
push 0x5bd1b0
push eax
call fcn.0040bae0
add esp, 8
test al, al
je 0x45261c
mov eax, dword [esp + 0x14]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x34], esp
mov esi, esp
push eax
call fcn.0040c280
add eax, 0x10
add esp, 4
mov ebx, edi
mov dword [esi], eax
call fcn.00437ac0
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0x1c]
push edx
call fcn.004549e0
test al, al
jne 0x452150
mov byte [esp + 0x1b8], 8
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4520f7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x1b8], 0xffffffff
mov eax, dword [esp + 0x18]
jmp 0x451b00
lea ecx, [esp + 0x24]
call fcn.0040c220
lea ecx, [esp + 0x14]
mov dword [esp + 0x1b8], 0xb
call fcn.0040c220
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x28]
push edx
mov ecx, ebx
mov byte [esp + 0x1c0], 0xc
call fcn.004549e0
test al, al
je 0x452cb0
lea eax, [esp + 0x24]
push str._tgHe
push eax
call fcn.0040bae0
add esp, 8
test al, al
je 0x4526e8
mov ecx, dword [esp + 0x14]
push ecx
call fcn.00560668
add esp, 4
test eax, eax
setne al
mov byte [edi + 0x9f], al
jmp 0x452c95
lea edx, [esp + 0x24]
push 0x5be558
push edx
call fcn.0040bae0
add esp, 8
test al, al
je 0x45271b
mov eax, dword [esp + 0x14]
push eax
call fcn.00560668
add esp, 4
test eax, eax
setne al
mov byte [edi + 0xa0], al
jmp 0x452c95
lea ecx, [esp + 0x24]
push 0x5be584
push ecx
call fcn.0040bae0
add esp, 8
test al, al
je 0x45274e
mov edx, dword [esp + 0x14]
push edx
call fcn.00560668
add esp, 4
test eax, eax
setne al
mov byte [edi + 0x9c], al
jmp 0x452c95
lea eax, [esp + 0x24]
push str.peW_
push eax
call fcn.0040bae0
add esp, 8
test al, al
je 0x452781
mov ecx, dword [esp + 0x14]
push ecx
call fcn.00560668
add esp, 4
test eax, eax
setne al
mov byte [edi + 0x9d], al
jmp 0x452c95
lea edx, [esp + 0x24]
push 0x5be58c
push edx
call fcn.0040bae0
add esp, 8
test al, al
je 0x4527b4
mov eax, dword [esp + 0x14]
push eax
call fcn.00560668
add esp, 4
test eax, eax
setne al
mov byte [edi + 0x9e], al
jmp 0x452c95
lea ecx, [esp + 0x24]
push 0x5be578
push ecx
call fcn.0040bae0
add esp, 8
test al, al
je 0x4527e2
mov edx, dword [esp + 0x14]
push edx
call fcn.00560668
add esp, 4
mov dword [edi + 0x84], eax
jmp 0x452c95
lea eax, [esp + 0x24]
push 0x5b8498
push eax
call fcn.0040bae0
add esp, 8
test al, al
je 0x452810
mov ecx, dword [esp + 0x14]
push ecx
call fcn.00560668
add esp, 4
mov dword [edi + 0x88], eax
jmp 0x452c95
lea edx, [esp + 0x24]
push 0x5be678
push edx
call fcn.0040bae0
add esp, 8
test al, al
je 0x452843
mov eax, dword [esp + 0x14]
push eax
call fcn.00560668
add esp, 4
test eax, eax
setne al
mov byte [edi + 0xa1], al
jmp 0x452c95
lea ecx, [esp + 0x24]
push str.4ls
push ecx
call fcn.0040bae0
add esp, 8
test al, al
je 0x452876
mov edx, dword [esp + 0x14]
push edx
call fcn.00560668
add esp, 4
test eax, eax
setne al
mov byte [edi + 0xa2], al
jmp 0x452c95
lea eax, [esp + 0x24]
push 0x5be4fc
push eax
call fcn.0040bae0
add esp, 8
test al, al
je 0x4528a7
mov ecx, dword [esp + 0x14]
push ecx
call fcn.00560668
mov edi, dword [esp + 0x24]
add esp, 4
call fcn.004076b0
jmp 0x452c95
lea edx, [esp + 0x24]
push str.W_SO
push edx
call fcn.0040bae0
add esp, 8
test al, al
je 0x452c5c
lea ecx, [esp + 0x14]
call fcn.0040b6e0
mov ecx, eax
call fcn.0040b760
push 1
push 0
lea ecx, [esp + 0x1c]
call fcn.00456380
mov eax, dword [esp + 0x14]
cmp dword [eax - 0xc], 0
jg 0x4528ed
or esi, 0xffffffff
jmp 0x452909
push 0x2c
push eax
call fcn.0056132d
add esp, 8
test eax, eax
jne 0x452901
or esi, 0xffffffff
jmp 0x452909
sub eax, dword [esp + 0x14]
sar eax, 1
mov esi, eax
xor ebx, ebx
jmp 0x452910
lea ecx, [esp + 0x14]
call fcn.0040b6e0
mov ecx, eax
call fcn.0040b760
test ebx, ebx
jne 0x45294b
push esi
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x1c]
call fcn.00415630
mov eax, dword [eax]
push eax
call fcn.00560668
mov dword [esp + 0x148], eax
lea ecx, [esp + 0x48]
jmp 0x452b74
cmp ebx, 1
jne 0x452977
push esi
lea ecx, [esp + 0x50]
push ecx
lea ecx, [esp + 0x1c]
call fcn.00415630
mov eax, dword [eax]
push eax
call fcn.00560668
mov dword [esp + 0x14c], eax
lea ecx, [esp + 0x50]
jmp 0x452b74
cmp ebx, 2
jne 0x4529a3
push esi
lea edx, [esp + 0x58]
push edx
lea ecx, [esp + 0x1c]
call fcn.00415630
mov eax, dword [eax]
push eax
call fcn.00560668
mov dword [esp + 0x150], eax
lea ecx, [esp + 0x58]
jmp 0x452b74
cmp ebx, 3
jne 0x4529cf
push esi
lea eax, [esp + 0x60]
push eax
lea ecx, [esp + 0x1c]
call fcn.00415630
mov eax, dword [eax]
push eax
call fcn.00560668
mov dword [esp + 0x154], eax
lea ecx, [esp + 0x60]
jmp 0x452b74
cmp ebx, 4
jne 0x4529fb
push esi
lea ecx, [esp + 0x68]
push ecx
lea ecx, [esp + 0x1c]
call fcn.00415630
mov eax, dword [eax]
push eax
call fcn.00560668
mov dword [esp + 0x158], eax
lea ecx, [esp + 0x68]
jmp 0x452b74
cmp ebx, 5
jne 0x452a27
push esi
lea edx, [esp + 0x70]
push edx
lea ecx, [esp + 0x1c]
call fcn.00415630
mov eax, dword [eax]
push eax
call fcn.00560668
mov byte [esp + 0x15c], al
lea ecx, [esp + 0x70]
jmp 0x452b74
cmp ebx, 6
jne 0x452a53
push esi
lea eax, [esp + 0x78]
push eax
lea ecx, [esp + 0x1c]
call fcn.00415630
mov eax, dword [eax]
push eax
call fcn.00560668
mov byte [esp + 0x15d], al
lea ecx, [esp + 0x78]
jmp 0x452b74
cmp ebx, 7
jne 0x452a85
push esi
lea ecx, [esp + 0x80]
push ecx
lea ecx, [esp + 0x1c]
call fcn.00415630
mov eax, dword [eax]
push eax
call fcn.00560668
mov byte [esp + 0x15e], al
lea ecx, [esp + 0x80]
jmp 0x452b74
cmp ebx, 8
jne 0x452ab7
push esi
lea edx, [esp + 0x88]
push edx
lea ecx, [esp + 0x1c]
call fcn.00415630
mov eax, dword [eax]
push eax
call fcn.00560668
mov byte [esp + 0x15f], al
lea ecx, [esp + 0x88]
jmp 0x452b74
cmp ebx, 9
jne 0x452ae9
push esi
lea eax, [esp + 0x90]
push eax
lea ecx, [esp + 0x1c]
call fcn.00415630
mov eax, dword [eax]
push eax
call fcn.00560668
mov byte [esp + 0x160], al
lea ecx, [esp + 0x90]
jmp 0x452b74
cmp ebx, 0xa
jne 0x452b18
push esi
lea ecx, [esp + 0x98]
push ecx
lea ecx, [esp + 0x1c]
call fcn.00415630
mov eax, dword [eax]
push eax
call fcn.00560668
mov byte [esp + 0x161], al
lea ecx, [esp + 0x98]
jmp 0x452b74
cmp ebx, 0xb
jne 0x452b47
push esi
lea edx, [esp + 0xa0]
push edx
lea ecx, [esp + 0x1c]
call fcn.00415630
mov eax, dword [eax]
push eax
call fcn.00560668
mov byte [esp + 0x162], al
lea ecx, [esp + 0xa0]
jmp 0x452b74
cmp ebx, 0xc
jne 0x452b7c
push esi
lea eax, [esp + 0xa8]
push eax
lea ecx, [esp + 0x1c]
call fcn.00415630
mov eax, dword [eax]
push eax
call fcn.00560668
mov byte [esp + 0x163], al
lea ecx, [esp + 0xa8]
add esp, 4
call fcn.00415a10
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx - 0xc]
sub eax, esi
dec eax
push eax
lea edx, [esp + 0xb0]
push edx
lea ecx, [esp + 0x1c]
call fcn.004155b0
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x1bc], 0xd
call fcn.0040c2f0
lea ecx, [esp + 0xac]
mov byte [esp + 0x1b8], 0xc
call fcn.00415a10
mov ecx, dword [esp + 0x14]
cmp dword [ecx - 0xc], 0
jg 0x452bcd
or esi, 0xffffffff
jmp 0x452beb
push 0x2c
push ecx
call fcn.0056132d
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
jne 0x452be5
or esi, 0xffffffff
jmp 0x452beb
sub eax, ecx
sar eax, 1
mov esi, eax
inc ebx
cmp ebx, 0xd
jl 0x452910
cmp dword [ecx - 0xc], 0
jg 0x452c00
or eax, 0xffffffff
jmp 0x452c1a
push 0x29
push ecx
call fcn.0056132d
add esp, 8
test eax, eax
jne 0x452c14
or eax, 0xffffffff
jmp 0x452c1a
sub eax, dword [esp + 0x14]
sar eax, 1
push eax
lea eax, [esp + 0xb8]
push eax
lea ecx, [esp + 0x1c]
call fcn.00415630
mov eax, dword [eax]
push eax
lea ecx, [esp + 0x164]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
lea ecx, [esp + 0xb4]
call fcn.00415a10
mov edi, dword [esp + 0x20]
lea edx, [esp + 0x144]
push edx
call fcn.00438a40
jmp 0x452c95
lea eax, [esp + 0x24]
push 0x5bd1b0
push eax
call fcn.0040bae0
add esp, 8
test al, al
je 0x452c95
mov eax, dword [esp + 0x14]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x34], esp
mov esi, esp
push eax
call fcn.0040c280
add eax, 0x10
add esp, 4
mov ebx, edi
mov dword [esi], eax
call fcn.00438ab0
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0x28]
push edx
call fcn.004549e0
test al, al
jne 0x4526b5
mov byte [esp + 0x1b8], 0xb
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x452cd8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x1b8], 0xffffffff
mov eax, dword [esp + 0x24]
jmp 0x451b00
lea ecx, [esp + 0x24]
call fcn.0040c220
lea ecx, [esp + 0x18]
mov dword [esp + 0x1b8], 0xe
call fcn.0040c220
mov byte [esp + 0x1b8], 0xf
cmp byte [esi + 0x10], 0
je 0x452d3d
push 0
push 0x20000
push 0
mov ecx, edi
call fcn.00457e15
mov ecx, dword [edi + 0x20]
push 1
push 0
push ecx
mov byte [edi + 0x7b], 1
call dword [sym.imp.USER32.dll_InvalidateRect]
mov byte [esi + 0x10], 0
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x28]
push eax
mov ecx, ebx
call fcn.004549e0
test al, al
je 0x452e91
lea ecx, [esp + 0x24]
push 0x5becf8
push ecx
call fcn.0040bae0
add esp, 8
test al, al
je 0x452d9b
mov edx, dword [esp + 0x18]
push edx
call fcn.00560668
mov ecx, dword [edi + 0x20]
add esp, 4
test eax, eax
setne al
mov byte [edi + 0x78], al
push 0
movzx eax, al
push eax
push 0xf1
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x452e76
lea edx, [esp + 0x24]
push str._tgHe
push edx
call fcn.0040bae0
add esp, 8
test al, al
je 0x452dd3
mov eax, dword [esp + 0x18]
push eax
call fcn.00560668
add esp, 4
test eax, eax
setne cl
movzx edx, cl
push edx
mov esi, edi
call fcn.0043b1b0
jmp 0x452e76
lea eax, [esp + 0x24]
push 0x5be5ec
push eax
call fcn.0040bae0
add esp, 8
test al, al
je 0x452e08
mov ecx, dword [esp + 0x18]
push ecx
call fcn.00560668
add esp, 4
test eax, eax
setne dl
movzx eax, dl
push eax
mov esi, edi
call fcn.0043b160
jmp 0x452e76
lea ecx, [esp + 0x24]
push 0x5bed04
push ecx
call fcn.0040bae0
add esp, 8
test al, al
je 0x452e3d
mov edx, dword [esp + 0x18]
push edx
call fcn.00560668
add esp, 4
test eax, eax
setne al
movzx ecx, al
push ecx
mov esi, edi
call fcn.0043b210
jmp 0x452e76
lea edx, [esp + 0x24]
push 0x5bd1b0
push edx
call fcn.0040bae0
add esp, 8
test al, al
je 0x452e76
mov eax, dword [esp + 0x18]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x34], esp
mov esi, esp
push eax
call fcn.0040c280
add eax, 0x10
add esp, 4
mov ebx, edi
mov dword [esi], eax
call fcn.0043b2a0
lea ecx, [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0x28]
push edx
call fcn.004549e0
test al, al
jne 0x452d56
lea ecx, [esp + 0x18]
call fcn.00415a10
lea ecx, [esp + 0x24]
jmp 0x454955
lea ecx, [esp + 0x18]
call fcn.0040c220
lea ecx, [esp + 0x1c]
mov dword [esp + 0x1b8], 0x10
call fcn.0040c220
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x1c]
push ecx
mov ecx, ebx
mov byte [esp + 0x1c0], 0x11
call fcn.004549e0
test al, al
je 0x452fef
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
mov esi, dword [esp + 0x20]
jmp 0x452ef0
lea edx, [esp + 0x18]
push 0x5becf8
push edx
call fcn.0040bae0
add esp, 8
test al, al
je 0x452f31
mov eax, dword [esp + 0x1c]
push eax
call fcn.00560668
mov edx, dword [esi + 0x20]
add esp, 4
test eax, eax
setne al
push 0
movzx ecx, al
push ecx
push 0xf1
push edx
mov byte [esi + 0x78], al
call edi
jmp 0x452fd4
lea eax, [esp + 0x18]
push str._tgHe
push eax
call fcn.0040bae0
add esp, 8
test al, al
je 0x452f64
mov ecx, dword [esp + 0x1c]
push ecx
call fcn.00560668
add esp, 4
test eax, eax
setne dl
movzx eax, dl
push eax
call fcn.0043b1b0
jmp 0x452fd4
lea ecx, [esp + 0x18]
push 0x5be5ec
push ecx
call fcn.0040bae0
add esp, 8
test al, al
je 0x452f97
mov edx, dword [esp + 0x1c]
push edx
call fcn.00560668
add esp, 4
test eax, eax
setne al
movzx ecx, al
push ecx
call fcn.0043b160
jmp 0x452fd4
lea edx, [esp + 0x18]
push 0x5bd1b0
push edx
call fcn.0040bae0
add esp, 8
test al, al
je 0x452fd4
mov eax, dword [esp + 0x1c]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x34], esp
mov esi, esp
push eax
call fcn.0040c280
mov ebx, dword [esp + 0x28]
add eax, 0x10
add esp, 4
mov dword [esi], eax
call fcn.0043b2a0
mov esi, ebx
lea ecx, [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0x1c]
push edx
call fcn.004549e0
test al, al
jne 0x452ef0
lea ecx, [esp + 0x1c]
call fcn.00415a10
lea ecx, [esp + 0x18]
jmp 0x454955
lea ecx, [esp + 0x28]
call fcn.0040c220
lea ecx, [esp + 0x1c]
mov dword [esp + 0x1b8], 0x12
call fcn.0040c220
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x2c]
push ecx
mov ecx, ebx
mov byte [esp + 0x1c0], 0x13
call fcn.004549e0
test al, al
je 0x453117
nop
lea edx, [esp + 0x28]
push str._tgHe
push edx
call fcn.0040bae0
add esp, 8
test al, al
je 0x453070
mov eax, dword [esp + 0x1c]
push eax
call fcn.00560668
add esp, 4
test eax, eax
setne cl
mov byte [edi + 0x75], cl
jmp 0x4530fe
lea edx, [esp + 0x28]
push 0x5bed0c
push edx
call fcn.0040bae0
add esp, 8
test al, al
je 0x453098
mov eax, dword [esp + 0x1c]
push eax
call fcn.00560668
add esp, 4
mov dword [edi + 0x78], eax
jmp 0x4530fe
lea ecx, [esp + 0x28]
push 0x5be610
push ecx
call fcn.0040bae0
add esp, 8
test al, al
je 0x4530c5
mov edx, dword [esp + 0x1c]
push edx
call fcn.00560668
add esp, 4
test eax, eax
setne al
mov byte [edi + 0x74], al
jmp 0x4530fe
lea ecx, [esp + 0x28]
push 0x5bd1b0
push ecx
call fcn.0040bae0
add esp, 8
test al, al
je 0x4530fe
mov edx, dword [esp + 0x1c]
push ecx
add edx, 0xfffffff0
mov dword [esp + 0x34], esp
mov esi, esp
push edx
call fcn.0040c280
add eax, 0x10
add esp, 4
mov ecx, edi
mov dword [esi], eax
call fcn.00438090
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x2c]
push ecx
mov ecx, ebx
call fcn.004549e0
test al, al
jne 0x453040
lea ecx, [esp + 0x1c]
call fcn.00415a10
lea ecx, [esp + 0x28]
jmp 0x454955
lea ecx, [esp + 0x28]
call fcn.0040c220
lea ecx, [esp + 0x1c]
mov dword [esp + 0x1b8], 0x14
call fcn.0040c220
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x2c]
push eax
mov ecx, ebx
mov byte [esp + 0x1c0], 0x15
call fcn.004549e0
test al, al
je 0x453227
jmp 0x453170
lea ecx, [esp + 0x28]
push str._tgHe
push ecx
call fcn.0040bae0
add esp, 8
test al, al
je 0x4531a5
mov edx, dword [esp + 0x1c]
push edx
call fcn.00560668
add esp, 4
test eax, eax
setne al
movzx ecx, al
push ecx
mov esi, edi
call fcn.0043a130
jmp 0x45320e
lea edx, [esp + 0x28]
push 0x5be64c
push edx
call fcn.0040bae0
add esp, 8
test al, al
je 0x4531d5
mov eax, dword [esp + 0x1c]
push eax
call fcn.00560668
add esp, 4
test eax, eax
setne cl
mov byte [edi + 0x1e9], cl
jmp 0x45320e
lea edx, [esp + 0x28]
push 0x5bd1b0
push edx
call fcn.0040bae0
add esp, 8
test al, al
je 0x45320e
mov eax, dword [esp + 0x1c]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x34], esp
mov esi, esp
push eax
call fcn.0040c280
add eax, 0x10
add esp, 4
mov ecx, edi
mov dword [esi], eax
call fcn.0043a1f0
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x2c]
push edx
mov ecx, ebx
call fcn.004549e0
test al, al
jne 0x453170
lea ecx, [esp + 0x1c]
call fcn.00415a10
lea ecx, [esp + 0x28]
jmp 0x454955
lea ecx, [esp + 0x18]
call fcn.0040c220
lea ecx, [esp + 0x1c]
mov dword [esp + 0x1b8], 0x16
call fcn.0040c220
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x1c]
push ecx
mov ecx, ebx
mov byte [esp + 0x1c0], 0x17
call fcn.004549e0
test al, al
je 0x453352
jmp 0x453280
lea edx, [esp + 0x18]
push 0x5be678
push edx
call fcn.0040bae0
add esp, 8
test al, al
je 0x4532c9
mov eax, dword [esp + 0x1c]
push eax
call fcn.00560668
add esp, 4
push 0
mov ecx, edi
test eax, eax
je 0x4532ba
push 4
push 0
call fcn.00457e15
mov byte [edi + 0x74], 1
jmp 0x453337
push 0
push 4
call fcn.00457e15
mov byte [edi + 0x74], 0
jmp 0x453337
lea ecx, [esp + 0x18]
push str._tgHe
push ecx
call fcn.0040bae0
add esp, 8
test al, al
je 0x4532fe
mov edx, dword [esp + 0x1c]
push edx
call fcn.00560668
add esp, 4
test eax, eax
setne al
movzx ecx, al
push ecx
mov esi, edi
call fcn.0043af40
jmp 0x453337
lea edx, [esp + 0x18]
push 0x5bd1b0
push edx
call fcn.0040bae0
add esp, 8
test al, al
je 0x453337
mov eax, dword [esp + 0x1c]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x34], esp
mov esi, esp
push eax
call fcn.0040c280
add eax, 0x10
add esp, 4
mov ebx, edi
mov dword [esi], eax
call fcn.004382e0
lea ecx, [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0x1c]
push edx
call fcn.004549e0
test al, al
jne 0x453280
lea ecx, [esp + 0x1c]
call fcn.00415a10
lea ecx, [esp + 0x18]
jmp 0x454955
lea ecx, [esp + 0x18]
call fcn.0040c220
lea ecx, [esp + 0x1c]
mov dword [esp + 0x1b8], 0x18
call fcn.0040c220
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x1c]
push ecx
mov ecx, ebx
mov byte [esp + 0x1c0], 0x19
call fcn.004549e0
test al, al
je 0x45342b
lea edx, [esp + 0x18]
push str._tgHe
push edx
call fcn.0040bae0
add esp, 8
test al, al
je 0x4533d7
mov eax, dword [esp + 0x1c]
push eax
call fcn.00560668
add esp, 4
test eax, eax
setne cl
movzx edx, cl
push edx
mov esi, edi
call fcn.00438280
jmp 0x453410
lea eax, [esp + 0x18]
push 0x5bd1b0
push eax
call fcn.0040bae0
add esp, 8
test al, al
je 0x453410
push ecx
mov ecx, dword [esp + 0x20]
add ecx, 0xfffffff0
mov dword [esp + 0x34], esp
mov esi, esp
push ecx
call fcn.0040c280
add eax, 0x10
add esp, 4
mov ebx, edi
mov dword [esi], eax
call fcn.004382e0
mov ecx, dword [esp + 0x28]
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x1c]
push eax
call fcn.004549e0
test al, al
jne 0x4533a2
lea ecx, [esp + 0x1c]
call fcn.00415a10
lea ecx, [esp + 0x18]
jmp 0x454955
lea ecx, [esp + 0x18]
call fcn.0040c220
lea ecx, [esp + 0x1c]
mov dword [esp + 0x1b8], 0x1a
call fcn.0040c220
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x1c]
push edx
mov ecx, ebx
mov byte [esp + 0x1c0], 0x1b
call fcn.004549e0
test al, al
je 0x453552
jmp 0x453480
lea eax, [esp + 0x18]
push 0x5be678
push eax
call fcn.0040bae0
add esp, 8
test al, al
je 0x4534c9
mov ecx, dword [esp + 0x1c]
push ecx
call fcn.00560668
add esp, 4
push 0
mov ecx, edi
test eax, eax
je 0x4534ba
push 2
push 0
call fcn.00457e15
mov byte [edi + 0x78], 1
jmp 0x453537
push 0
push 2
call fcn.00457e15
mov byte [edi + 0x78], 0
jmp 0x453537
lea edx, [esp + 0x18]
push str._tgHe
push edx
call fcn.0040bae0
add esp, 8
test al, al
je 0x4534fe
mov eax, dword [esp + 0x1c]
push eax
call fcn.00560668
add esp, 4
test eax, eax
setne cl
movzx edx, cl
push edx
mov esi, edi
call fcn.0043b580
jmp 0x453537
lea eax, [esp + 0x18]
push 0x5bd1b0
push eax
call fcn.0040bae0
add esp, 8
test al, al
je 0x453537
push ecx
mov ecx, dword [esp + 0x20]
add ecx, 0xfffffff0
mov dword [esp + 0x34], esp
mov esi, esp
push ecx
call fcn.0040c280
add eax, 0x10
add esp, 4
mov ebx, edi
mov dword [esi], eax
call fcn.0043b2a0
mov ecx, dword [esp + 0x28]
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x1c]
push eax
call fcn.004549e0
test al, al
jne 0x453480
lea ecx, [esp + 0x1c]
call fcn.00415a10
lea ecx, [esp + 0x18]
jmp 0x454955
lea ecx, [esp + 0x18]
call fcn.0040c220
lea ecx, [esp + 0x1c]
mov dword [esp + 0x1b8], 0x1c
call fcn.0040c220
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x1c]
push edx
mov ecx, ebx
mov byte [esp + 0x1c0], 0x1d
call fcn.004549e0
test al, al
je 0x452fef
jmp 0x4535b4
mov edi, dword [esp + 0x20]
lea eax, [esp + 0x18]
push 0x5bed18
push eax
call fcn.0040bae0
add esp, 8
test al, al
je 0x45365f
call fcn.00456e5c
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x4536f7
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x34], eax
mov byte [esp + 0x1b8], 0x1e
mov ecx, dword [esp + 0x1c]
mov edx, dword [0x5f0520]
push ecx
push edx
lea eax, [esp + 0x3c]
push 0x5bce08
push eax
call fcn.0040bd00
mov esi, dword [esp + 0x44]
add esp, 0xc
add esi, 0xfffffff0
mov dword [esp + 0x34], esp
mov ebx, esp
push esi
call fcn.0040c280
mov edi, dword [esp + 0x28]
add eax, 0x10
add esp, 4
mov dword [ebx], eax
call fcn.0043aa80
mov byte [esp + 0x1b8], 0x1d
lea ecx, [esi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4536ca
mov ecx, dword [esi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push esi
call edx
jmp 0x4536ca
lea eax, [esp + 0x18]
push 0x5bed24
push eax
call fcn.0040bae0
add esp, 8
test al, al
je 0x45368f
mov ecx, dword [esp + 0x1c]
push ecx
call fcn.00560668
add esp, 4
test eax, eax
setne dl
mov byte [edi + 0xb4], dl
jmp 0x4536ca
lea eax, [esp + 0x18]
push 0x5bd1b0
push eax
call fcn.0040bae0
add esp, 8
test al, al
je 0x4536ca
push ecx
mov ecx, dword [esp + 0x20]
add ecx, 0xfffffff0
mov dword [esp + 0x34], esp
mov esi, esp
push ecx
call fcn.0040c280
mov ebx, dword [esp + 0x28]
add eax, 0x10
add esp, 4
mov dword [esi], eax
call fcn.0043ad20
mov ecx, dword [esp + 0x28]
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x1c]
push eax
call fcn.004549e0
test al, al
jne 0x4535b0
lea ecx, [esp + 0x1c]
call fcn.00415a10
lea ecx, [esp + 0x18]
jmp 0x454955
push 0x80004005
call fcn.00401090
lea ecx, [esp + 0x18]
call fcn.0040c220
lea ecx, [esp + 0x1c]
mov dword [esp + 0x1b8], 0x1f
call fcn.0040c220
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x1c]
push edx
mov ecx, ebx
mov byte [esp + 0x1c0], 0x20
call fcn.004549e0
test al, al
je 0x453815
nop
lea eax, [esp + 0x18]
push str.Om_j
push eax
call fcn.0040bae0
add esp, 8
test al, al
je 0x45378c
mov ecx, dword [esp + 0x1c]
push ecx
call fcn.00560668
add esp, 4
mov ecx, edi
cmp eax, 2
jne 0x45377b
push 0
push 0
mov dword [edi + 0xc0], eax
call fcn.0046325f
jmp 0x4537fa
mov dword [edi + 0xc0], 3
call fcn.00462fb7
jmp 0x4537fa
lea edx, [esp + 0x18]
push str._tgHe
push edx
call fcn.0040bae0
add esp, 8
test al, al
je 0x4537c1
mov eax, dword [esp + 0x1c]
push eax
call fcn.00560668
add esp, 4
test eax, eax
setne cl
movzx edx, cl
push edx
mov esi, edi
call fcn.0043a510
jmp 0x4537fa
lea eax, [esp + 0x18]
push 0x5bd1b0
push eax
call fcn.0040bae0
add esp, 8
test al, al
je 0x4537fa
push ecx
mov ecx, dword [esp + 0x20]
add ecx, 0xfffffff0
mov dword [esp + 0x34], esp
mov esi, esp
push ecx
call fcn.0040c280
add eax, 0x10
add esp, 4
mov ebx, edi
mov dword [esi], eax
call fcn.0043a730
mov ecx, dword [esp + 0x28]
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x1c]
push eax
call fcn.004549e0
test al, al
jne 0x453740
lea ecx, [esp + 0x1c]
call fcn.00415a10
lea ecx, [esp + 0x18]
jmp 0x454955
lea ecx, [esp + 0x1c]
call fcn.0040c220
lea ecx, [esp + 0x2c]
mov dword [esp + 0x1b8], 0x21
call fcn.0040c220
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x20]
push edx
mov ecx, ebx
mov byte [esp + 0x1c0], 0x22
call fcn.004549e0
test al, al
je 0x454948
mov ebx, dword [sym.imp.USER32.dll_SetTimer]
jmp 0x453870
lea eax, [esp + 0x1c]
push 0x5be700
push eax
call fcn.0040bae0
add esp, 8
test al, al
je 0x4538b0
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.00560668
mov esi, eax
add esp, 4
test esi, esi
je 0x4538b0
mov edx, dword [edi + 0x20]
push 0
push esi
push 1
push edx
call ebx
mov dword [edi + 0x84], eax
mov dword [edi + 0x80], esi
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x20]
push ecx
mov ecx, dword [esp + 0x30]
call fcn.004549e0
test al, al
jne 0x453870
jmp 0x454948
lea ecx, [esp + 0x24]
call fcn.0040c220
lea ecx, [esp + 0x18]
mov dword [esp + 0x1b8], 0x23
call fcn.0040c220
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x28]
push eax
mov ecx, ebx
mov byte [esp + 0x1c0], 0x24
call fcn.004549e0
test al, al
je 0x453a22
lea ebx, [ebx]
lea ecx, [esp + 0x24]
push 0x5bed30
push ecx
call fcn.0040bae0
add esp, 8
test al, al
je 0x45393f
mov edx, dword [esp + 0x18]
push edx
call fcn.00560668
add esp, 4
mov word [edi + 0x82], ax
jmp 0x453a07
lea eax, [esp + 0x24]
push 0x5bed3c
push eax
call fcn.0040bae0
add esp, 8
test al, al
je 0x45396e
mov ecx, dword [esp + 0x18]
push ecx
call fcn.00560668
add esp, 4
mov word [edi + 0x84], ax
jmp 0x453a07
lea edx, [esp + 0x24]
push str._tgHe
push edx
call fcn.0040bae0
add esp, 8
test al, al
je 0x4539a3
mov eax, dword [esp + 0x18]
push eax
call fcn.00560668
add esp, 4
test eax, eax
setne cl
movzx edx, cl
push edx
mov esi, edi
call fcn.00439d50
jmp 0x453a07
lea eax, [esp + 0x24]
push 0x5bed44
push eax
call fcn.0040bae0
add esp, 8
test al, al
je 0x4539ce
mov ecx, dword [esp + 0x18]
push ecx
call fcn.00560668
add esp, 4
mov dword [edi + 0x88], eax
jmp 0x453a07
lea edx, [esp + 0x24]
push 0x5bd1b0
push edx
call fcn.0040bae0
add esp, 8
test al, al
je 0x453a07
mov eax, dword [esp + 0x18]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x34], esp
mov esi, esp
push eax
call fcn.0040c280
add eax, 0x10
add esp, 4
mov ebx, edi
mov dword [esi], eax
call fcn.00439db0
lea ecx, [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0x28]
push edx
call fcn.004549e0
test al, al
jne 0x453910
lea ecx, [esp + 0x18]
call fcn.00415a10
lea ecx, [esp + 0x24]
jmp 0x454955
lea ecx, [esp + 0x1c]
call fcn.0040c220
lea ecx, [esp + 0x2c]
mov dword [esp + 0x1b8], 0x25
call fcn.0040c220
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x20]
push ecx
mov ecx, ebx
mov byte [esp + 0x1c0], 0x26
call fcn.004549e0
test al, al
je 0x454948
lea edx, [esp + 0x1c]
push 0x5be728
push edx
call fcn.0040bae0
add esp, 8
test al, al
je 0x453a9a
mov esi, dword [esp + 0x2c]
mov ecx, edi
call fcn.0043e180
push esi
push edi
call fcn.0040c470
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x20]
push ecx
mov ecx, ebx
call fcn.004549e0
test al, al
jne 0x453a72
jmp 0x454948
lea ecx, [esp + 0x24]
call fcn.0040c220
lea ecx, [esp + 0x14]
mov dword [esp + 0x1b8], 0x27
call fcn.0040c220
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x28]
push eax
mov ecx, ebx
mov byte [esp + 0x1c0], 0x28
call fcn.004549e0
test al, al
je 0x45480d
lea ecx, [esp + 0x24]
push 0x5be7a8
push ecx
call fcn.0040bae0
add esp, 8
test al, al
je 0x453b21
mov edx, dword [esp + 0x14]
push edx
call fcn.00560668
add esp, 4
push eax
push edi
call fcn.00424c10
jmp 0x4547f2
lea eax, [esp + 0x24]
push 0x5be7b0
push eax
call fcn.0040bae0
add esp, 8
test al, al
je 0x453b50
mov ecx, dword [esp + 0x14]
push ecx
call fcn.00560668
add esp, 4
push eax
push edi
call fcn.00424f70
jmp 0x4547f2
lea edx, [esp + 0x24]
push 0x5be7b8
push edx
call fcn.0040bae0
add esp, 8
test al, al
je 0x453b82
mov eax, dword [esp + 0x14]
push eax
call fcn.00560668
mov edi, dword [esp + 0x24]
add esp, 4
push eax
call fcn.00424740
jmp 0x4547f2
lea ecx, [esp + 0x24]
push 0x5be7c4
push ecx
call fcn.0040bae0
add esp, 8
test al, al
je 0x453bb4
mov edx, dword [esp + 0x14]
push edx
call fcn.00560668
mov edi, dword [esp + 0x24]
add esp, 4
push eax
call fcn.00424990
jmp 0x4547f2
lea eax, [esp + 0x24]
push 0x5be578
push eax
call fcn.0040bae0
add esp, 8
test al, al
je 0x453bf3
push 0
xor eax, eax
mov ecx, edi
call fcn.00407770
mov ecx, dword [esp + 0x14]
mov ebx, eax
mov esi, dword [ebx]
push ecx
call fcn.00560668
mov edx, dword [esi + 0x20]
add esp, 4
push eax
mov ecx, ebx
call edx
jmp 0x4547f2
lea eax, [esp + 0x24]
push 0x5b8498
push eax
call fcn.0040bae0
add esp, 8
test al, al
je 0x453c32
push 0
xor eax, eax
mov ecx, edi
call fcn.00407770
mov ecx, dword [esp + 0x14]
mov ebx, eax
mov esi, dword [ebx]
push ecx
call fcn.00560668
mov edx, dword [esi + 0x24]
add esp, 4
push eax
mov ecx, ebx
call edx
jmp 0x4547f2
lea eax, [esp + 0x24]
push 0x5be780
push eax
call fcn.0040bae0
add esp, 8
test al, al
je 0x453c65
mov ecx, dword [esp + 0x14]
push ecx
call fcn.00560668
mov edi, dword [esp + 0x24]
add esp, 4
mov esi, eax
call fcn.0043e0c0
jmp 0x4547f2
lea edx, [esp + 0x24]
push 0x5be770
push edx
call fcn.0040bae0
add esp, 8
test al, al
je 0x453c9a
mov eax, dword [esp + 0x14]
push eax
call fcn.00560668
mov esi, dword [esp + 0x24]
add esp, 4
mov edi, eax
call fcn.00407720
mov edi, esi
jmp 0x4547f2
lea ecx, [esp + 0x24]
push str.4lsQ
push ecx
call fcn.0040bae0
add esp, 8
test al, al
je 0x453d43
mov edx, dword [esp + 0x14]
push edx
call fcn.00560668
add esp, 4
test eax, eax
je 0x453ce1
mov eax, edi
call fcn.004273a0
test al, al
je 0x453ce1
mov ecx, 3
mov eax, edi
call fcn.00427370
jmp 0x4547f2
mov eax, dword [esp + 0x14]
push eax
call fcn.00560668
add esp, 4
test eax, eax
je 0x453d0e
mov eax, edi
call fcn.004273a0
test al, al
jne 0x453d0e
mov ecx, 1
mov eax, edi
call fcn.00427370
jmp 0x4547f2
mov ecx, dword [esp + 0x14]
push ecx
call fcn.00560668
add esp, 4
test eax, eax
jne 0x453de4
mov eax, edi
call fcn.004273a0
test al, al
je 0x453de4
mov ecx, 2
mov eax, edi
call fcn.00427370
jmp 0x4547f2
lea edx, [esp + 0x24]
push 0x5be790
push edx
call fcn.0040bae0
add esp, 8
test al, al
je 0x453df2
mov eax, dword [esp + 0x14]
push eax
call fcn.00560668
add esp, 4
test eax, eax
je 0x453d8a
mov eax, edi
call fcn.004273d0
test al, al
je 0x453d8a
mov ecx, 3
mov eax, edi
call fcn.00427370
jmp 0x4547f2
mov ecx, dword [esp + 0x14]
push ecx
call fcn.00560668
add esp, 4
test eax, eax
je 0x453db7
mov eax, edi
call fcn.004273d0
test al, al
jne 0x453db7
mov ecx, 2
mov eax, edi
call fcn.00427370
jmp 0x4547f2
mov edx, dword [esp + 0x14]
push edx
call fcn.00560668
add esp, 4
test eax, eax
jne 0x453de4
mov eax, edi
call fcn.004273d0
test al, al
je 0x453de4
mov ecx, 1
mov eax, edi
call fcn.00427370
jmp 0x4547f2
xor ecx, ecx
mov eax, edi
call fcn.00427370
jmp 0x4547f2
lea eax, [esp + 0x24]
push 0x5bed4c
push eax
call fcn.0040bae0
add esp, 8
test al, al
je 0x453e20
mov ecx, dword [esp + 0x14]
push ecx
call fcn.00560668
add esp, 4
mov dword [edi + 0xfc], eax
jmp 0x4547f2
lea edx, [esp + 0x24]
push 0x5be7f4
push edx
call fcn.0040bae0
add esp, 8
test al, al
je 0x453e4e
mov eax, dword [esp + 0x14]
push eax
call fcn.00560668
add esp, 4
mov dword [edi + 0x124], eax
jmp 0x4547f2
lea ecx, [esp + 0x24]
push str.kXEQ
push ecx
call fcn.0040bae0
add esp, 8
test al, al
je 0x453ea4
mov edx, dword [esp + 0x14]
push edx
call fcn.00560668
add esp, 4
test eax, eax
je 0x453e96
mov eax, dword [esp + 0x14]
push eax
call fcn.00560668
mov edi, eax
mov eax, dword [esp + 0x24]
add esp, 4
call fcn.00427310
mov edi, dword [esp + 0x20]
jmp 0x4547f2
push 0
mov esi, edi
call fcn.00426c80
jmp 0x4547f2
lea ecx, [esp + 0x24]
push 0x5be5e4
push ecx
call fcn.0040bae0
add esp, 8
test al, al
je 0x453ed6
mov edx, dword [esp + 0x14]
push edx
call fcn.00560668
mov edi, dword [esp + 0x24]
add esp, 4
push eax
call fcn.0043e100
jmp 0x4547f2
lea eax, [esp + 0x24]
push 0x5be7d0
push eax
call fcn.0040bae0
add esp, 8
test al, al
je 0x453f04
mov ecx, dword [esp + 0x14]
push ecx
call fcn.00560668
add esp, 4
mov dword [edi + 0x11c], eax
jmp 0x4547f2
lea edx, [esp + 0x24]
push 0x5be7dc
push edx
call fcn.0040bae0
add esp, 8
test al, al
je 0x453f32
mov eax, dword [esp + 0x14]
push eax
call fcn.00560668
add esp, 4
mov dword [edi + 0x120], eax
jmp 0x4547f2
lea ecx, [esp + 0x24]
push 0x5be7e8
push ecx
call fcn.0040bae0
add esp, 8
test al, al
je 0x453f62
mov edx, dword [esp + 0x14]
push edx
call fcn.00560668
add esp, 4
push eax
mov ebx, edi
call fcn.00427400
jmp 0x4547f2
lea eax, [esp + 0x24]
push str.W_SO
push eax
call fcn.0040bae0
add esp, 8
test al, al
je 0x4543a6
lea ecx, [esp + 0x14]
call fcn.0040b6e0
mov ecx, eax
call fcn.0040b760
push 1
push 0
lea ecx, [esp + 0x1c]
call fcn.00456380
mov eax, dword [esp + 0x14]
cmp dword [eax - 0xc], 0
jg 0x453fa8
or esi, 0xffffffff
jmp 0x453fc4
push 0x2c
push eax
call fcn.0056132d
add esp, 8
test eax, eax
jne 0x453fbc
or esi, 0xffffffff
jmp 0x453fc4
sub eax, dword [esp + 0x14]
sar eax, 1
mov esi, eax
xor ebx, ebx
lea ecx, [esp + 0x14]
call fcn.0040b6e0
mov ecx, eax
call fcn.0040b760
test ebx, ebx
jne 0x454007
push esi
lea ecx, [esp + 0xc0]
push ecx
lea ecx, [esp + 0x1c]
call fcn.00415630
mov eax, dword [eax]
push eax
call fcn.00560668
mov dword [esp + 0x148], eax
lea ecx, [esp + 0xc0]
jmp 0x454254
cmp ebx, 1
jne 0x454039
push esi
lea edx, [esp + 0xc8]
push edx
lea ecx, [esp + 0x1c]
call fcn.00415630
mov eax, dword [eax]
push eax
call fcn.00560668
mov dword [esp + 0x14c], eax
lea ecx, [esp + 0xc8]
jmp 0x454254
cmp ebx, 2
jne 0x45406b
push esi
lea eax, [esp + 0xd0]
push eax
lea ecx, [esp + 0x1c]
call fcn.00415630
mov eax, dword [eax]
push eax
call fcn.00560668
mov dword [esp + 0x150], eax
lea ecx, [esp + 0xd0]
jmp 0x454254
cmp ebx, 3
jne 0x45409d
push esi
lea ecx, [esp + 0xd8]
push ecx
lea ecx, [esp + 0x1c]
call fcn.00415630
mov eax, dword [eax]
push eax
call fcn.00560668
mov dword [esp + 0x154], eax
lea ecx, [esp + 0xd8]
jmp 0x454254
cmp ebx, 4
jne 0x4540cf
push esi
lea edx, [esp + 0xe0]
push edx
lea ecx, [esp + 0x1c]
call fcn.00415630
mov eax, dword [eax]
push eax
call fcn.00560668
mov dword [esp + 0x158], eax
lea ecx, [esp + 0xe0]
jmp 0x454254
cmp ebx, 5
jne 0x454101
push esi
lea eax, [esp + 0xe8]
push eax
lea ecx, [esp + 0x1c]
call fcn.00415630
mov eax, dword [eax]
push eax
call fcn.00560668
mov byte [esp + 0x15c], al
lea ecx, [esp + 0xe8]
jmp 0x454254
cmp ebx, 6
jne 0x454133
push esi
lea ecx, [esp + 0xf0]
push ecx
lea ecx, [esp + 0x1c]
call fcn.00415630
mov eax, dword [eax]
push eax
call fcn.00560668
mov byte [esp + 0x15d], al
lea ecx, [esp + 0xf0]
jmp 0x454254
cmp ebx, 7
jne 0x454165
push esi
lea edx, [esp + 0xf8]
push edx
lea ecx, [esp + 0x1c]
call fcn.00415630
mov eax, dword [eax]
push eax
call fcn.00560668
mov byte [esp + 0x15e], al
lea ecx, [esp + 0xf8]
jmp 0x454254
cmp ebx, 8
jne 0x454197
push esi
lea eax, [esp + 0x100]
push eax
lea ecx, [esp + 0x1c]
call fcn.00415630
mov eax, dword [eax]
push eax
call fcn.00560668
mov byte [esp + 0x15f], al
lea ecx, [esp + 0x100]
jmp 0x454254
cmp ebx, 9
jne 0x4541c9
push esi
lea ecx, [esp + 0x108]
push ecx
lea ecx, [esp + 0x1c]
call fcn.00415630
mov eax, dword [eax]
push eax
call fcn.00560668
mov byte [esp + 0x160], al
lea ecx, [esp + 0x108]
jmp 0x454254
cmp ebx, 0xa
jne 0x4541f8
push esi
lea edx, [esp + 0x110]
push edx
lea ecx, [esp + 0x1c]
call fcn.00415630
mov eax, dword [eax]
push eax
call fcn.00560668
mov byte [esp + 0x161], al
lea ecx, [esp + 0x110]
jmp 0x454254
cmp ebx, 0xb
jne 0x454227
push esi
lea eax, [esp + 0x118]
push eax
lea ecx, [esp + 0x1c]
call fcn.00415630
mov eax, dword [eax]
push eax
call fcn.00560668
mov byte [esp + 0x162], al
lea ecx, [esp + 0x118]
jmp 0x454254
cmp ebx, 0xc
jne 0x45425c
push esi
lea ecx, [esp + 0x120]
push ecx
lea ecx, [esp + 0x1c]
call fcn.00415630
mov eax, dword [eax]
push eax
call fcn.00560668
mov byte [esp + 0x163], al
lea ecx, [esp + 0x120]
add esp, 4
call fcn.00415a10
mov edx, dword [esp + 0x14]
mov eax, dword [edx - 0xc]
sub eax, esi
dec eax
push eax
lea eax, [esp + 0x128]
push eax
lea ecx, [esp + 0x1c]
call fcn.004155b0
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x1bc], 0x29
call fcn.0040c2f0
lea ecx, [esp + 0x124]
mov byte [esp + 0x1b8], 0x28
call fcn.00415a10
mov ecx, dword [esp + 0x14]
cmp dword [ecx - 0xc], 0
jg 0x4542ad
or esi, 0xffffffff
jmp 0x4542cb
push 0x2c
push ecx
call fcn.0056132d
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
jne 0x4542c5
or esi, 0xffffffff
jmp 0x4542cb
sub eax, ecx
sar eax, 1
mov esi, eax
inc ebx
cmp ebx, 0xd
jl 0x453fc6
cmp dword [ecx - 0xc], 0
jg 0x4542e0
or eax, 0xffffffff
jmp 0x4542fa
push 0x29
push ecx
call fcn.0056132d
add esp, 8
test eax, eax
jne 0x4542f4
or eax, 0xffffffff
jmp 0x4542fa
sub eax, dword [esp + 0x14]
sar eax, 1
push eax
lea ecx, [esp + 0x130]
push ecx
lea ecx, [esp + 0x1c]
call fcn.00415630
mov eax, dword [eax]
push eax
lea edx, [esp + 0x164]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
lea ecx, [esp + 0x12c]
call fcn.00415a10
mov ebx, vtable.CFont.0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], ebx
lea eax, [esp + 0x144]
push eax
mov byte [esp + 0x1bc], 0x2a
call dword [sym.imp.GDI32.dll_CreateFontIndirectW]
push eax
lea ecx, [esp + 0x3c]
call fcn.0045a9e3
push 1
lea ecx, [esp + 0x3c]
push ecx
mov ecx, edi
call fcn.0040ba60
push 4
mov esi, edi
call fcn.00426c80
cmp dword [edi + 0x158], 0
je 0x45438c
mov eax, dword [esp + 0x20]
mov edi, 1
call fcn.00427310
mov edi, dword [esp + 0x20]
mov byte [esp + 0x1b8], 0x28
lea ecx, [esp + 0x38]
mov dword [esp + 0x38], ebx
call fcn.0040bd20
jmp 0x4547f2
lea edx, [esp + 0x24]
push 0x5bed54
push edx
call fcn.0040bae0
add esp, 8
test al, al
je 0x4547b9
xor esi, esi
cmp dword [edi + 0x168], esi
jle 0x454764
lea ecx, [esp + 0x2c]
call fcn.0040c220
lea eax, [esp + 0x2c]
push eax
lea edi, [esp + 0x18]
mov byte [esp + 0x1bc], 0x2b
call fcn.00455d60
test al, al
je 0x45474f
lea ecx, [esp + 0x1c]
call fcn.0040c220
lea ecx, [esp + 0x18]
call fcn.0040c220
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x20]
push edx
lea edi, [esp + 0x34]
mov byte [esp + 0x1c0], 0x2d
call fcn.00455ea0
test al, al
je 0x454717
lea eax, [esp + 0x1c]
push 0x5bed5c
push eax
call fcn.0040bae0
add esp, 8
test al, al
je 0x454487
lea ecx, [esp + 0x18]
call fcn.0040b6e0
mov ecx, eax
call fcn.0040b760
push 1
push 0
lea ecx, [esp + 0x20]
call fcn.00456380
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx - 0xc]
push 1
dec eax
push eax
lea ecx, [esp + 0x20]
call fcn.00456380
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
push edx
push esi
push 0
call fcn.004262f0
jmp 0x4546fc
lea eax, [esp + 0x1c]
push 0x5bed64
push eax
call fcn.0040bae0
add esp, 8
test al, al
je 0x4544bc
mov ecx, dword [esp + 0x18]
push ecx
call fcn.00560668
mov ecx, dword [esp + 0x24]
mov edx, eax
add esp, 4
mov eax, esi
call fcn.00426810
jmp 0x4546fc
lea edx, [esp + 0x1c]
push 0x5be4fc
push edx
call fcn.0040bae0
add esp, 8
test al, al
je 0x4544ef
mov eax, dword [esp + 0x18]
push eax
call fcn.00560668
mov edi, dword [esp + 0x24]
add esp, 4
push eax
push esi
call fcn.004302a0
jmp 0x4546fc
lea ecx, [esp + 0x1c]
push 0x5bed6c
push ecx
call fcn.0040bae0
add esp, 8
test al, al
je 0x454640
mov edx, dword [esp + 0x20]
xor ebx, ebx
mov dword [esp + 0x34], ebx
cmp dword [edx + 0x160], ebx
jle 0x4546fc
nop
mov eax, dword [esp + 0x18]
push eax
call fcn.00560668
mov edi, dword [esp + 0x24]
add esp, 4
push eax
mov eax, esi
mov ecx, edi
call fcn.00426550
mov ecx, dword [esp + 0x18]
push ecx
call fcn.00560668
add esp, 4
cmp eax, 4
ja case.default.0x454551
jmp dword [eax*4 + 0x4549c8]
push ebx
push edi
mov eax, 0x5b9518
mov ecx, esi
call fcn.004252c0
jmp case.default.0x454551
cmp ebx, dword [edi + 0x164]
jl case.default.0x454551
cmp esi, dword [edi + 0x16c]
jl case.default.0x454551
push ebx
push edi
mov eax, 0x5ba6b8
mov ecx, esi
call fcn.004252c0
jmp case.default.0x454551
cmp ebx, dword [edi + 0x164]
jl case.default.0x454551
cmp esi, dword [edi + 0x16c]
jl case.default.0x454551
push ebx
push edi
mov eax, 0x5ba43c
mov ecx, esi
call fcn.004252c0
jmp case.default.0x454551
cmp ebx, dword [edi + 0x164]
jl case.default.0x454551
cmp esi, dword [edi + 0x16c]
jl case.default.0x454551
push ebx
push edi
mov eax, 0x5bae24
mov ecx, esi
call fcn.004252c0
jmp case.default.0x454551
cmp ebx, dword [edi + 0x164]
jl case.default.0x454551
cmp esi, dword [edi + 0x16c]
jl case.default.0x454551
push ebx
push edi
mov eax, 0x5baae4
mov ecx, esi
call fcn.004252c0
push esi
push ebx
mov ecx, edi
call fcn.0041d160
push 0
mov ebx, eax
call fcn.00561374
add esp, 4
push edx
push eax
call fcn.00435810
mov edx, dword [esp + 0x34]
push 0
push esi
mov ecx, edi
call fcn.004211a0
mov ebx, dword [esp + 0x34]
inc ebx
mov dword [esp + 0x34], ebx
cmp ebx, dword [edi + 0x160]
jl 0x454520
jmp 0x4546fc
lea edx, [esp + 0x1c]
push 0x5be58c
push edx
call fcn.0040bae0
add esp, 8
test al, al
je 0x4546fc
mov eax, dword [esp + 0x20]
xor ebx, ebx
cmp dword [eax + 0x160], ebx
jle 0x4546fc
lea esp, [esp]
mov ecx, dword [esp + 0x18]
push ecx
call fcn.00560668
add esp, 4
test eax, eax
je 0x4546eb
mov edi, dword [esp + 0x20]
push ebx
push edi
mov eax, 0x5b9518
mov ecx, esi
call fcn.004252c0
push edi
mov eax, esi
mov ecx, ebx
call fcn.00426670
and eax, 0xfffffff7
push eax
push esi
push ebx
push edi
call fcn.004265a0
push edi
mov eax, esi
mov ecx, ebx
call fcn.00426670
or eax, 8
push eax
push esi
push ebx
push edi
call fcn.004265a0
mov edx, dword [esp + 0x18]
push edx
call fcn.00560668
mov ecx, dword [esp + 0x24]
add esp, 4
push eax
mov eax, esi
xor edi, edi
call fcn.00425370
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x20]
push 1
push edi
push ecx
call dword [sym.imp.USER32.dll_InvalidateRect]
mov edx, dword [esp + 0x20]
inc ebx
cmp ebx, dword [edx + 0x160]
jl 0x454670
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x20]
push ecx
lea edi, [esp + 0x34]
call fcn.00455ea0
test al, al
jne 0x45442a
lea ecx, [esp + 0x18]
call fcn.00415a10
lea ecx, [esp + 0x1c]
call fcn.00415a10
lea ecx, [esp + 0x2c]
mov byte [esp + 0x1b8], 0x28
call fcn.00415a10
mov edx, dword [esp + 0x20]
inc esi
cmp esi, dword [edx + 0x168]
jl 0x4543ce
mov edi, edx
jmp 0x454764
lea ecx, [esp + 0x2c]
mov byte [esp + 0x1b8], 0x28
call fcn.00415a10
mov edi, dword [esp + 0x20]
cmp dword [edi + 0x158], 0
jne 0x4547f2
xor esi, esi
cmp dword [edi + 0x160], esi
jle 0x4547f2
jmp 0x454780
test esi, esi
js 0x4547ae
cmp esi, dword [edi + 0x160]
jge 0x4547ae
cmp esi, dword [edi + 0x178]
jge 0x45484d
mov eax, dword [edi + 0x174]
lea eax, [eax + esi*4]
mov ecx, edi
mov dword [eax], 0x19
call fcn.00423f80
inc esi
cmp esi, dword [edi + 0x160]
jl 0x454780
jmp 0x4547f2
lea ecx, [esp + 0x24]
push 0x5bd1b0
push ecx
call fcn.0040bae0
add esp, 8
test al, al
je 0x4547f2
mov eax, dword [esp + 0x14]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x34], esp
mov esi, esp
push eax
call fcn.0040c280
add eax, 0x10
add esp, 4
mov ebx, edi
mov dword [esi], eax
call fcn.00438ab0
mov ecx, dword [esp + 0x28]
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x28]
push eax
call fcn.004549e0
test al, al
jne 0x453af2
mov byte [esp + 0x1b8], 0x27
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x452cd8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x1b8], 0xffffffff
mov eax, dword [esp + 0x24]
jmp 0x451b00
call fcn.004572d6
lea ecx, [esp + 0x1c]
call fcn.0040c220
lea ecx, [esp + 0x2c]
mov dword [esp + 0x1b8], 0x2e
call fcn.0040c220
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x20]
push edx
mov ecx, ebx
mov byte [esp + 0x1c0], 0x2f
call fcn.004549e0
test al, al
je 0x454948
lea eax, [esp + 0x1c]
push str._tgHe
push eax
call fcn.0040bae0
add esp, 8
test al, al
je 0x4548c5
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.00560668
add esp, 4
test eax, eax
setne dl
movzx eax, dl
push eax
mov esi, edi
call fcn.0043c610
jmp 0x45492f
lea ecx, [esp + 0x1c]
push 0x5be558
push ecx
call fcn.0040bae0
add esp, 8
test al, al
je 0x45491d
mov edx, dword [esp + 0x2c]
push edx
call fcn.00560668
add esp, 4
mov dword [edi + 0x7c], eax
push 0
mov ecx, edi
test eax, eax
je 0x454908
push 0x200
push 0
call fcn.00457e15
mov esi, edi
call fcn.0043c530
jmp 0x45492f
push 0
push 0x200
call fcn.00457e15
mov esi, edi
call fcn.0043c530
jmp 0x45492f
lea eax, [esp + 0x1c]
push 0x5bed74
push eax
call fcn.0040bae0
add esp, 8
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x20]
push edx
mov ecx, ebx
call fcn.004549e0
test al, al
jne 0x454890
lea ecx, [esp + 0x2c]
call fcn.00415a10
lea ecx, [esp + 0x1c]
call fcn.00415a10
mov ecx, dword [esp + 0x1b0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x198]
xor ecx, esp
call fcn.0055fd94
mov esp, ebp
pop ebp
ret 8