Function at 0x47e0e8
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff0
push ebx
push esi
push edi
mov esi, eax
xor ebx, ebx
mov byte [ebp - 1], 0
test dl, dl
je 0x47e10b
push dword [ebp + 0xc]
push dword [ebp + 8]
lea eax, [esi + 0xc]
call fcn.00424330
mov eax, dword [0x48d488]
cmp byte [eax], 0
jbe 0x47e18a
cmp byte [0x49c9cc], 0
jne 0x47e18a
mov byte [0x49c9cc], 1
mov ax, word [esi + 0x532]
cmp ax, word [esi + 0x534]
jle 0x47e15d
fild qword [ebp + 8]
fild qword [0x49c9bc]
faddp st(1)
add esp, 0xfffffff8
fistp qword [esp]
wait
movsx eax, ax
mov edx, dword [0x48d524]
mov eax, dword [edx + eax*4 - 4]
xor edx, edx
call fcn.0047e0e8
jmp 0x47e183
fild qword [ebp + 8]
fild qword [0x49c9bc]
fsubp st(1)
add esp, 0xfffffff8
fistp qword [esp]
wait
movsx eax, ax
mov edx, dword [0x48d524]
mov eax, dword [edx + eax*4 - 4]
xor edx, edx
call fcn.0047e0e8
mov byte [0x49c9cc], 0
mov eax, dword [0x48d5f0]
cmp byte [eax], 0
jne 0x47e1dd
cmp byte [0x49c0b8], 0
jne 0x47e1dd
mov eax, dword [esi]
push eax
call sub.user32.dll_IsIconic
test eax, eax
je 0x47e1dd
fild qword [esi + 0x484]
fcomp dword [0x47e63c]
fnstsw ax
sahf
jne 0x47e1dd
mov eax, dword [0x48d5a8]
cmp byte [eax], 0
jne 0x47e1dd
mov eax, dword [0x48d5c8]
mov byte [eax], 0x13
push 3
mov eax, dword [esi]
push eax
call sub.user32.dll_ShowWindow
mov byte [esi + 0x564], 0
fild qword [ebp + 8]
fadd dword [0x47e640]
fild qword [esi + 0x18]
fcompp
fnstsw ax
sahf
jb 0x47e1fe
fild qword [ebp + 8]
fcomp dword [0x47e644]
fnstsw ax
sahf
jae 0x47e210
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, esi
call fcn.00477210
jmp 0x47e630
mov eax, dword [0x48d550]
cmp byte [eax + 0x18e2], 0
je 0x47e3ab
fild qword [ebp + 8]
fild qword [esi + 0x188]
fcompp
fnstsw ax
sahf
ja 0x47e255
movzx eax, word [esi + 0x50e]
mov dword [ebp - 8], eax
fild dword [ebp - 8]
fild qword [esi + 0x188]
faddp st(1)
fild qword [ebp + 8]
fcompp
fnstsw ax
sahf
jb 0x47e47b
mov bl, 1
mov eax, esi
call fcn.00464bb4
test al, al
je 0x47e630
movzx eax, word [esi + 0x50e]
mov dword [ebp - 8], eax
fild dword [ebp - 8]
fild qword [esi + 0x188]
faddp st(1)
fild qword [ebp + 8]
fcompp
fnstsw ax
sahf
jb 0x47e2d6
movzx eax, word [esi + 0x50e]
mov dword [ebp - 0xc], eax
fild dword [ebp - 0xc]
fild qword [esi + 0x188]
faddp st(1)
mov eax, dword [0x48db48]
movzx eax, word [eax]
mov dword [ebp - 0x10], eax
fild dword [ebp - 0x10]
faddp st(1)
fild qword [ebp + 8]
fcompp
fnstsw ax
sahf
jae 0x47e2d6
mov eax, dword [0x48db48]
movzx eax, word [eax]
mov dword [ebp - 8], eax
fild dword [ebp - 8]
fild qword [esi + 0x188]
faddp st(1)
fistp qword [esi + 0x188]
wait
jmp 0x47e47b
mov eax, dword [0x48db48]
movzx eax, word [eax]
mov dword [ebp - 8], eax
fild dword [ebp - 8]
fild qword [esi + 0x188]
fsubrp st(1)
fild qword [ebp + 8]
fcompp
fnstsw ax
sahf
jb 0x47e328
fild qword [ebp + 8]
fild qword [esi + 0x188]
fcompp
fnstsw ax
sahf
jbe 0x47e328
mov eax, dword [0x48db48]
movzx eax, word [eax]
mov dword [ebp - 8], eax
fild dword [ebp - 8]
fild qword [esi + 0x188]
fsubrp st(1)
fistp qword [esi + 0x188]
wait
jmp 0x47e47b
push dword [ebp + 0xc]
push dword [ebp + 8]
movzx eax, word [esi + 0x50e]
mov dword [ebp - 8], eax
fild dword [ebp - 8]
add esp, 0xfffffff8
fistp qword [esp]
wait
call fcn.0040fe38
mov dword [ebp - 8], eax
fild dword [ebp - 8]
fild qword [ebp + 8]
fsubrp st(1)
fistp qword [esi + 0x188]
wait
push dword [esi + 0x18c]
push dword [esi + 0x188]
push 0
push 0x10
call fcn.0040fe38
mov dword [ebp - 8], eax
fild dword [ebp - 8]
fild qword [esi + 0x188]
fsubrp st(1)
fistp qword [esi + 0x188]
wait
fild qword [esi + 0x188]
fcomp dword [0x47e644]
fnstsw ax
sahf
jae 0x47e47b
xor eax, eax
mov dword [esi + 0x188], eax
mov dword [esi + 0x18c], eax
jmp 0x47e47b
movzx eax, word [esi + 0x50e]
mov dword [ebp - 8], eax
fild dword [ebp - 8]
fild qword [esi + 0x188]
fdivrp st(1)
add esp, 0xfffffff4
fstp xword [esp]
wait
call fcn.0040fd80
mov ebx, eax
movzx eax, word [esi + 0x50e]
mov dword [ebp - 8], eax
fild dword [ebp - 8]
fild qword [ebp + 8]
fdivrp st(1)
add esp, 0xfffffff4
fstp xword [esp]
wait
call fcn.0040fd80
cmp ebx, eax
setne bl
test bl, bl
je 0x47e404
mov eax, esi
call fcn.00464bb4
test al, al
je 0x47e630
push dword [ebp + 0xc]
push dword [ebp + 8]
movzx eax, word [esi + 0x50e]
mov dword [ebp - 8], eax
fild dword [ebp - 8]
add esp, 0xfffffff8
fistp qword [esp]
wait
call fcn.0040fe38
mov dword [ebp - 8], eax
fild dword [ebp - 8]
fild qword [ebp + 8]
fsubrp st(1)
fistp qword [esi + 0x188]
wait
push dword [esi + 0x18c]
push dword [esi + 0x188]
push 0
push 0x10
call fcn.0040fe38
mov dword [ebp - 8], eax
fild dword [ebp - 8]
fild qword [esi + 0x188]
fsubrp st(1)
fistp qword [esi + 0x188]
wait
push 0
push 0
push dword [esi + 0x18c]
push dword [esi + 0x188]
call fcn.0040bbcc
fistp qword [esi + 0x188]
wait
movzx eax, word [esi + 0x50e]
mov dword [ebp - 8], eax
fild dword [ebp - 8]
fild qword [ebp + 8]
fdivrp st(1)
add esp, 0xfffffff4
fstp xword [esp]
wait
call fcn.0040fd80
inc eax
mov dword [esi + 0x16c], eax
cmp byte [esi + 0x55d], 0
je 0x47e510
movsx eax, byte [esi + 0x55d]
mov edx, dword [0x48d9a0]
movzx eax, word [edx + eax*2 + 0x4c]
mov dword [ebp - 8], eax
fild dword [ebp - 8]
fild qword [ebp + 8]
fdivrp st(1)
add esp, 0xfffffff4
fstp xword [esp]
wait
call fcn.0040fd80
mov dword [esi + 0x170], eax
test bl, bl
jne 0x47e510
cmp byte [esi + 0x55d], 0
jge 0x47e4f3
mov dx, word [esi + 0x534]
mov al, 1
call fcn.00442498
cmp byte [esi + 0x55d], 0
jle 0x47e510
push dword [ebp + 0xc]
push dword [ebp + 8]
mov dx, word [esi + 0x534]
mov al, 1
call fcn.004429a8
mov eax, dword [0x48db48]
movzx eax, word [eax]
xor edx, edx
push edx
push eax
fild qword [ebp + 8]
fild qword [esi + 0x188]
fsubp st(1)
call fcn.004028a0
call fcn.00404b50
inc eax
mov edx, dword [0x48d610]
mov word [edx], ax
mov eax, dword [0x48db48]
movzx eax, word [eax]
xor edx, edx
push edx
push eax
fild qword [ebp + 8]
fild qword [esi + 0x188]
fsubp st(1)
call fcn.004028a0
call fcn.00404bcc
inc eax
mov edx, dword [0x48dbd8]
mov word [edx], ax
cmp dword [esi + 0x1a8], 0
je 0x47e590
call sub.user32.dll_GetFocus
cmp eax, dword [esi + 0x1a8]
jne 0x47e590
mov eax, dword [0x48d550]
mov byte [eax + 0xa45], 0
mov eax, dword [esi]
push eax
call sub.user32.dll_SetFocus
mov eax, dword [0x48dbc4]
cmp byte [eax], 0
je 0x47e5a3
mov eax, esi
call fcn.0047b9f0
jmp 0x47e5aa
mov eax, esi
call fcn.0047bbb4
mov eax, dword [0x48d610]
mov ax, word [eax]
mov word [esi + 0x53c], ax
mov edi, dword [0x48dbd8]
mov di, word [edi]
mov word [esi + 0x53a], di
movzx edx, di
movzx eax, word [esi + 0x53c]
call fcn.0040cbbc
mov word [esi + 0x53e], ax
test bl, bl
je 0x47e606
cmp byte [esi + 0x555], 0
je 0x47e5f5
mov byte [esi + 0x555], 0
jmp 0x47e5fd
mov eax, dword [0x48d5c8]
or byte [eax], 1
mov eax, esi
call fcn.0047d4c8
jmp 0x47e62c
cmp byte [esi + 0x555], 0
je 0x47e61e
mov byte [esi + 0x555], 0
mov eax, dword [0x48d5c8]
or byte [eax], 3
mov eax, esi
call fcn.00463288
mov eax, esi
call fcn.0047bd88
mov byte [ebp - 1], 1
mov al, byte [ebp - 1]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8