Function at 0x4860b0
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff4
push ebx
push esi
push edi
mov dword [ebp - 4], edx
mov ebx, eax
xor eax, eax
push ebp
push 0x4863b6
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebx + 0xec], eax
xor eax, eax
mov dword [ebp - 0xc], eax
mov eax, dword [0x49c6d8]
mov eax, dword [eax + 0x40]
call fcn.0046f978
mov edi, eax
dec edi
test edi, edi
jl 0x486143
inc edi
xor esi, esi
mov eax, dword [0x49c6d8]
mov eax, dword [eax + 0x40]
mov edx, esi
call fcn.0046f920
movzx eax, byte [eax + 0xc]
add al, 0xfe
sub al, 2
jae 0x48613f
mov eax, dword [0x49c6d8]
mov eax, dword [eax + 0x40]
mov edx, esi
call fcn.0046f920
cmp byte [eax + 0xc], 2
jne 0x486121
inc dword [ebp - 0xc]
cmp dword [ebx + 0xec], 0
jne 0x48613f
mov eax, dword [0x49c6d8]
mov eax, dword [eax + 0x40]
mov edx, esi
call fcn.0046f920
mov dword [ebx + 0xec], eax
inc esi
dec edi
jne 0x4860f0
cmp dword [ebp - 0xc], 1
jle 0x4861d4
mov eax, dword [ebp - 0xc]
push eax
lea eax, [ebx + 0xf8]
mov ecx, 1
mov edx, dword [0x47e700]
call fcn.00408a3c
add esp, 4
xor eax, eax
mov dword [ebp - 8], eax
mov eax, dword [0x49c6d8]
mov eax, dword [eax + 0x40]
call fcn.0046f978
mov edi, eax
dec edi
test edi, edi
jl 0x4861bd
inc edi
xor esi, esi
mov eax, dword [0x49c6d8]
mov eax, dword [eax + 0x40]
mov edx, esi
call fcn.0046f920
cmp byte [eax + 0xc], 2
jne 0x4861b9
mov eax, dword [0x49c6d8]
mov eax, dword [eax + 0x40]
mov edx, esi
call fcn.0046f920
mov edx, dword [ebx + 0xf8]
mov ecx, dword [ebp - 8]
mov dword [edx + ecx*4], eax
inc dword [ebp - 8]
inc esi
dec edi
jne 0x486186
xor eax, eax
mov dword [ebx + 0xec], eax
mov eax, ebx
mov edx, dword [ebp - 4]
call fcn.00485e88
jmp 0x486390
mov eax, dword [ebx + 0xec]
test eax, eax
je 0x486375
mov edx, 0x4863d0
call fcn.00474a04
push 1
lea eax, [ebx + 0xf8]
mov ecx, 1
mov edx, dword [0x47e700]
call fcn.00408a3c
add esp, 4
mov eax, dword [ebx + 0xec]
mov edx, dword [ebx + 0xf8]
mov dword [edx], eax
mov eax, ebx
mov edx, dword [ebp - 4]
call fcn.00485e88
mov eax, dword [ebx + 0xec]
mov edx, dword [eax + 0x44]
test edx, edx
je 0x486390
cmp dword [eax + 0x48], 0
je 0x486390
mov eax, dword [ebx + 0x54]
call fcn.00458ddc
mov eax, dword [ebx + 0xec]
mov edx, dword [eax + 0x48]
mov eax, dword [ebx + 0x54]
call fcn.00458e20
mov eax, dword [ebx + 0x54]
call fcn.00458e04
call fcn.0047ea2c
push eax
mov eax, dword [ebx + 0x54]
call fcn.00458dc0
call fcn.0047ea18
mov edx, eax
mov eax, ebx
pop ecx
call fcn.004848f8
mov eax, dword [0x49c6e0]
call fcn.0040887c
mov edi, eax
test edi, edi
jl 0x486369
inc edi
xor esi, esi
mov eax, dword [0x49c6e0]
mov eax, dword [eax + esi*4]
mov eax, dword [eax + 4]
mov edx, dword [ebx + 0xec]
mov edx, dword [edx + 4]
call fcn.004077d4
jne 0x486361
mov edx, dword [0x49c6e0]
mov edx, dword [edx + esi*4]
mov edx, dword [edx + 0xc]
mov eax, dword [ebx + 0x54]
mov ecx, dword [eax + 0xee]
mov dword [ecx + 0x3c], edx
mov edx, dword [0x49c6e0]
mov edx, dword [edx + esi*4]
mov edx, dword [edx + 0xc]
mov edx, dword [edx + 0x18]
test edx, edx
jbe 0x486304
inc edx
call fcn.00458ddc
mov edi, dword [ebx + 0x54]
mov eax, dword [edi + 0x30]
call fcn.00458dc0
push eax
mov eax, dword [ebx + 0x54]
call fcn.00458dc0
pop edx
sub edx, eax
sar edx, 1
jns 0x4862fd
adc edx, 0
mov eax, edi
call fcn.00458d40
mov eax, dword [0x49c6e0]
mov eax, dword [eax + esi*4]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x1c]
test eax, eax
jbe 0x486321
mov edx, eax
inc edx
mov eax, dword [ebx + 0x54]
call fcn.00458e20
mov edx, dword [ebx + 0xec]
mov eax, ebx
call fcn.00485fb8
mov eax, dword [ebx + 0x84]
call fcn.00458a78
mov eax, dword [ebx + 0x60]
call fcn.00458a78
mov eax, dword [ebx + 0x58]
call fcn.00458a78
mov eax, dword [ebx + 0x64]
call fcn.00458a78
push 0
mov eax, dword [ebx + 0xa0]
push eax
call sub.user32.dll_ShowWindow
jmp 0x486369
inc esi
dec edi
jne 0x48628f
mov eax, dword [ebx + 0x54]
mov dl, 1
call fcn.00458954
jmp 0x486390
push 0
lea eax, [ebx + 0xf8]
mov ecx, 1
mov edx, dword [0x47e700]
call fcn.00408a3c
add esp, 4
mov byte [ebx + 0x21], 1
mov eax, dword [ebx + 0x4c]
xor edx, edx
call fcn.00458954
mov eax, dword [ebx + 0x50]
mov dl, 1
call fcn.00458954
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4863bd
ret