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

Disassembly:
push 0xffffffffffffffff
push 0x44efb8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x7dc
mov eax, dword [0x46b600]
push esi
mov esi, dword [esp + 0x7f0]
test esi, esi
push edi
mov edi, ecx
mov dword [esp + 0x7e0], eax
mov dword [esp + 0x10], edi
je 0x40aaf7
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x1dc]
push ecx
push 0x104
push esi
call dword [sym.imp.KERNEL32.dll_GetFullPathNameA]
test eax, eax
jne 0x40aafe
xor al, al
jmp 0x40bf88
mov edx, dword [esp + 0x48]
push ebx
push ebp
mov ecx, edi
mov byte [edx], 0
call fcn.00409e20
push 1
push 0x1b6
push 1
push esi
lea ecx, [esp + 0x158]
call fcn.0040a8b0
xor edi, edi
mov dword [esp + 0x7f4], 0
mov dword [esp + 0x20], edi
call fcn.00441eeb
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x28], eax
mov byte [esp + 0x7f4], 1
call fcn.00441eeb
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x30], eax
push 0x4092e0
push 0x4092f0
push 5
push 0x14
lea eax, [esp + 0x64]
push eax
mov byte [esp + 0x808], 2
call fcn.00430023
mov ecx, dword [esp + 0x148]
mov eax, dword [ecx + 4]
mov ecx, dword [esp + eax + 0x150]
test ecx, ecx
mov byte [esp + 0x7f4], 3
jne 0x40bb97
jmp 0x40abaa
mov edi, dword [esp + 0x20]
test cl, 1
mov ebp, dword [sym.imp.GDI32.dll_CreateBrushIndirect]
jne 0x40bb97
push 0xa
lea ecx, [esp + eax + 0x14c]
call fcn.00408e20
lea edx, [esp + 0x3e8]
lea ecx, [esp + 0x148]
push eax
push 0x400
push edx
call fcn.00409370
lea eax, [esp + 0x3e8]
push str._r_n__t_
push eax
call fcn.0042e99d
mov esi, eax
add esp, 8
test esi, esi
je case.default.0x40ac12
cmp byte [esi], 0x3b
je case.default.0x40ac12
cmp edi, 5
ja case.default.0x40ac12
jmp dword [edi*4 + 0x40bfb0]
mov ecx, dword [str.GLOBAL]
push esi
push ecx
call fcn.0043522c
add esp, 8
test eax, eax
jne 0x40ac3a
mov dword [esp + 0x20], 1
jmp case.default.0x40ac12
mov edx, dword [str.FONT]
push esi
push edx
call fcn.0043522c
add esp, 8
test eax, eax
jne 0x40ac94
push str._r_n__t_
push eax
call fcn.00408030
add esp, 8
test eax, eax
je case.default.0x40ac12
push eax
lea ecx, [esp + 0x2c]
call fcn.004015a0
lea ecx, [esp + 0x30]
mov dword [esp + 0x20], 2
call fcn.004011a0
mov dword [esp + 0x38], 0
mov dword [esp + 0x34], 0
jmp case.default.0x40ac12
mov eax, dword [str.AREA]
push esi
push eax
call fcn.0043522c
add esp, 8
test eax, eax
jne 0x40adcb
push str._r_n__t_
push eax
call fcn.00408030
add esp, 8
test eax, eax
je case.default.0x40ac12
push eax
lea ecx, [esp + 0x2c]
call fcn.004015a0
mov dword [esp + 0x20], 3
lea esi, [esp + 0x58]
mov edi, 5
lea esp, [esp]
lea ecx, [esi - 4]
call fcn.004011a0
xor ecx, ecx
mov edx, esi
mov dword [edx], ecx
mov dword [edx + 4], ecx
mov dword [edx + 8], ecx
add esi, 0x14
dec edi
mov dword [edx + 0xc], ecx
jne 0x40ace0
xor eax, eax
mov dword [esp + 0xdc], ecx
mov dword [esp + 0xe0], ecx
mov dword [esp + 0xe4], ecx
xor edx, edx
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xf0], edx
mov dword [esp + 0x100], ecx
mov dword [esp + 0xf4], edx
mov dword [esp + 0x104], ecx
mov dword [esp + 0xf8], edx
mov dword [esp + 0x108], ecx
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], eax
mov dword [esp + 0x110], eax
mov dword [esp + 0x114], eax
mov dword [esp + 0x120], eax
mov byte [esp + 0x124], 1
mov byte [esp + 0xec], al
mov dword [esp + 0xfc], edx
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x128], eax
mov dword [esp + 0x12c], eax
jmp case.default.0x40ac12
mov edx, dword [str.WINDOW]
push esi
push edx
call fcn.0043522c
add esp, 8
test eax, eax
jne 0x40adec
mov dword [esp + 0x20], 4
jmp case.default.0x40ac12
mov eax, dword [str.COLOR]
push esi
push eax
call fcn.0043522c
add esp, 8
test eax, eax
jne case.default.0x40ac12
mov dword [esp + 0x20], 5
jmp case.default.0x40ac12
mov ecx, dword [0x46a0f4]
push esi
push ecx
call fcn.0043522c
add esp, 8
test eax, eax
jne 0x40ae2d
mov dword [esp + 0x20], eax
jmp case.default.0x40ac12
mov edx, dword [str.BEGIN]
push esi
push edx
call fcn.0043522c
add esp, 8
test eax, eax
je case.default.0x40ac12
push str._r_n__t_
push 0
call fcn.00408030
add esp, 8
test eax, eax
je case.default.0x40ac12
mov ecx, dword [esp + 0x18]
push eax
push esi
add ecx, 4
call fcn.0040a570
jmp case.default.0x40ac12
mov eax, dword [0x46a0f4]
push esi
push eax
call fcn.0043522c
add esp, 8
test eax, eax
jne 0x40aed4
push 0x10
call fcn.00442113
mov esi, eax
xor edi, edi
add esp, 4
cmp esi, edi
je 0x40aea7
call fcn.00441eeb
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esi], eax
jmp 0x40aea9
xor esi, esi
lea eax, [esp + 0x30]
push eax
mov ecx, esi
call fcn.0040a090
mov dword [esi + 0xc], edi
mov ecx, dword [esp + 0x28]
push ecx
mov ecx, dword [esp + 0x1c]
add ecx, 0x3c
call fcn.00440e91
mov dword [eax], esi
mov dword [esp + 0x20], edi
jmp case.default.0x40ac12
mov edx, dword [str.BEGIN]
push esi
push edx
call fcn.0043522c
add esp, 8
test eax, eax
je case.default.0x40ac12
mov eax, dword [str.FACE]
push eax
push esi
call fcn.0043522c
add esp, 8
test eax, eax
jne 0x40af24
push str._r_n__t_
push eax
call fcn.00408030
add esp, 8
test eax, eax
je case.default.0x40ac12
push eax
lea ecx, [esp + 0x34]
call fcn.004015a0
jmp case.default.0x40ac12
mov ecx, dword [str.SIZE]
push ecx
push esi
call fcn.0043522c
add esp, 8
test eax, eax
jne 0x40af60
push str._r_n__t_
push eax
call fcn.00408030
add esp, 8
test eax, eax
je case.default.0x40ac12
push eax
call fcn.00430485
fstp dword [esp + 0x38]
add esp, 4
jmp case.default.0x40ac12
mov edx, dword [str.COLOR]
push edx
push esi
call fcn.0043522c
add esp, 8
test eax, eax
jne case.default.0x40ac12
push str._r_n__t_
push eax
call fcn.00408030
push str._r_n__t_
push 0
mov esi, eax
call fcn.00408030
push str._r_n__t_
push 0
mov edi, eax
call fcn.00408030
add esp, 0x18
test esi, esi
je case.default.0x40ac12
test edi, edi
je case.default.0x40ac12
test eax, eax
je case.default.0x40ac12
push eax
call fcn.0042f546
xor ebx, ebx
push edi
mov bh, al
call fcn.0042f546
mov bl, al
push esi
shl ebx, 8
call fcn.0042f546
movzx eax, al
add esp, 0xc
or ebx, eax
mov dword [esp + 0x38], ebx
jmp case.default.0x40ac12
mov ecx, dword [0x46a0f4]
push esi
push ecx
call fcn.0043522c
add esp, 8
test eax, eax
jne 0x40b058
push 0xdc
call fcn.00442113
add esp, 4
test eax, eax
je 0x40b016
mov ecx, eax
call fcn.00409820
mov esi, eax
jmp 0x40b018
xor esi, esi
lea edx, [esp + 0x54]
push edx
mov ecx, esi
call fcn.0040a660
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x18]
push eax
lea ecx, [edi + 0x58]
call fcn.00440e91
lea ecx, [edi + 0xb4]
lea edx, [esp + 0x28]
mov dword [eax], esi
mov eax, dword [ecx + 8]
push edx
push eax
call fcn.0044074b
mov dword [esp + 0x20], 0
jmp case.default.0x40ac12
mov eax, dword [str.BEGIN]
push esi
push eax
call fcn.0043522c
add esp, 8
test eax, eax
je case.default.0x40ac12
push str._r_n__t_
push 0
call fcn.00408030
push str._r_n__t_
push 0
mov edi, eax
call fcn.00408030
push str._r_n__t_
push 0
mov ebx, eax
call fcn.00408030
push str._r_n__t_
push 0
mov ebp, eax
call fcn.00408030
push str._r_n__t_
push 0
mov dword [esp + 0x44], eax
call fcn.00408030
mov ecx, dword [str.IMAGE_NORMAL]
push ecx
push esi
mov dword [esp + 0x40], eax
call fcn.0043522c
add esp, 0x30
test eax, eax
jne 0x40b13b
test edi, edi
je 0x40b0db
push edi
lea ecx, [esp + 0x58]
call fcn.004015a0
test ebx, ebx
je case.default.0x40ac12
test ebp, ebp
je case.default.0x40ac12
mov eax, dword [esp + 0x1c]
test eax, eax
je case.default.0x40ac12
mov eax, dword [esp + 0x10]
test eax, eax
je case.default.0x40ac12
push ebx
call fcn.0042f546
push ebp
mov dword [esp + 0x60], eax
call fcn.0042f546
mov edx, dword [esp + 0x24]
push edx
mov dword [esp + 0x68], eax
call fcn.0042f546
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x1c]
push eax
call fcn.0042f546
add esp, 0x10
mov dword [esp + 0x64], eax
jmp case.default.0x40ac12
mov ecx, dword [str.IMAGE_RIDE]
push ecx
push esi
call fcn.0043522c
add esp, 8
test eax, eax
jne 0x40b1c0
test edi, edi
je 0x40b15d
push edi
lea ecx, [esp + 0x6c]
call fcn.004015a0
test ebx, ebx
je case.default.0x40ac12
test ebp, ebp
je case.default.0x40ac12
mov eax, dword [esp + 0x1c]
test eax, eax
je case.default.0x40ac12
mov eax, dword [esp + 0x10]
test eax, eax
je case.default.0x40ac12
push ebx
call fcn.0042f546
push ebp
mov dword [esp + 0x74], eax
call fcn.0042f546
mov edx, dword [esp + 0x24]
push edx
mov dword [esp + 0x7c], eax
call fcn.0042f546
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x1c]
push eax
call fcn.0042f546
add esp, 0x10
mov dword [esp + 0x78], eax
jmp case.default.0x40ac12
mov ecx, dword [str.IMAGE_CLICK]
push ecx
push esi
call fcn.0043522c
add esp, 8
test eax, eax
jne 0x40b251
test edi, edi
je 0x40b1e5
push edi
lea ecx, [esp + 0x80]
call fcn.004015a0
test ebx, ebx
je case.default.0x40ac12
test ebp, ebp
je case.default.0x40ac12
mov eax, dword [esp + 0x1c]
test eax, eax
je case.default.0x40ac12
mov eax, dword [esp + 0x10]
test eax, eax
je case.default.0x40ac12
push ebx
call fcn.0042f546
push ebp
mov dword [esp + 0x88], eax
call fcn.0042f546
mov edx, dword [esp + 0x24]
push edx
mov dword [esp + 0x90], eax
call fcn.0042f546
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x1c]
push eax
call fcn.0042f546
add esp, 0x10
mov dword [esp + 0x8c], eax
jmp case.default.0x40ac12
mov ecx, dword [str.IMAGE_DISABLE]
push ecx
push esi
call fcn.0043522c
add esp, 8
test eax, eax
jne 0x40b2e2
test edi, edi
je 0x40b276
push edi
lea ecx, [esp + 0x94]
call fcn.004015a0
test ebx, ebx
je case.default.0x40ac12
test ebp, ebp
je case.default.0x40ac12
mov eax, dword [esp + 0x1c]
test eax, eax
je case.default.0x40ac12
mov eax, dword [esp + 0x10]
test eax, eax
je case.default.0x40ac12
push ebx
call fcn.0042f546
push ebp
mov dword [esp + 0x9c], eax
call fcn.0042f546
mov edx, dword [esp + 0x24]
push edx
mov dword [esp + 0xa4], eax
call fcn.0042f546
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x1c]
push eax
call fcn.0042f546
add esp, 0x10
mov dword [esp + 0xa0], eax
jmp case.default.0x40ac12
mov ecx, dword [str.ALIGNMENT]
push ecx
push esi
call fcn.0043522c
add esp, 8
test eax, eax
jne 0x40b3c3
test edi, edi
je 0x40b355
push str.left
push edi
call fcn.0043522c
add esp, 8
test eax, eax
jne 0x40b319
mov dword [esp + 0xbc], eax
jmp 0x40b355
push str.right
push edi
call fcn.0043522c
add esp, 8
test eax, eax
jne 0x40b338
mov dword [esp + 0xbc], 2
jmp 0x40b355
push str.center
push edi
call fcn.0043522c
add esp, 8
test eax, eax
jne 0x40b355
mov dword [esp + 0xbc], 1
test ebx, ebx
je case.default.0x40ac12
push 0x4528c8
push ebx
call fcn.0043522c
add esp, 8
test eax, eax
jne 0x40b37b
mov dword [esp + 0xb8], eax
jmp case.default.0x40ac12
push str.bottom
push ebx
call fcn.0043522c
add esp, 8
test eax, eax
jne 0x40b39d
mov dword [esp + 0xb8], 2
jmp case.default.0x40ac12
push str.center
push ebx
call fcn.0043522c
add esp, 8
test eax, eax
jne case.default.0x40ac12
mov dword [esp + 0xb8], 1
jmp case.default.0x40ac12
mov edx, dword [str.POSITION]
push edx
push esi
call fcn.0043522c
add esp, 8
test eax, eax
jne 0x40b409
test edi, edi
je case.default.0x40ac12
test ebx, ebx
je case.default.0x40ac12
push edi
call fcn.0042f546
push ebx
mov dword [esp + 0xc8], eax
call fcn.0042f546
add esp, 8
mov dword [esp + 0xc4], eax
jmp case.default.0x40ac12
mov eax, dword [str.SIZE]
push eax
push esi
call fcn.0043522c
add esp, 8
test eax, eax
jne 0x40b44e
test edi, edi
je case.default.0x40ac12
test ebx, ebx
je case.default.0x40ac12
push edi
call fcn.0042f546
push ebx
mov dword [esp + 0xd0], eax
call fcn.0042f546
add esp, 8
mov dword [esp + 0xcc], eax
jmp case.default.0x40ac12
mov ecx, dword [str.COMMAND]
push ecx
push esi
call fcn.0043522c
add esp, 8
test eax, eax
jne 0x40b47f
test edi, edi
je case.default.0x40ac12
push edi
call fcn.0042f546
add esp, 4
mov dword [esp + 0xd0], eax
jmp case.default.0x40ac12
mov edx, dword [str.SPLIT]
push edx
push esi
call fcn.0043522c
add esp, 8
test eax, eax
jne 0x40b4c5
test edi, edi
je case.default.0x40ac12
test ebx, ebx
je case.default.0x40ac12
push edi
call fcn.0042f546
push ebx
mov dword [esp + 0xdc], eax
call fcn.0042f546
add esp, 8
mov dword [esp + 0xd8], eax
jmp case.default.0x40ac12
mov eax, dword [str.SPLITFILL]
push eax
push esi
call fcn.0043522c
add esp, 8
test eax, eax
jne 0x40b53c
test edi, edi
je case.default.0x40ac12
test ebx, ebx
je case.default.0x40ac12
test ebp, ebp
je case.default.0x40ac12
mov eax, dword [esp + 0x1c]
test eax, eax
je case.default.0x40ac12
push edi
call fcn.0042f546
push ebx
mov dword [esp + 0xe4], eax
call fcn.0042f546
push ebp
mov dword [esp + 0xec], eax
call fcn.0042f546
mov ecx, dword [esp + 0x28]
push ecx
mov dword [esp + 0xf4], eax
call fcn.0042f546
add esp, 0x10
mov dword [esp + 0xe8], eax
jmp case.default.0x40ac12
mov edx, dword [str.MANUAL_MOVE]
push edx
push esi
call fcn.0043522c
add esp, 8
test eax, eax
jne 0x40b572
test edi, edi
je case.default.0x40ac12
push edi
call fcn.0042f546
add esp, 4
test eax, eax
setne al
mov byte [esp + 0xec], al
jmp case.default.0x40ac12
mov ecx, dword [str.IMAGE_MASK]
push ecx
push esi
call fcn.0043522c
add esp, 8
test eax, eax
jne 0x40b603
test edi, edi
je 0x40b597
push edi
lea ecx, [esp + 0xa8]
call fcn.004015a0
test ebx, ebx
je case.default.0x40ac12
test ebp, ebp
je case.default.0x40ac12
mov eax, dword [esp + 0x1c]
test eax, eax
je case.default.0x40ac12
mov eax, dword [esp + 0x10]
test eax, eax
je case.default.0x40ac12
push ebx
call fcn.0042f546
push ebp
mov dword [esp + 0xb0], eax
call fcn.0042f546
mov edx, dword [esp + 0x24]
push edx
mov dword [esp + 0xb8], eax
call fcn.0042f546
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x1c]
push eax
call fcn.0042f546
add esp, 0x10
mov dword [esp + 0xb4], eax
jmp case.default.0x40ac12
mov ecx, dword [str.FLAG]
push ecx
push esi
call fcn.0043522c
add esp, 8
test eax, eax
jne case.default.0x40ac12
test edi, edi
je case.default.0x40ac12
mov edx, dword [str.SHOW]
push edx
push edi
call fcn.0043522c
add esp, 8
test eax, eax
jne 0x40b644
mov byte [esp + 0x124], 1
jmp case.default.0x40ac12
mov eax, dword [str.HIDE]
push eax
push edi
call fcn.0043522c
add esp, 8
test eax, eax
jne case.default.0x40ac12
mov byte [esp + 0x124], al
jmp case.default.0x40ac12
mov ecx, dword [0x46a0f4]
push esi
push ecx
call fcn.0043522c
add esp, 8
test eax, eax
jne 0x40b684
mov dword [esp + 0x20], eax
jmp case.default.0x40ac12
mov edx, dword [str.BEGIN]
push esi
push edx
call fcn.0043522c
add esp, 8
test eax, eax
je case.default.0x40ac12
mov eax, dword [str.WIDTH_ELLIPSE]
push eax
push esi
call fcn.0043522c
add esp, 8
test eax, eax
jne 0x40b6da
push str._r_n__t_
push eax
call fcn.00408030
add esp, 8
test eax, eax
je case.default.0x40ac12
push eax
call fcn.0042f546
mov ecx, dword [esp + 0x1c]
add esp, 4
mov dword [ecx + 0x74], eax
jmp case.default.0x40ac12
mov edx, dword [str.HEIGHT_ELLIPSE]
push edx
push esi
call fcn.0043522c
add esp, 8
test eax, eax
jne 0x40b719
push str._r_n__t_
push eax
call fcn.00408030
add esp, 8
test eax, eax
je case.default.0x40ac12
push eax
call fcn.0042f546
mov ecx, dword [esp + 0x1c]
add esp, 4
mov dword [ecx + 0x78], eax
jmp case.default.0x40ac12
mov edx, dword [str.INNER_BORDER_COLOR]
push edx
push esi
call fcn.0043522c
add esp, 8
test eax, eax
jne 0x40b7cd
push str._r_n__t_
push eax
call fcn.00408030
push str._r_n__t_
push 0
mov esi, eax
call fcn.00408030
push str._r_n__t_
push 0
mov edi, eax
call fcn.00408030
add esp, 0x18
test esi, esi
je case.default.0x40ac12
test edi, edi
je case.default.0x40ac12
test eax, eax
je case.default.0x40ac12
push eax
call fcn.0042f546
xor ebx, ebx
push edi
mov bh, al
call fcn.0042f546
mov bl, al
push esi
shl ebx, 8
call fcn.0042f546
movzx eax, al
or ebx, eax
add esp, 0xc
xor eax, eax
lea ecx, [esp + 0x130]
push ecx
mov dword [esp + 0x138], ebx
mov dword [esp + 0x134], eax
mov dword [esp + 0x13c], eax
call ebp
mov ecx, dword [esp + 0x18]
mov dword [ecx + 0xa8], eax
mov byte [ecx + 0xb0], 1
jmp case.default.0x40ac12
mov edx, dword [str.OUTTER_BORDER_COLOR]
push edx
push esi
call fcn.0043522c
add esp, 8
test eax, eax
jne 0x40b881
push str._r_n__t_
push eax
call fcn.00408030
push str._r_n__t_
push 0
mov esi, eax
call fcn.00408030
push str._r_n__t_
push 0
mov edi, eax
call fcn.00408030
add esp, 0x18
test esi, esi
je case.default.0x40ac12
test edi, edi
je case.default.0x40ac12
test eax, eax
je case.default.0x40ac12
push eax
call fcn.0042f546
xor ebx, ebx
push edi
mov bh, al
call fcn.0042f546
mov bl, al
push esi
shl ebx, 8
call fcn.0042f546
movzx eax, al
or ebx, eax
add esp, 0xc
xor eax, eax
lea ecx, [esp + 0x13c]
push ecx
mov dword [esp + 0x144], ebx
mov dword [esp + 0x140], eax
mov dword [esp + 0x148], eax
call ebp
mov ecx, dword [esp + 0x18]
mov dword [ecx + 0xac], eax
mov byte [ecx + 0xb0], 1
jmp case.default.0x40ac12
mov edx, dword [str.MIN_SIZE]
push edx
push esi
call fcn.0043522c
add esp, 8
test eax, eax
jne 0x40b8e4
push str._r_n__t_
push eax
call fcn.00408030
push str._r_n__t_
push 0
mov esi, eax
call fcn.00408030
add esp, 0x10
test esi, esi
mov edi, eax
je case.default.0x40ac12
test edi, edi
je case.default.0x40ac12
push esi
call fcn.0042f546
mov esi, dword [esp + 0x1c]
push edi
mov dword [esi + 0x7c], eax
call fcn.0042f546
add esp, 8
mov dword [esi + 0x80], eax
jmp case.default.0x40ac12
mov eax, dword [str.MAX_SIZE]
push eax
push esi
call fcn.0043522c
add esp, 8
test eax, eax
jne 0x40b949
push str._r_n__t_
push eax
call fcn.00408030
push str._r_n__t_
push 0
mov esi, eax
call fcn.00408030
add esp, 0x10
test esi, esi
mov edi, eax
je case.default.0x40ac12
test edi, edi
je case.default.0x40ac12
push esi
call fcn.0042f546
mov esi, dword [esp + 0x1c]
push edi
mov dword [esi + 0x84], eax
call fcn.0042f546
add esp, 8
mov dword [esi + 0x88], eax
jmp case.default.0x40ac12
mov ecx, dword [str.NORESIZING]
push ecx
push esi
call fcn.0043522c
add esp, 8
test eax, eax
jne 0x40b990
push str._r_n__t_
push eax
call fcn.00408030
add esp, 8
test eax, eax
je case.default.0x40ac12
push eax
call fcn.0042f546
add esp, 4
test eax, eax
mov eax, dword [esp + 0x18]
setne dl
mov byte [eax + 0x8c], dl
jmp case.default.0x40ac12
mov ecx, dword [str.POLYGON]
push ecx
push esi
call fcn.0043522c
add esp, 8
test eax, eax
jne 0x40ba8e
mov edi, dword [esp + 0x18]
mov eax, dword [edi + 0x90]
xor esi, esi
xor bl, bl
cmp eax, esi
jne 0x40b9e4
push 0x14
call fcn.00442113
add esp, 4
cmp eax, esi
je 0x40b9dc
mov dword [eax], 0x45283c
mov dword [eax + 4], esi
mov dword [eax + 0x10], esi
mov dword [eax + 0xc], esi
mov dword [eax + 8], esi
jmp 0x40b9de
xor eax, eax
mov dword [edi + 0x90], eax
push str._r_n__t___
push esi
call fcn.0042e99d
add esp, 8
cmp eax, esi
je case.default.0x40ac12
mov esi, dword [esp + 0x18]
mov edi, edi
test bl, bl
mov cl, byte [eax]
jne 0x40ba3c
cmp cl, 0x4e
je 0x40ba25
cmp cl, 0x6e
je 0x40ba25
push eax
mov byte [esp + 0x44], bl
call fcn.0042f546
add esp, 4
mov dword [esp + 0x44], eax
mov bl, 1
jmp 0x40ba72
inc eax
push eax
mov byte [esp + 0x44], 1
call fcn.0042f546
add esp, 4
mov dword [esp + 0x44], eax
mov bl, 1
jmp 0x40ba72
cmp cl, 0x4e
je 0x40ba4d
cmp cl, 0x6e
je 0x40ba4d
mov byte [esp + 0x48], 0
jmp 0x40ba53
mov byte [esp + 0x48], 1
inc eax
push eax
call fcn.0042f546
mov ecx, dword [esi + 0x90]
add esp, 4
lea edx, [esp + 0x40]
push edx
mov dword [esp + 0x50], eax
call fcn.00408ae0
xor bl, bl
push str._r_n__t___
push 0
call fcn.0042e99d
add esp, 8
test eax, eax
jne 0x40ba00
jmp case.default.0x40ac12
mov eax, dword [str.DESKTOP_SIDE_STICK]
push eax
push esi
call fcn.0043522c
add esp, 8
test eax, eax
jne case.default.0x40ac12
push str._r_n__t_
push eax
call fcn.00408030
add esp, 8
test eax, eax
je case.default.0x40ac12
push eax
call fcn.0042f546
mov ecx, dword [esp + 0x1c]
add esp, 4
mov dword [ecx + 0x94], eax
jmp case.default.0x40ac12
mov edx, dword [0x46a0f4]
push esi
push edx
call fcn.0043522c
add esp, 8
test eax, eax
jne 0x40baf0
mov dword [esp + 0x20], eax
jmp case.default.0x40ac12
mov eax, dword [str.BEGIN]
push esi
push eax
call fcn.0043522c
add esp, 8
test eax, eax
je case.default.0x40ac12
push str._r_n__t_
push 0
call fcn.0042e99d
push str._r_n__t_
push 0
mov edi, eax
call fcn.0042e99d
push str._r_n__t_
push 0
mov ebx, eax
call fcn.0042e99d
add esp, 0x18
test edi, edi
je case.default.0x40ac12
test ebx, ebx
je case.default.0x40ac12
test eax, eax
je case.default.0x40ac12
push eax
call fcn.0042f546
xor ecx, ecx
mov ch, al
push ebx
mov dword [esp + 0x18], ecx
call fcn.0042f546
mov ecx, dword [esp + 0x18]
mov cl, al
push edi
shl ecx, 8
mov dword [esp + 0x1c], ecx
call fcn.0042f546
movzx ecx, al
mov eax, dword [esp + 0x1c]
or eax, ecx
mov ecx, dword [esp + 0x24]
add esp, 0xc
push esi
add ecx, 0x20
mov edi, eax
call fcn.00440e91
mov dword [eax], edi
mov edx, dword [esp + 0x148]
mov eax, dword [edx + 4]
mov ecx, dword [esp + eax + 0x150]
test ecx, ecx
je 0x40aba6
mov ebx, dword [esp + 0x18]
mov eax, dword [ebx + 0x10]
xor ebp, ebp
cmp eax, ebp
jne 0x40bc56
cmp dword [ebx + 0x48], ebp
jne 0x40bc56
cmp dword [ebx + 0x64], ebp
jne 0x40bc56
push 0x4092e0
push 5
push 0x14
lea eax, [esp + 0x60]
push eax
mov byte [esp + 0x804], 2
call fcn.0042ffc3
mov eax, dword [esp + 0x30]
add eax, 0xfffffff0
mov byte [esp + 0x7f4], 1
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40bbfb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
mov byte [esp + 0x7f4], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40bc21
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
lea ecx, [esp + 0x1ac]
mov dword [esp + 0x7f4], 0xffffffff
call fcn.0040a9f0
lea ecx, [esp + 0x1ac]
mov dword [esp + method.std::basic_ios_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ios_char__struct_std::char_traits_char__.0
call fcn.0043f4e3
xor al, al
jmp 0x40bf86
mov eax, dword [ebx + 0x64]
neg eax
sbb eax, eax
cmp eax, ebp
mov dword [esp + 0x2c], eax
je 0x40be88
lea esp, [esp]
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x34]
push edx
lea ecx, [ebx + 0x58]
call fcn.00440e16
mov eax, dword [esp + 0x14]
xor esi, esi
lea ecx, [ecx]
mov ecx, dword [eax + esi]
cmp dword [ecx - 0xc], ebp
je 0x40bddc
lea eax, [esp + 0x24]
push eax
push ecx
mov ecx, 0x46c918
call fcn.00440ce7
test eax, eax
je 0x40bd13
mov eax, dword [esp + 0x24]
inc dword [eax + 8]
mov eax, dword [esp + 0x24]
cmp eax, ebp
mov ecx, eax
je 0x40bdd8
mov eax, dword [esp + 0x14]
mov edi, dword [eax + esi + 4]
cmp edi, ebp
lea edx, [eax + esi + 4]
jne 0x40bddc
cmp dword [eax + esi + 8], ebp
jne 0x40bddc
cmp dword [eax + esi + 0xc], ebp
jne 0x40bddc
cmp dword [eax + esi + 0x10], ebp
jne 0x40bddc
mov dword [edx], ebp
mov edx, dword [esp + 0x14]
mov dword [edx + esi + 8], ebp
mov eax, dword [ecx]
cmp eax, ebp
je 0x40bdb9
mov eax, dword [eax + 4]
jmp 0x40bdbb
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + esi]
push ebp
push edx
lea eax, [esp + 0x1e8]
push eax
lea ecx, [esp + 0x2f0]
push ecx
call fcn.0040e250
push 0xc
call fcn.00442113
mov edi, eax
add esp, 0x14
mov dword [esp + 0x10], edi
cmp edi, ebp
mov byte [esp + 0x7f4], 4
je 0x40bd56
mov ecx, edi
call fcn.00407a80
jmp 0x40bd58
xor edi, edi
lea edx, [esp + 0x2e4]
push edx
mov ecx, edi
mov byte [esp + 0x7f8], 3
mov dword [esp + 0x28], edi
call fcn.00407aa0
test al, al
je 0x40bd9f
mov eax, dword [esp + 0x24]
mov dword [eax + 8], 1
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + esi]
mov edi, dword [esp + 0x24]
push eax
mov ecx, 0x46c918
call fcn.00440e91
mov dword [eax], edi
jmp 0x40bcb7
mov ecx, dword [esp + 0x24]
cmp ecx, ebp
mov edi, ecx
je 0x40bdd8
call fcn.00407a90
push edi
call fcn.00442143
add esp, 4
jmp 0x40bdd8
xor eax, eax
mov edx, dword [esp + 0x14]
mov dword [edx + esi + 0xc], eax
mov eax, dword [ecx]
cmp eax, ebp
je 0x40bdce
mov eax, dword [eax + 8]
jmp 0x40bdd0
xor eax, eax
mov ecx, dword [esp + 0x14]
mov dword [ecx + esi + 0x10], eax
mov eax, dword [esp + 0x14]
add esi, 0x14
cmp esi, 0x64
jl 0x40bc90
cmp dword [eax + 0x74], ebp
je 0x40bdf6
cmp dword [eax + 0x78], ebp
jne 0x40be7e
add eax, 4
push eax
call dword [sym.imp.USER32.dll_IsRectEmpty]
test eax, eax
jne 0x40be2a
mov eax, dword [esp + 0x14]
cmp dword [eax + 0x74], ebp
jne 0x40be1a
mov edx, dword [eax + 0xc]
sub edx, dword [eax + 4]
mov dword [eax + 0x74], edx
mov eax, dword [esp + 0x14]
cmp dword [eax + 0x78], ebp
jne 0x40be7e
mov ecx, dword [eax + 0x10]
sub ecx, dword [eax + 8]
mov dword [eax + 0x78], ecx
jmp 0x40be7e
mov edx, dword [esp + 0x14]
mov eax, dword [edx]
lea ecx, [esp + 0x24]
push ecx
push eax
mov ecx, 0x46c918
call fcn.00440ce7
test eax, eax
je 0x40be7e
mov ecx, dword [esp + 0x14]
cmp dword [ecx + 0x74], ebp
jne 0x40be65
mov edx, dword [esp + 0x24]
mov eax, dword [edx]
cmp eax, ebp
je 0x40be5c
mov eax, dword [eax + 4]
jmp 0x40be5e
xor eax, eax
mov dword [ecx + 0x74], eax
mov ecx, dword [esp + 0x14]
cmp dword [ecx + 0x78], ebp
jne 0x40be7e
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
cmp eax, ebp
je 0x40be79
mov eax, dword [eax + 8]
jmp 0x40be7b
xor eax, eax
mov dword [ecx + 0x78], eax
cmp dword [esp + 0x2c], ebp
jne 0x40bc70
mov ecx, dword [esp + 0x800]
mov edx, dword [esp + 0x804]
mov eax, dword [esp + 0x808]
push 0x4092e0
push 5
mov dword [ebx + 0xcc], ecx
push 0x14
lea ecx, [esp + 0x60]
push ecx
mov dword [ebx + 0x118], edx
mov dword [ebx + 0x11c], eax
mov byte [esp + 0x804], 2
call fcn.0042ffc3
mov eax, dword [esp + 0x30]
add eax, 0xfffffff0
mov byte [esp + 0x7f4], 1
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x40bef0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
mov byte [esp + 0x7f4], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40bf16
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov ecx, dword [esp + 0x148]
mov edx, dword [ecx + 4]
lea eax, [esp + 0x1ac]
mov dword [esp + 0x10], eax
mov dword [esp + edx + 0x148], 0x4528ac
lea ecx, [esp + 0x150]
mov dword [esp + 0x7f4], 5
call fcn.0040a7e0
mov eax, dword [esp + 0x148]
mov ecx, dword [eax + 4]
mov dword [esp + ecx + method.std::basic_istream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_istream_char__struct_std::char_traits_char__.0
lea ecx, [esp + 0x1ac]
mov dword [esp + 0x7f4], 0xffffffff
mov dword [esp + method.std::basic_ios_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ios_char__struct_std::char_traits_char__.0
call fcn.0043f4e3
mov al, 1
pop ebp
pop ebx
mov ecx, dword [esp + 0x7e4]
pop edi
mov dword fs:[0], ecx
mov ecx, dword [esp + 0x7dc]
pop esi
call fcn.0042f2ae
add esp, 0x7e8
ret 0x10