Function at 0x5f64d3
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x60
push esi
mov esi, ecx
mov eax, dword [esi + 0xc]
test eax, eax
mov dword [esp + 4], esi
jne 0x5f64f1
call fcn.005f62b0
test al, al
jne 0x5f64f1
pop esi
add esp, 0x60
ret 0x18
mov eax, dword [esi + 8]
movzx esi, word [eax + 0x24]
movzx ecx, word [eax + 0x28]
push ebx
push ebp
push edi
movzx edi, word [eax + 0x26]
movzx eax, word [eax + 0x2a]
add eax, edi
add ecx, esi
mov ebx, eax
mov eax, dword [esp + 0x7c]
test eax, eax
mov ebp, ecx
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], edi
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], ebx
je 0x5f6545
push eax
lea ecx, [esp + 0x18]
call fcn.00426cc0
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x88]
mov dword [esp + 0x64], ecx
mov ecx, dword [esp + 0x80]
test ecx, ecx
mov dword [esp + 0x68], edx
je 0x5f66fe
test eax, eax
je 0x5f65b6
mov edx, dword [eax]
cmp esi, edx
jle 0x5f65a0
sub esi, edx
mov dword [esp + 0x84], esi
fild dword [esp + 0x84]
fmul dword [ecx]
call fcn.0065ea1c
mov ecx, dword [esp + 0x74]
add ecx, eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x74], ecx
mov ecx, dword [esp + 0x80]
mov eax, dword [eax + 4]
cmp edi, eax
jle 0x5f65e9
sub edi, eax
mov dword [esp + 0x7c], edi
fild dword [esp + 0x7c]
fmul dword [ecx + 4]
jmp 0x5f65d9
fild dword [esp + 0x24]
fmul dword [ecx]
call fcn.0065ea1c
fild dword [esp + 0x28]
mov edx, dword [esp + 0x74]
add edx, eax
mov eax, dword [esp + 0x80]
fmul dword [eax + 4]
mov dword [esp + 0x74], edx
call fcn.0065ea1c
add dword [esp + 0x78], eax
mov ecx, dword [esp + 0x80]
fild dword [esp + 0x74]
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov eax, dword [0x77ff08]
fst dword [esp + 0x44]
sub ebp, edi
fild dword [esp + 0x78]
mov dword [esp + 0x74], ebp
sub ebx, esi
lea edx, [esp + 0x34]
fst dword [esp + 0x48]
fild dword [esp + 0x74]
mov dword [esp + 0x74], ebx
fmul dword [ecx]
fadd st(2)
fstp dword [esp + 0x4c]
fild dword [esp + 0x74]
fmul dword [ecx + 4]
lea ecx, [esp + 0x24]
push ecx
push edx
fadd st(1)
lea ecx, [esp + 0x4c]
fstp dword [esp + 0x58]
fstp st(0)
fstp st(0)
fild dword [eax + 0x30]
fstp dword [esp + 0x2c]
fild dword [eax + 0x34]
fstp dword [esp + 0x30]
fild dword [eax + 0x38]
fstp dword [esp + 0x34]
fild dword [eax + 0x3c]
fstp dword [esp + 0x38]
call fcn.005f3360
mov ecx, eax
fld dword [ecx]
fcomp dword [ecx + 8]
fnstsw ax
test ah, 1
je 0x5f6679
fld dword [ecx + 4]
fcomp dword [ecx + 0xc]
fnstsw ax
test ah, 1
jne 0x5f6685
pop edi
pop ebp
pop ebx
mov al, 1
pop esi
add esp, 0x60
ret 0x18
fild dword [esp + 0x14]
mov eax, dword [esp + 0x80]
cmp dword [eax], 0x3f800000
fstp dword [esp + 0x54]
fild dword [esp + 0x18]
fstp dword [esp + 0x58]
fild dword [esp + 0x1c]
fstp dword [esp + 0x5c]
fild dword [esp + 0x20]
fstp dword [esp + 0x60]
je 0x5f66d0
fld dword [esp + 0x54]
fadd dword [0x700490]
fstp dword [esp + 0x54]
fld dword [esp + 0x5c]
fsub dword [0x700490]
fstp dword [esp + 0x5c]
cmp dword [eax + 4], 0x3f800000
je 0x5f67ee
fld dword [esp + 0x58]
fadd dword [0x700490]
fstp dword [esp + 0x58]
fld dword [esp + 0x60]
fsub dword [0x700490]
fstp dword [esp + 0x60]
jmp 0x5f67ee
test eax, eax
je 0x5f6719
mov ecx, dword [eax]
cmp esi, ecx
jle 0x5f670e
sub esi, ecx
add dword [esp + 0x74], esi
mov eax, dword [eax + 4]
cmp edi, eax
jle 0x5f6721
sub edi, eax
jmp 0x5f671d
add dword [esp + 0x74], esi
add dword [esp + 0x78], edi
fild dword [esp + 0x74]
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x74]
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x78]
fst dword [esp + 0x80]
fstp dword [esp + 0x44]
sub ebp, eax
fild dword [esp + 0x78]
mov eax, dword [0x77ff08]
add ebp, edi
mov dword [esp + 0x74], ebp
fst dword [esp + 0x7c]
sub ebx, esi
fstp dword [esp + 0x48]
add ebx, edx
fild dword [esp + 0x74]
mov dword [esp + 0x74], ebx
add eax, 0x30
push eax
fstp dword [esp + 0x50]
lea ecx, [esp + 0x48]
fild dword [esp + 0x78]
fstp dword [esp + 0x54]
call fcn.005f5bc0
fld dword [esp + 0x44]
fcomp dword [esp + 0x4c]
fnstsw ax
test ah, 1
je 0x5f6679
fld dword [esp + 0x48]
fcomp dword [esp + 0x50]
fnstsw ax
test ah, 1
je 0x5f6679
fild dword [esp + 0x14]
fld dword [esp + 0x44]
fsub dword [esp + 0x80]
fadd st(1)
fstp dword [esp + 0x54]
fild dword [esp + 0x18]
fld dword [esp + 0x48]
fsub dword [esp + 0x7c]
fadd st(1)
fstp dword [esp + 0x58]
fld dword [esp + 0x4c]
fsub dword [esp + 0x80]
fadd st(2)
fstp dword [esp + 0x5c]
fld dword [esp + 0x50]
fsub dword [esp + 0x7c]
fadd st(1)
fstp dword [esp + 0x60]
fstp st(0)
fstp st(0)
mov esi, dword [esp + 0x10]
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x74], ecx
mov ecx, dword [eax + 0x1c]
mov ecx, dword [ecx + 4]
fild dword [ecx + 8]
mov edx, dword [eax + 0x10]
fild dword [ecx + 0xc]
mov dword [esp + 0x80], edx
fild dword [esp + 0x74]
push eax
fstp dword [esp + 0x78]
fld dword [0x700490]
fdiv st(2)
fstp dword [esp + 0x7c]
fld dword [esp + 0x78]
fadd dword [esp + 0x58]
fmul dword [esp + 0x7c]
fstp dword [esp + 0x58]
fild dword [esp + 0x84]
fstp dword [esp + 0x84]
fld dword [0x700490]
fdiv st(1)
fstp st(2)
fstp st(0)
fld dword [esp + 0x84]
fadd dword [esp + 0x5c]
fmul st(1)
fstp dword [esp + 0x5c]
fld dword [esp + 0x78]
fadd dword [esp + 0x60]
fmul dword [esp + 0x7c]
fstp dword [esp + 0x60]
fld dword [esp + 0x84]
fadd dword [esp + 0x64]
fmul st(1)
fstp dword [esp + 0x64]
mov edx, dword [eax + 0x1c]
mov ecx, dword [edx + 4]
mov edx, dword [ecx + 4]
fstp st(0)
mov eax, dword [0x781ea4]
mov dword [esp + 0x70], edx
mov ecx, dword [eax + 0x30]
call fcn.005f1a10
call sub.WINMM.dll_timeGetTime
lea ecx, [esp + 0x44]
mov dword [esi], eax
push ecx
mov ecx, dword [0x781e94]
call fcn.005ebdb0
pop edi
xor edx, edx
test eax, eax
pop ebp
setge dl
pop ebx
mov al, dl
pop esi
add esp, 0x60
ret 0x18