Function at 0x46fc28
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 0x46fc4b
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, dword [esi + 0xc]
call fcn.00419220
mov eax, dword [0x4be530]
cmp byte [eax], 0
jbe 0x46fcca
cmp byte [0x4c1398], 0
jne 0x46fcca
mov byte [0x4c1398], 1
mov ax, word [esi + 0x422]
cmp ax, word [esi + 0x424]
jle 0x46fc9d
fild qword [ebp + 8]
fild qword [0x4c1ebc]
faddp st(1)
add esp, 0xfffffff8
fistp qword [esp]
wait
movsx eax, ax
mov edx, dword [0x4be754]
mov eax, dword [edx + eax*4 - 4]
xor edx, edx
call fcn.0046fc28
jmp 0x46fcc3
fild qword [ebp + 8]
fild qword [0x4c1ebc]
fsubp st(1)
add esp, 0xfffffff8
fistp qword [esp]
wait
movsx eax, ax
mov edx, dword [0x4be754]
mov eax, dword [edx + eax*4 - 4]
xor edx, edx
call fcn.0046fc28
mov byte [0x4c1398], 0
mov eax, dword [0x4be848]
cmp byte [eax], 0
jne 0x46fd1d
cmp byte [0x4c15bc], 0
jne 0x46fd1d
mov eax, dword [esi]
push eax
call sub.user32.dll_IsIconic
test eax, eax
je 0x46fd1d
fild qword [esi + 0x13c]
fcomp dword [0x47011c]
fnstsw ax
sahf
jne 0x46fd1d
mov eax, dword [0x4be7e4]
cmp byte [eax], 0
jne 0x46fd1d
mov eax, dword [0x4be810]
mov byte [eax], 0x13
push 3
mov eax, dword [esi]
push eax
call sub.user32.dll_ShowWindow
mov byte [esi + 0x449], 0
fild qword [ebp + 8]
fadd dword [0x470120]
mov eax, dword [esi + 0xc]
fild qword [eax + 0x10]
fcompp
fnstsw ax
sahf
jb 0x46fd41
fild qword [ebp + 8]
fcomp dword [0x470124]
fnstsw ax
sahf
jae 0x46fd53
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, esi
call fcn.00468354
jmp 0x470110
mov eax, dword [0x4be784]
cmp byte [eax + 0x18e2], 0
je 0x46feb8
fild qword [ebp + 8]
fild qword [esi + 0x3c]
fcompp
fnstsw ax
sahf
ja 0x46fd92
movzx eax, word [esi + 0x3fe]
mov dword [ebp - 8], eax
fild dword [ebp - 8]
fild qword [esi + 0x3c]
faddp st(1)
fild qword [ebp + 8]
fcompp
fnstsw ax
sahf
jb 0x46ff6d
mov bl, 1
mov eax, esi
call fcn.0044f5d0
test al, al
je 0x470110
movzx eax, word [esi + 0x3fe]
mov dword [ebp - 8], eax
fild dword [ebp - 8]
fild qword [esi + 0x3c]
faddp st(1)
fild qword [ebp + 8]
fcompp
fnstsw ax
sahf
jb 0x46fe07
movzx eax, word [esi + 0x3fe]
mov dword [ebp - 0xc], eax
fild dword [ebp - 0xc]
fild qword [esi + 0x3c]
faddp st(1)
mov eax, dword [0x4beee0]
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 0x46fe07
mov eax, dword [0x4beee0]
movzx eax, word [eax]
mov dword [ebp - 8], eax
fild dword [ebp - 8]
fild qword [esi + 0x3c]
faddp st(1)
fistp qword [esi + 0x3c]
wait
jmp 0x46ff6d
mov eax, dword [0x4beee0]
movzx eax, word [eax]
mov dword [ebp - 8], eax
fild dword [ebp - 8]
fild qword [esi + 0x3c]
fsubrp st(1)
fild qword [ebp + 8]
fcompp
fnstsw ax
sahf
jb 0x46fe4d
fild qword [ebp + 8]
fild qword [esi + 0x3c]
fcompp
fnstsw ax
sahf
jbe 0x46fe4d
mov eax, dword [0x4beee0]
movzx eax, word [eax]
mov dword [ebp - 8], eax
fild dword [ebp - 8]
fild qword [esi + 0x3c]
fsubrp st(1)
fistp qword [esi + 0x3c]
wait
jmp 0x46ff6d
push dword [ebp + 0xc]
push dword [ebp + 8]
movzx eax, word [esi + 0x3fe]
mov dword [ebp - 8], eax
fild dword [ebp - 8]
add esp, 0xfffffff8
fistp qword [esp]
wait
call fcn.004af060
mov dword [ebp - 8], eax
fild dword [ebp - 8]
fild qword [ebp + 8]
fsubrp st(1)
fistp qword [esi + 0x3c]
wait
push dword [esi + 0x40]
push dword [esi + 0x3c]
push 0
push 0x10
call fcn.004af060
mov dword [ebp - 8], eax
fild dword [ebp - 8]
fild qword [esi + 0x3c]
fsubrp st(1)
fistp qword [esi + 0x3c]
wait
fild qword [esi + 0x3c]
fcomp dword [0x470124]
fnstsw ax
sahf
jae 0x46ff6d
xor eax, eax
mov dword [esi + 0x3c], eax
mov dword [esi + 0x40], eax
jmp 0x46ff6d
movzx eax, word [esi + 0x3fe]
mov dword [ebp - 8], eax
fild dword [ebp - 8]
fild qword [esi + 0x3c]
fdivrp st(1)
add esp, 0xfffffff4
fstp xword [esp]
wait
call fcn.004aefd0
mov ebx, eax
movzx eax, word [esi + 0x3fe]
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.004aefd0
cmp ebx, eax
setne bl
test bl, bl
je 0x46ff0e
mov eax, esi
call fcn.0044f5d0
test al, al
je 0x470110
push dword [ebp + 0xc]
push dword [ebp + 8]
movzx eax, word [esi + 0x3fe]
mov dword [ebp - 8], eax
fild dword [ebp - 8]
add esp, 0xfffffff8
fistp qword [esp]
wait
call fcn.004af060
mov dword [ebp - 8], eax
fild dword [ebp - 8]
fild qword [ebp + 8]
fsubrp st(1)
fistp qword [esi + 0x3c]
wait
push dword [esi + 0x40]
push dword [esi + 0x3c]
push 0
push 0x10
call fcn.004af060
mov dword [ebp - 8], eax
fild dword [ebp - 8]
fild qword [esi + 0x3c]
fsubrp st(1)
fistp qword [esi + 0x3c]
wait
push 0
push 0
push dword [esi + 0x40]
push dword [esi + 0x3c]
call fcn.004aa5c8
fistp qword [esi + 0x3c]
wait
movzx eax, word [esi + 0x3fe]
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.004aefd0
inc eax
mov dword [esi + 0x20], eax
cmp byte [esi + 0x442], 0
je 0x46fffc
movsx eax, byte [esi + 0x442]
mov edx, dword [0x4becf0]
movzx eax, word [edx + eax*2 + 0x54]
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.004aefd0
mov dword [esi + 0x24], eax
test bl, bl
jne 0x46fffc
cmp byte [esi + 0x442], 0
jge 0x46ffdf
mov dx, word [esi + 0x424]
mov al, 1
call fcn.004255b8
cmp byte [esi + 0x442], 0
jle 0x46fffc
push dword [ebp + 0xc]
push dword [ebp + 8]
mov dx, word [esi + 0x424]
mov al, 1
call fcn.00425aac
mov eax, dword [0x4beee0]
movzx eax, word [eax]
xor edx, edx
push edx
push eax
fild qword [ebp + 8]
fild qword [esi + 0x3c]
fsubp st(1)
call fcn.004028e8
call fcn.004054b0
inc eax
mov edx, dword [0x4be870]
mov word [edx], ax
mov eax, dword [0x4beee0]
movzx eax, word [eax]
xor edx, edx
push edx
push eax
fild qword [ebp + 8]
fild qword [esi + 0x3c]
fsubp st(1)
call fcn.004028e8
call fcn.0040552c
inc eax
mov edx, dword [0x4befa4]
mov word [edx], ax
cmp dword [esi + 0x4c], 0
je 0x470070
call sub.user32.dll_GetFocus
cmp eax, dword [esi + 0x4c]
jne 0x470070
mov eax, dword [0x4be784]
mov byte [eax + 0xa45], 0
mov eax, dword [esi]
push eax
call sub.user32.dll_SetFocus
mov eax, dword [0x4bef94]
cmp byte [eax], 0
je 0x470083
mov eax, esi
call fcn.0046d308
jmp 0x47008a
mov eax, esi
call fcn.0046d4c8
mov eax, dword [0x4be870]
mov ax, word [eax]
mov word [esi + 0x42c], ax
mov edi, dword [0x4befa4]
mov di, word [edi]
mov word [esi + 0x42a], di
movzx edx, di
movzx eax, word [esi + 0x42c]
call fcn.004ab638
mov word [esi + 0x42e], ax
test bl, bl
je 0x4700e6
cmp byte [esi + 0x436], 0
je 0x4700d5
mov byte [esi + 0x436], 0
jmp 0x4700dd
mov eax, dword [0x4be810]
or byte [eax], 1
mov eax, esi
call fcn.0046ee24
jmp 0x47010c
cmp byte [esi + 0x436], 0
je 0x4700fe
mov byte [esi + 0x436], 0
mov eax, dword [0x4be810]
or byte [eax], 3
mov eax, esi
call fcn.0044da64
mov eax, esi
call fcn.0046d694
mov byte [ebp - 1], 1
mov al, byte [ebp - 1]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8