Function at 0x403c60
Capabilities:
Hide graphical window

Disassembly:
sub esp, 0x48
push ebx
push ebp
push esi
mov esi, dword [sym.imp.USER32.dll_ShowWindow]
push edi
mov edi, ecx
mov eax, dword [edi + 0xe94]
push 5
push eax
call esi
mov ecx, dword [edi + 0xf28]
push 5
push ecx
call esi
mov edx, dword [edi + 0xee8]
push 5
push edx
call esi
mov eax, dword [edi + 0xee4]
push 5
push eax
call esi
mov ecx, dword [edi + 0xef0]
push 5
push ecx
call esi
mov edx, dword [edi + 0xeec]
push 5
push edx
call esi
mov eax, dword [edi + 0xeb8]
push 5
push eax
call esi
mov ecx, dword [edi + 0xebc]
push 5
push ecx
call esi
mov edx, dword [edi + 0xec0]
push 5
push edx
call esi
mov ebx, dword [esp + 0x5c]
test ebx, ebx
push 0
jne 0x403d0f
mov eax, dword [edi + 0xf2c]
push eax
call esi
mov ecx, dword [edi + 0xf14]
push ebx
push ecx
call esi
mov edx, dword [edi + 0xf18]
push ebx
push edx
call esi
mov eax, dword [edi + 0xf00]
push 5
push eax
call esi
mov ecx, dword [edi + 0xf04]
push 5
push ecx
jmp 0x403d42
mov edx, dword [edi + 0xf00]
push edx
call esi
mov eax, dword [edi + 0xf04]
push 0
push eax
call esi
mov ecx, dword [edi + 0xf14]
push 5
push ecx
call esi
mov edx, dword [edi + 0xf18]
push 5
push edx
call esi
mov eax, dword [edi + 0xf2c]
push 5
push eax
call esi
mov ebp, dword [sym.imp.USER32.dll_GetWindowRect]
lea ecx, [ebx + ebx*8 + 0x3cc]
lea ebx, [edi + ecx*4]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], 9
mov eax, dword [ebx + 0x120]
test eax, eax
je 0x403db4
push 5
push eax
call esi
mov ebx, dword [ebx + 0x120]
test ebx, ebx
je 0x403db4
lea edx, [esp + 0x18]
push edx
push ebx
call ebp
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
sub eax, ecx
mov ecx, dword [esp + 0x20]
dec eax
push eax
sub ecx, dword [esp + 0x1c]
dec ecx
push ecx
push 1
push 1
lea edx, [esp + 0x48]
push edx
call dword [sym.imp.USER32.dll_SetRect]
push 1
lea eax, [esp + 0x3c]
push eax
push ebx
call dword [sym.imp.USER32.dll_InvalidateRect]
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx]
test eax, eax
je 0x403e06
push 5
push eax
call esi
mov ebx, dword [ebx]
test ebx, ebx
je 0x403e06
lea ecx, [esp + 0x28]
push ecx
push ebx
call ebp
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x28]
sub edx, eax
mov eax, dword [esp + 0x30]
dec edx
push edx
sub eax, ecx
dec eax
push eax
push 1
push 1
lea ecx, [esp + 0x58]
push ecx
call dword [sym.imp.USER32.dll_SetRect]
push 1
lea edx, [esp + 0x4c]
push edx
push ebx
call dword [sym.imp.USER32.dll_InvalidateRect]
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
add ebx, 4
dec eax
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], eax
jne 0x403d60
mov ebx, dword [edi + 0xee8]
test ebx, ebx
je 0x403e6d
lea eax, [esp + 0x28]
push eax
push ebx
call ebp
mov esi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x30]
sub ecx, esi
mov esi, dword [esp + 0x28]
dec ecx
push ecx
sub edx, esi
mov esi, dword [sym.imp.USER32.dll_SetRect]
dec edx
push edx
push 1
push 1
lea eax, [esp + 0x58]
push eax
call esi
push 1
lea ecx, [esp + 0x4c]
push ecx
push ebx
mov ebx, dword [sym.imp.USER32.dll_InvalidateRect]
call ebx
jmp 0x403e79
mov ebx, dword [sym.imp.USER32.dll_InvalidateRect]
mov esi, dword [sym.imp.USER32.dll_SetRect]
mov eax, dword [edi + 0xef0]
test eax, eax
mov dword [esp + 0x14], eax
je 0x403ebe
lea edx, [esp + 0x28]
push edx
push eax
call ebp
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x34]
sub eax, ecx
mov ecx, dword [esp + 0x30]
dec eax
push eax
sub ecx, dword [esp + 0x2c]
dec ecx
push ecx
push 1
push 1
lea edx, [esp + 0x58]
push edx
call esi
mov ecx, dword [esp + 0x14]
push 1
lea eax, [esp + 0x4c]
push eax
push ecx
call ebx
mov eax, dword [edi + 0xeec]
test eax, eax
mov dword [esp + 0x14], eax
je 0x403f03
lea edx, [esp + 0x28]
push edx
push eax
call ebp
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x34]
sub eax, ecx
mov ecx, dword [esp + 0x30]
dec eax
push eax
sub ecx, dword [esp + 0x2c]
dec ecx
push ecx
push 1
push 1
lea edx, [esp + 0x58]
push edx
call esi
mov ecx, dword [esp + 0x14]
push 1
lea eax, [esp + 0x4c]
push eax
push ecx
call ebx
mov eax, dword [edi + 0xebc]
test eax, eax
mov dword [esp + 0x14], eax
je 0x403f48
lea edx, [esp + 0x28]
push edx
push eax
call ebp
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x34]
sub eax, ecx
mov ecx, dword [esp + 0x30]
dec eax
push eax
sub ecx, dword [esp + 0x2c]
dec ecx
push ecx
push 1
push 1
lea edx, [esp + 0x58]
push edx
call esi
mov ecx, dword [esp + 0x14]
push 1
lea eax, [esp + 0x4c]
push eax
push ecx
call ebx
mov eax, dword [edi + 0xec0]
test eax, eax
mov dword [esp + 0x14], eax
je 0x403f8d
lea edx, [esp + 0x28]
push edx
push eax
call ebp
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x34]
sub eax, ecx
mov ecx, dword [esp + 0x30]
dec eax
push eax
sub ecx, dword [esp + 0x2c]
dec ecx
push ecx
push 1
push 1
lea edx, [esp + 0x58]
push edx
call esi
mov ecx, dword [esp + 0x14]
push 1
lea eax, [esp + 0x4c]
push eax
push ecx
call ebx
mov eax, dword [edi + 0xee4]
test eax, eax
mov dword [esp + 0x14], eax
je 0x403fd2
lea edx, [esp + 0x28]
push edx
push eax
call ebp
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x34]
sub eax, ecx
mov ecx, dword [esp + 0x30]
dec eax
push eax
sub ecx, dword [esp + 0x2c]
dec ecx
push ecx
push 1
push 1
lea edx, [esp + 0x58]
push edx
call esi
mov ecx, dword [esp + 0x14]
push 1
lea eax, [esp + 0x4c]
push eax
push ecx
call ebx
mov eax, dword [edi + 0xf28]
test eax, eax
mov dword [esp + 0x14], eax
je 0x404017
lea edx, [esp + 0x28]
push edx
push eax
call ebp
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x34]
sub eax, ecx
mov ecx, dword [esp + 0x30]
dec eax
push eax
sub ecx, dword [esp + 0x2c]
dec ecx
push ecx
push 1
push 1
lea edx, [esp + 0x58]
push edx
call esi
mov ecx, dword [esp + 0x14]
push 1
lea eax, [esp + 0x4c]
push eax
push ecx
call ebx
mov eax, dword [esp + 0x5c]
test eax, eax
jne 0x40406f
mov eax, dword [edi + 0xf04]
test eax, eax
mov dword [esp + 0x5c], eax
je 0x404064
lea edx, [esp + 0x28]
push edx
push eax
call ebp
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x34]
sub eax, ecx
mov ecx, dword [esp + 0x30]
dec eax
push eax
sub ecx, dword [esp + 0x2c]
dec ecx
push ecx
push 1
push 1
lea edx, [esp + 0x58]
push edx
call esi
mov ecx, dword [esp + 0x5c]
push 1
lea eax, [esp + 0x4c]
push eax
push ecx
call ebx
mov eax, dword [edi + 0xf00]
jmp 0x4040ff
mov eax, dword [edi + 0xf18]
test eax, eax
mov dword [esp + 0x5c], eax
je 0x4040b4
lea edx, [esp + 0x28]
push edx
push eax
call ebp
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x34]
sub eax, ecx
mov ecx, dword [esp + 0x30]
dec eax
push eax
sub ecx, dword [esp + 0x2c]
dec ecx
push ecx
push 1
push 1
lea edx, [esp + 0x58]
push edx
call esi
mov ecx, dword [esp + 0x5c]
push 1
lea eax, [esp + 0x4c]
push eax
push ecx
call ebx
mov eax, dword [edi + 0xf14]
test eax, eax
mov dword [esp + 0x5c], eax
je 0x4040f9
lea edx, [esp + 0x28]
push edx
push eax
call ebp
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x34]
sub eax, ecx
mov ecx, dword [esp + 0x30]
dec eax
push eax
sub ecx, dword [esp + 0x2c]
dec ecx
push ecx
push 1
push 1
lea edx, [esp + 0x58]
push edx
call esi
mov ecx, dword [esp + 0x5c]
push 1
lea eax, [esp + 0x4c]
push eax
push ecx
call ebx
mov eax, dword [edi + 0xf2c]
test eax, eax
mov dword [esp + 0x5c], eax
je 0x40413e
lea edx, [esp + 0x28]
push edx
push eax
call ebp
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x34]
sub eax, ecx
mov ecx, dword [esp + 0x30]
dec eax
push eax
sub ecx, dword [esp + 0x2c]
dec ecx
push ecx
push 1
lea edx, [esp + 0x54]
push 1
push edx
call esi
mov ecx, dword [esp + 0x5c]
push 1
lea eax, [esp + 0x4c]
push eax
push ecx
call ebx
mov edi, dword [edi + 0xeb8]
test edi, edi
je 0x40417b
lea edx, [esp + 0x28]
push edx
push edi
call ebp
mov eax, dword [esp + 0x34]
mov ebp, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
sub eax, ebp
dec eax
push eax
sub ecx, dword [esp + 0x2c]
dec ecx
push ecx
push 1
push 1
lea edx, [esp + 0x58]
push edx
call esi
push 1
lea eax, [esp + 0x4c]
push eax
push edi
call ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x48
ret 4