Function at 0x460f70
Capabilities:
Create thread
Resume thread

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x24
push ebx
mov edx, dword [ebp + 8]
push esi
mov esi, ecx
push edi
mov ecx, dword [esi + 0x5c]
mov eax, dword [esi + 0x58]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x30]
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x58], edx
mov dword [esi + 0x700], 1
test ecx, ecx
mov dword [esi + 0x5c], eax
je 0x4611af
push 0xffffffffffffffff
call fcn.0045ad90
test eax, eax
je 0x4611af
mov ecx, dword [esi + 0x30]
push 0xffffffffffffffff
call fcn.0045ac50
mov ecx, dword [esi + 0x30]
push 0xffffffffffffffff
mov edi, eax
call fcn.0045ad90
cmp edi, eax
jl 0x460ff4
mov ecx, dword [esi + 0x30]
push 0xffffffffffffffff
call fcn.0045acc0
mov ecx, dword [esi + 0x30]
push 0xffffffffffffffff
mov edi, eax
call fcn.0045adf0
cmp edi, eax
jge 0x461137
mov edi, dword [esi + 0x30]
test edi, edi
je 0x461080
push 0xffffffffffffffff
mov ecx, edi
call fcn.0045ad90
test eax, eax
je 0x461080
push 0xffffffffffffffff
mov ecx, edi
call fcn.0045adf0
push 0xffffffffffffffff
mov ecx, edi
mov ebx, eax
call fcn.0045ad90
cmp eax, ebx
push 0xffffffffffffffff
mov ecx, edi
jle 0x461054
call fcn.0045ac50
mov dword [esp + 0xc], eax
push 0xffffffffffffffff
fild dword [esp + 0x10]
mov ecx, edi
fstp qword [esp + 0x14]
call fcn.0045ad90
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
fdivr qword [esp + 0x10]
fstp qword [esp + 0x10]
jmp 0x461090
call fcn.0045acc0
mov dword [esp + 0xc], eax
push 0xffffffffffffffff
fild dword [esp + 0x10]
mov ecx, edi
fstp qword [esp + 0x14]
call fcn.0045adf0
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
fdivr qword [esp + 0x10]
fstp qword [esp + 0x10]
jmp 0x461090
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0x3ff00000
fld qword [ebp + 8]
fsub qword [esp + 0x10]
fcomp qword [0x4cc858]
fnstsw ax
test ah, 0x41
jne 0x46112d
mov ecx, dword [esi + 0x30]
push 8
push ecx
mov ecx, esi
call fcn.0045fcf0
push 0
push 1
mov ecx, esi
call fcn.00460010
mov eax, dword [esi + 0x710]
test eax, eax
jne 0x46112d
mov edx, dword [esi + 0x70c]
mov dword [esi + 0x710], 1
push edx
mov dword [esi + 0x714], 0
call dword [sym.imp.KERNEL32.dll_ResetEvent]
mov eax, dword [esi + 0x708]
push eax
call dword [sym.imp.KERNEL32.dll_SetEvent]
lea ecx, [esp + 0xc]
push ecx
push 4
push esi
push 0x460d40
push 0
push 0
call fcn.004bf407
add esp, 0x18
mov dword [esi + 0x704], eax
push 0
push eax
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
mov edx, dword [esi + 0x704]
push edx
call dword [sym.imp.KERNEL32.dll_ResumeThread]
fld qword [ebp + 8]
fdiv qword [esp + 0x10]
fstp qword [ebp + 8]
mov ecx, dword [esi + 0x50]
lea eax, [esp + 0x20]
push eax
push ecx
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [esp + 0x28]
cdq
sub eax, edx
mov edx, dword [esi + 0x10]
mov edi, eax
sar edi, 1
add edx, edi
mov dword [esp + 0xc], edx
fild dword [esp + 0xc]
fmul qword [ebp + 8]
fdiv qword [esp + 0x18]
call fcn.004bedcc
sub eax, edi
mov ecx, dword [esi + 0x14]
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x2c]
cdq
sub eax, edx
mov edi, eax
sar edi, 1
mov eax, edi
add eax, ecx
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
fmul qword [ebp + 8]
fdiv qword [esp + 0x18]
call fcn.004bedcc
sub eax, edi
mov ecx, esi
mov dword [esi + 0x14], eax
call fcn.00460a80
mov ecx, dword [esi + 0x50]
push 1
push 0
push ecx
call dword [sym.imp.USER32.dll_InvalidateRect]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8