Function at 0x466624
Capabilities:
Hide graphical window

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xffffffe4
mov edi, eax
movsx eax, byte [edi + 0x442]
mov edx, dword [0x4be4fc]
mov al, byte [edx + eax - 1]
mov byte [esp + 8], al
call fcn.00455af0
mov ax, 0x19c
call fcn.004aa600
mov edx, eax
mov eax, dword [0x4bedb0]
call fcn.004b81b0
mov eax, dword [0x4bedb0]
call fcn.004b219c
mov esi, dword [edi + 0x50]
test esi, esi
je 0x466681
push esi
call sub.user32.dll_IsWindow
cmp eax, 1
sbb eax, eax
inc eax
test al, al
jne 0x46674b
push 0
mov eax, dword [0x4bf704]
push eax
push 0
mov eax, dword [edi]
push eax
mov eax, dword [0x4be784]
mov eax, dword [eax + 0x1828]
push eax
mov eax, dword [0x4be784]
mov eax, dword [eax + 0x1824]
push eax
mov eax, dword [0x4be784]
mov eax, dword [eax + 0x1820]
push eax
mov eax, dword [0x4be784]
mov eax, dword [eax + 0x181c]
push eax
push 0x80ec0041
mov eax, dword [0x4bedb0]
push eax
mov eax, dword [0x4be9a8]
mov eax, dword [eax + 0xc]
push eax
push 0x280
call sub.user32.dll_CreateWindowExA
mov esi, eax
mov dword [edi + 0x50], esi
test esi, esi
jne 0x466703
call sub.kernel32.dll_GetLastError_1
call fcn.004ae200
mov eax, dword [0x4bedb0]
mov edx, 1
call fcn.004b12a8
jmp 0x466a31
push 0
push 0x11
call sub.gdi32.dll_GetStockObject
push eax
push 0x30
mov eax, dword [edi + 0x50]
push eax
call sub.user32.dll_SendMessageA
push 4
mov eax, dword [edi + 0x50]
push eax
call sub.user32.dll_ShowWindow
push 0x455964
push 0xfffffffffffffffc
mov eax, dword [edi + 0x50]
push eax
call sub.user32.dll_SetWindowLongA
mov edx, dword [0x4be930]
mov dword [edx], eax
mov eax, dword [edi]
push eax
push 0xffffffffffffffeb
mov eax, dword [edi + 0x50]
push eax
call sub.user32.dll_SetWindowLongA
jmp 0x46676c
mov eax, dword [0x4bedb0]
push eax
mov eax, dword [edi + 0x50]
push eax
call sub.user32.dll_SetWindowTextA
push 0
push 0
push 0x184
mov eax, dword [edi + 0x50]
push eax
call sub.user32.dll_SendMessageA
cmp byte [esp + 8], 0xff
jne 0x46678e
lea edx, [edi + 0x15c]
mov al, byte [edi + 0x442]
call fcn.0049e20c
test al, al
je 0x466a31
jmp 0x4667a3
lea eax, [edi + 0x15c]
mov dl, 1
call fcn.004a3734
test eax, eax
je 0x466a31
mov ax, 0xff
call fcn.004aa600
mov edx, dword [edi + 0xc]
mov edx, dword [edx + 0xc]
call fcn.004ae1b0
mov eax, dword [0x4bedb0]
xor edx, edx
call fcn.004ad8ec
mov dword [esp + 4], 1
xor eax, eax
mov dword [esp], eax
cmp byte [esp + 8], 0xff
setne al
and eax, 0x7f
mov ebp, eax
add ebp, ebp
mov eax, dword [edi + 0x160]
dec eax
add ebp, eax
test ebp, ebp
jb 0x46693f
inc ebp
xor esi, esi
cmp byte [esp + 8], 0xff
je 0x466823
cmp esi, 2
jb 0x466937
lea eax, [esp + 9]
push eax
lea eax, [edi + 0x15c]
mov cl, byte [esp + 0xc]
mov edx, esi
call fcn.004a3580
cmp byte [esp + 9], 2
setb bl
jmp 0x466832
mov eax, dword [edi + 0x180]
mov edx, esi
call fcn.0049e1c8
mov ebx, eax
cmp byte [esp + 0xa], 0
jne 0x466860
cmp bl, 1
jne 0x466860
cmp dword [esp], 0
jle 0x466860
inc dword [esp + 4]
mov eax, dword [0x4be35c]
mov eax, dword [eax]
push eax
push 0
push 0x180
mov eax, dword [edi + 0x50]
push eax
call sub.user32.dll_SendMessageA
test bl, bl
je 0x4668c8
mov ax, 0x2dc
call fcn.004aa600
mov edx, eax
mov eax, dword [0x4bedb0]
call fcn.004b81b0
push 0x466a3c
mov eax, dword [0x4bedb0]
push eax
call sub.kernel32.dll_lstrcatA
mov dword [esp + 0xc], esi
xor eax, eax
mov dword [esp + 0x10], eax
fild qword [esp + 0xc]
add esp, 0xfffffff8
fistp qword [esp]
wait
call fcn.004b849c
push eax
mov eax, dword [0x4bedb0]
push eax
call sub.kernel32.dll_lstrcatA
mov eax, dword [0x4bedb0]
push eax
push 0
push 0x180
mov eax, dword [edi + 0x50]
push eax
call sub.user32.dll_SendMessageA
inc dword [esp]
mov byte [esp + 0xa], bl
mov eax, esi
mov ecx, 0x173
xor edx, edx
div ecx
test edx, edx
jne 0x466937
mov dword [esp + 0xc], esi
xor eax, eax
mov dword [esp + 0x10], eax
fild qword [esp + 0xc]
mov eax, dword [edi + 0x160]
mov dword [esp + 0x14], eax
xor eax, eax
mov dword [esp + 0x18], eax
fild qword [esp + 0x14]
fdivp st(1)
fmul dword [0x466a40]
call fcn.004028e8
mov edx, dword [0x4be344]
mov byte [edx], al
mov eax, dword [0x4be344]
mov al, byte [eax]
mov edx, dword [0x4be8d0]
cmp al, byte [edx]
je 0x466928
call fcn.004b5c48
call fcn.004ae0a4
mov eax, dword [0x4bed48]
cmp byte [eax], 0
jne 0x46693f
inc esi
dec ebp
jne 0x4667f3
call fcn.004adbe0
mov eax, dword [0x4be35c]
mov eax, dword [eax]
push eax
push 0
push 0x180
mov eax, dword [edi + 0x50]
push eax
call sub.user32.dll_SendMessageA
mov edx, 0x466a44
mov eax, dword [0x4beb38]
call fcn.004b81b0
mov ax, 0x342
call fcn.004aa600
push eax
mov eax, dword [0x4beb38]
push eax
call sub.kernel32.dll_lstrcatA
push 0x466a3c
mov eax, dword [0x4beb38]
push eax
call sub.kernel32.dll_lstrcatA
fild dword [esp + 4]
add esp, 0xfffffff8
fistp qword [esp]
wait
call fcn.004b21b4
mov eax, dword [0x4bedb0]
push eax
mov eax, dword [0x4beb38]
push eax
call sub.kernel32.dll_lstrcatA
mov eax, dword [0x4beb38]
push eax
push 0
push 0x180
mov eax, dword [edi + 0x50]
push eax
call sub.user32.dll_SendMessageA
cmp byte [esp + 8], 0xff
jne 0x4669ee
push 0x4000
mov eax, dword [edi + 0x184]
push eax
mov eax, dword [edi + 0x180]
push eax
call sub.kernel32.dll_VirtualFree_1
xor eax, eax
mov dword [edi + 0x180], eax
mov eax, dword [0x4be450]
cmp byte [eax], 0
jne 0x466a31
push 0
push 0
push 0x18b
mov eax, dword [edi + 0x50]
push eax
call sub.user32.dll_SendMessageA
dec eax
mov edx, dword [0x4be6b0]
mov dword [edx], eax
mov eax, dword [0x4be6b0]
cmp dword [eax], 0x7fbc
jle 0x466a31
mov eax, dword [0x4beedc]
mov eax, dword [eax]
mov edx, 3
call fcn.004b12a8
add esp, 0x1c
pop ebp
pop edi
pop esi
pop ebx
ret