Function at 0x84a790
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff0
push ebx
push esi
push edi
mov byte [ebp - 1], dl
mov esi, eax
test byte [esi + 0x2c0], 0x80
jne 0x84ab58
xor eax, eax
mov dword [ebp - 8], eax
mov eax, esi
call fcn.0086ec18
mov eax, dword [esi + 0x26c]
call fcn.0083c888
mov eax, dword [eax + 0xa0]
mov eax, dword [eax + 0x24]
cmp byte [eax + 6], 0
je 0x84ab58
mov edx, dword [esi + 0x2c0]
or edx, 0x80
mov eax, esi
call fcn.0086f5f8
mov eax, dword [esi + 0x2b8]
call fcn.0055010c
xor ecx, ecx
mov edx, 0x51
call fcn.00831de0
cmp dword [esi + 0x268], 0
je 0x84a822
lea eax, [esi + 0x268]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
mov eax, dword [eax]
mov edx, dword [ebp - 0xc]
xor ecx, ecx
mov dword [edx], ecx
call fcn.00408198
push 1
mov ecx, esi
mov dl, 1
mov eax, dword [0x848a14]
call fcn.007cecd4
mov dword [esi + 0x268], eax
mov ebx, dword [esi + 0x268]
mov eax, dword [esi + 0x2b8]
cmp byte [eax + 0x388], 0
je 0x84a863
movzx eax, byte [eax + 0x389]
mov dword [ebp - 0x10], eax
fild dword [ebp - 0x10]
fstp qword [ebx + 0xe0]
wait
jmp 0x84a875
xor eax, eax
mov dword [ebx + 0xe0], eax
mov dword [ebx + 0xe4], 0x406fe000
mov eax, dword [esi + 0x2cc]
mov dword [ebx + 0xd0], eax
mov eax, dword [esi + 0x2b8]
call fcn.0055010c
mov dword [ebx + 0xcc], eax
cmp byte [esi + 0x58], 0
je 0x84a8b8
mov eax, dword [esi + 0x26c]
call fcn.0083c888
mov eax, dword [eax + 0xa0]
mov eax, dword [eax + 0x24]
movzx eax, byte [eax + 8]
mov byte [ebx + 0xc8], al
jmp 0x84a8bf
mov byte [ebx + 0xc8], 0xff
mov eax, dword [esi + 0x26c]
call fcn.0083c888
mov eax, dword [eax + 0xa0]
mov eax, dword [eax + 0x24]
cmp word [eax + 4], 0xc
jbe 0x84a91d
mov eax, dword [esi + 0x26c]
call fcn.0083c888
mov eax, dword [eax + 0xa0]
mov eax, dword [eax + 0x24]
movzx eax, word [eax + 4]
mov dword [ebp - 0x10], eax
fild dword [ebp - 0x10]
fdiv dword [0x84ab60]
movzx eax, byte [ebx + 0xc8]
mov edx, 0xff
sub edx, eax
mov dword [ebp - 0x10], edx
fild dword [ebp - 0x10]
fdivrp st(1)
fstp qword [ebx + 0xd8]
wait
jmp 0x84a938
movzx eax, byte [ebx + 0xc8]
mov edx, 0xff
sub edx, eax
mov dword [ebp - 0x10], edx
fild dword [ebp - 0x10]
fstp qword [ebx + 0xd8]
wait
mov edx, 0xc
mov eax, ebx
call fcn.007cebfc
cmp dword [esi + 0x2cc], 0
je 0x84aa67
mov edi, dword [esi + 0x2cc]
mov eax, dword [edi + 0x20]
mov eax, dword [eax + 0x2b8]
call fcn.0055010c
xor ecx, ecx
mov edx, 0x52
call fcn.00831de0
mov cl, 0xff
xor edx, edx
mov eax, edi
call fcn.0086a534
mov eax, dword [edi + 0x20]
mov ebx, dword [eax + 0x2b8]
cmp byte [ebx + 0x388], 0
je 0x84a9a8
push 2
push 0
push 0x1fffffff
mov eax, ebx
call fcn.0055010c
push eax
mov eax, dword [0x90dae0]
mov eax, dword [eax]
call eax
mov byte [edi + 0x26], 1
push 0x61b
push 0
push 0
push 0
push 0
mov eax, dword [edi + 0x2c]
call fcn.0055010c
push eax
mov eax, dword [edi + 0x20]
mov eax, dword [eax + 0x2b8]
call fcn.0055010c
push eax
call sub.user32.dll_SetWindowPos
push 0
mov eax, dword [edi + 0x20]
mov eax, dword [eax + 0x2b8]
call fcn.0055010c
xor ecx, ecx
xor edx, edx
call fcn.00832c50
mov eax, dword [edi + 0x20]
mov eax, dword [eax + 0x268]
mov dl, 1
call fcn.007cebe8
push 0
mov eax, dword [edi + 0x2c]
mov ecx, 0xf012
mov edx, 0x112
call fcn.005481e0
mov byte [edi + 0x17], 0
cmp dword [edi + 4], 0xffffffff
je 0x84ab48
cmp dword [edi + 8], 0xffffffff
je 0x84ab48
cmp dword [edi + 8], 0
jge 0x84ab48
mov eax, dword [0x90d764]
cmp dword [eax], 6
jl 0x84ab48
mov eax, dword [edi + 0x2c]
mov eax, dword [eax + 0x58]
push eax
mov eax, dword [edi + 0x2c]
mov eax, dword [eax + 0x5c]
push eax
mov ecx, dword [edi + 8]
mov edx, dword [edi + 4]
mov eax, dword [edi + 0x2c]
mov ebx, dword [eax]
call dword [ebx + 0xc0]
jmp 0x84ab48
mov ebx, dword [esi + 0x2b8]
cmp byte [ebx + 0x388], 0
jne 0x84ab1e
mov eax, ebx
call fcn.0055010c
xor edx, edx
call fcn.00849660
mov dword [ebp - 8], eax
mov eax, dword [esi + 0x2b8]
call fcn.0055010c
push 0xffffffffffffffec
push eax
call sub.user32.dll_GetWindowLongW
test eax, 0x80000
jne 0x84aad3
mov eax, dword [esi + 0x2b8]
call fcn.0055010c
mov ebx, eax
mov eax, dword [esi + 0x2b8]
call fcn.0055010c
push 0xffffffffffffffec
push eax
call sub.user32.dll_GetWindowLongW
or eax, 0x80000
push eax
push 0xffffffffffffffec
push ebx
call sub.user32.dll_SetWindowLongW
push 2
push 0xff
push 0x1fffffff
mov eax, dword [esi + 0x2b8]
call fcn.0055010c
push eax
mov eax, dword [0x90dae0]
mov eax, dword [eax]
call eax
push 0x585
push 0
push 0
mov eax, dword [esi + 0x2b8]
call fcn.0055010c
push eax
call sub.user32.dll_RedrawWindow
push 0
mov eax, dword [ebp - 8]
call fcn.0055010c
push eax
call sub.user32.dll_ShowWindow
mov eax, dword [esi + 0x268]
mov dl, 1
call fcn.007cebe8
cmp byte [ebp - 1], 0
je 0x84ab48
push 0
mov eax, dword [esi + 0x2b8]
mov ecx, 0xf012
mov edx, 0x112
call fcn.005481e0
cmp byte [ebp - 1], 0
je 0x84ab58
mov edx, dword [ebp - 8]
mov eax, esi
call fcn.0084a260
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret