Function at 0x401ca0
Capabilities:
Hide graphical window

Disassembly:
sub esp, 0x50
mov eax, dword [0x451c30]
mov ecx, dword [0x451c2c]
push ebx
push ebp
push esi
push edi
push eax
push ecx
call fcn.00401060
mov edx, dword [0x451c30]
add esp, 8
push edx
call dword [sym.imp.USER32.dll_GetDC]
push 0x10
mov esi, eax
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
push esi
call dword [sym.imp.GDI32.dll_SelectObject]
lea eax, [esp + 0x28]
push eax
push esi
call dword [sym.imp.GDI32.dll_GetTextMetricsA]
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
mov dword [0x42a550], ecx
add eax, edx
lea ecx, [eax + eax*2]
add ecx, ecx
add ecx, ecx
mov eax, 0x66666667
imul ecx
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x451c30]
push esi
push edx
mov dword [0x42a26c], ecx
call dword [sym.imp.USER32.dll_ReleaseDC]
mov eax, dword [0x42a26c]
mov esi, dword [0x42a550]
fild dword [0x42a26c]
cdq
sub eax, edx
fmul qword [0x417460]
mov ebx, eax
lea eax, [esi + esi*4]
add eax, eax
add eax, eax
add eax, eax
lea ebp, [esi + esi*2]
add ebp, ebp
sar ebx, 1
mov dword [esp + 0x14], eax
call fcn.00404c50
mov edi, eax
cmp edi, 0x20
jge 0x401d68
mov edi, 0x20
mov dword [esp + 0x10], esi
mov dword [0x451c20], edi
mov esi, 0x42a48c
jmp 0x401d80
mov eax, dword [esp + 0x10]
push 0x4172e3
push edi
push edi
push ebx
push eax
push 0x478
call fcn.00401140
mov ecx, dword [esp + 0x2c]
push 0x4172e3
push edi
push ecx
push ebx
push ebp
push 0x46e
mov dword [esi + 0x60], eax
call fcn.00401100
add esp, 0x30
mov dword [esi], eax
mov edx, dword [esi + 0x60]
push 0
push edx
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [esi]
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
add esi, 4
add ebx, edi
cmp esi, 0x42a4ec
jl 0x401d80
mov ebp, dword [0x42a26c]
mov ecx, dword [0x42a550]
mov eax, ebp
cdq
sub eax, edx
lea esi, [ecx*8]
sub esi, ecx
mov ebx, ecx
mov edi, eax
imul ebx, ebx, 0x2f
sar edi, 1
add esi, esi
add ebp, 4
cmp dword [0x42a77c], 1
jle 0x401e31
mov ecx, dword [0x42a374]
mov edx, dword [ecx*4 + 0x41f388]
push edx
push ebp
push esi
push edi
push ebx
push 0x465
call fcn.004010c0
add esp, 0x18
mov dword [0x42a480], eax
add edi, ebp
mov eax, dword [0x42a374]
mov ecx, dword [eax*4 + 0x41f380]
push ecx
push ebp
push esi
push edi
push ebx
push 0x466
call fcn.004010c0
mov edx, dword [0x42a374]
mov dword [0x42a488], eax
mov eax, dword [edx*4 + 0x41f378]
push eax
push ebp
push esi
add ebp, edi
push ebp
push ebx
push 0x467
call fcn.004010c0
add esp, 0x30
mov dword [0x42a484], eax
call fcn.004019f0
mov edx, dword [0x451c30]
lea ecx, [esp + 0x18]
push ecx
push edx
call dword [sym.imp.USER32.dll_GetWindowRect]
mov ecx, dword [0x42a780]
mov edx, dword [0x42a784]
cmp ecx, 0xffffffff
jne 0x401ef0
cmp edx, 0xffffffff
jne 0x401ef0
mov eax, dword [0x42a550]
mov ecx, dword [0x451c34]
mov edx, eax
shl edx, 5
sub edx, eax
mov eax, dword [0x42a47c]
push 0
add edx, edx
push ecx
push edx
cdq
sub eax, edx
mov esi, eax
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
sar esi, 1
sub esi, eax
mov eax, dword [esp + 0x2c]
sub eax, dword [esp + 0x24]
push esi
cdq
sub eax, edx
mov ecx, eax
mov eax, dword [0x42a54c]
cdq
sub eax, edx
sar ecx, 1
sar eax, 1
sub eax, ecx
push eax
jmp 0x401f09
mov eax, dword [0x451c34]
push 0
push eax
mov eax, dword [0x42a550]
mov esi, eax
shl esi, 5
sub esi, eax
add esi, esi
push esi
push edx
push ecx
mov esi, dword [0x451c30]
call fcn.00401860
add esp, 0x14
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x50
ret