Function at 0x402b60
Capabilities:
Hide graphical window

Disassembly:
sub esp, 0x10
cmp dword [esp + 0x20], 0
mov ecx, dword [esp + 0x1c]
mov dword [esp], 0
jne 0x402b87
cmp ecx, 6
jae 0x402b87
cmp byte [0x440c1c], 0
je 0x402e6f
push ebp
mov ebp, dword [esp + 0x18]
push edi
xor edi, edi
xor eax, eax
cmp dword [eax + 0x450024], ebp
je 0x402ba6
add eax, 0x160
inc edi
cmp eax, 0xdc0
jb 0x402b91
push ebx
push esi
mov esi, dword [esp + 0x28]
mov dword [esp + 0x14], edi
test esi, esi
je 0x402df0
mov ebx, edi
imul ebx, ebx, 0x160
cmp byte [ebx + 0x450021], 0
mov eax, dword [ebx + 0x450138]
mov edx, dword [ebx + 0x45013c]
mov dword [0x44b8f0], eax
lea eax, [esi + ecx]
lea ecx, [esi + 0xff0]
mov dword [0x44b8f4], edx
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ecx
je 0x402c67
cmp eax, ecx
jb 0x402bf7
mov eax, ecx
cmp esi, eax
jae 0x402cd8
lea edx, [esi + 0x14]
mov eax, edx
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x402c07
sub eax, edi
lea edi, [eax + 4]
and edi, 0xfffffffc
cmp edi, 0x101f
jbe 0x402c29
mov byte [esi + 0x1033], cl
mov edi, 0x101f
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0xc]
push edx
mov edx, dword [esi + 8]
push eax
mov eax, dword [esi + 4]
push ecx
mov ecx, dword [ebx + 0x450148]
add ecx, dword [esi]
push edx
mov edx, dword [esp + 0x24]
push eax
push ecx
push edx
push ebp
call fcn.0040e840
mov ecx, dword [esp + 0x3c]
add esp, 0x20
or dword [esp + 0x10], eax
mov eax, dword [esp + 0x18]
lea esi, [esi + edi + 0x14]
mov edi, dword [esp + 0x14]
jmp 0x402bf1
cmp eax, ecx
jb 0x402c6d
mov eax, ecx
cmp esi, eax
jae 0x402cd8
lea edx, [esi + 0x14]
mov eax, edx
lea edi, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x402c80
sub eax, edi
lea edi, [eax + 1]
cmp edi, 0x101f
jbe 0x402c9a
mov byte [esi + 0x1033], cl
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0xc]
push edx
mov edx, dword [esi + 8]
push eax
mov eax, dword [esi + 4]
push ecx
mov ecx, dword [ebx + 0x450148]
add ecx, dword [esi]
push edx
mov edx, dword [esp + 0x24]
push eax
push ecx
push edx
push ebp
call fcn.0040e840
mov ecx, dword [esp + 0x3c]
add esp, 0x20
or dword [esp + 0x10], eax
mov eax, dword [esp + 0x18]
lea esi, [esi + edi + 0x14]
mov edi, dword [esp + 0x14]
jmp 0x402c67
cmp dword [0x450024], ebp
jne 0x402d40
mov esi, dword [0x449860]
test esi, esi
je 0x402d2f
lea ebx, [ebx]
mov ecx, dword [esi + 0x14]
mov edx, dword [esi + 0x10]
lea eax, [esi + 0x18]
push eax
mov eax, dword [esi + 0xc]
push ecx
mov ecx, dword [esi + 8]
push edx
mov edx, dword [esi + 4]
add edx, dword [ebx + 0x450148]
push eax
push ecx
push edx
push edi
push ebp
call fcn.0040e840
or dword [esp + 0x30], eax
mov eax, esi
mov dword [0x449860], eax
mov esi, dword [esi]
push eax
call fcn.00412c42
add esp, 0x24
test esi, esi
jne 0x402cf0
xor eax, eax
mov dword [0x449860], eax
mov dword [0x44f9e4], eax
mov byte [0x440c1c], al
cmp dword [0x440c20], 0
je 0x402d9a
cmp dword [esp + 0x10], 0
je 0x402d9a
mov ebx, dword [sym.imp.USER32.dll_SendMessageA]
push 0
push 0
push 0xb
push ebp
call ebx
mov eax, dword [0x440c24]
cmp eax, dword [0x440c20]
jb 0x402d8f
lea esp, [esp]
push 0
push 0
push 0x1008
push ebp
call ebx
mov eax, dword [0x440c24]
dec eax
mov dword [0x440c24], eax
cmp eax, dword [0x440c20]
jae 0x402d70
push 0
push 1
push 0xb
push ebp
call ebx
jmp 0x402da0
mov ebx, dword [sym.imp.USER32.dll_SendMessageA]
cmp byte [0x43d366], 0
je 0x402df6
cmp dword [esp + 0x10], 0
je 0x402df6
mov ecx, dword [0x440c28]
imul ecx, ecx, 0x160
cmp dword [ecx + 0x450024], ebp
jne 0x402dd6
mov eax, dword [0x440c00]
test eax, eax
je 0x402dd6
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
push 0
push 0
push 0
push 0x1004
push ebp
call ebx
dec eax
push eax
push 0x1013
push ebp
call ebx
jmp 0x402df6
mov ebx, dword [sym.imp.USER32.dll_SendMessageA]
cmp dword [esp + 0x30], 0
je 0x402e6b
cmp byte [0x450df8], 0
mov esi, dword [sym.imp.USER32.dll_SetCursor]
jne 0x402e23
mov edx, dword [0x44ba04]
push edx
call esi
push 0
push 0
push 0xb
push ebp
mov dword [0x450de8], eax
call ebx
push 0
push 0
push 0x1009
push ebp
call ebx
imul edi, edi, 0x160
cmp byte [0x450df8], 0
mov dword [0x440c24], 0
mov byte [edi + 0x45014c], 1
jne 0x402e6b
mov eax, dword [0x450de8]
push eax
call esi
push 0
push 1
push 0xb
push ebp
call ebx
push 0
push 0
push ebp
call dword [sym.imp.USER32.dll_InvalidateRect]
pop esi
pop ebx
pop edi
pop ebp
add esp, 0x10
ret