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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1ac
mov eax, dword [0x8bb040]
xor eax, esp
mov dword [esp + 0x1a8], eax
mov eax, dword [ebp + 8]
push ebx
mov ebx, ecx
push esi
push edi
test eax, eax
jne 0x4ba664
lea eax, [esp + 0xb0]
mov edx, 0x10
jmp 0x4ba190
mov dword [eax], 0
lea eax, [eax + 8]
mov dword [eax - 4], 0
sub edx, 1
jne 0x4ba190
fld dword [ebx + 0x98]
lea esi, [edx + 1]
fmul qword [0x892d20]
lea edi, [esp + 0xb8]
fdiv qword [0x892e40]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst qword [esp + 0x58]
fld qword [0x892c20]
lea eax, [esi - 1]
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fmulp st(2)
faddp st(1)
fst qword [esp + 0x30]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIsin
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fmul qword [0x892ba0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fstp dword [esp + 0x18]
fld qword [esp + 0x30]
fsub qword [0x892d20]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIcos
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
inc esi
fmul qword [0x892ba0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fstp dword [esp + 0x1c]
fld dword [esp + 0x18]
fstp dword [edi]
fld dword [esp + 0x1c]
fstp dword [edi + 4]
fld qword [esp + 0x58]
add edi, 8
fld qword [0x892c20]
cmp esi, 0x10
jl 0x4ba1d3
fstp st(1)
fstp st(0)
fld dword [ebx + 0xac]
fmul qword [0x892d20]
fdiv qword [0x892e40]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst qword [esp + 0x18]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIcos
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fstp qword [esp + 0x30]
fld qword [esp + 0x18]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIsin
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld dword [ebx + 0xa0]
fld qword [esp + 0x30]
fld st(0)
fld qword [0x892c68]
fmul st(1), st(0)
fld st(4)
fld qword [0x892c40]
fmul st(1), st(0)
fxch st(3)
fsubrp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fmul st(4)
fstp dword [esp + 0x20]
fmulp st(4)
fmulp st(1)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x10]
fmul dword [esp + 0x10]
fstp dword [esp + 0x28]
fld dword [ebx + 0xb0]
fmul qword [0x892d20]
fdiv qword [0x892e40]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst qword [esp + 0x18]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIcos
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fstp qword [esp + 0x30]
fld qword [esp + 0x18]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIsin
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld dword [ebx + 0xa4]
fld qword [esp + 0x30]
fld qword [0x8930e0]
fmul st(1)
fld st(3)
fld qword [0x8930f8]
fmul st(1), st(0)
fxch st(2)
fsubrp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fmul st(3)
fstp dword [esp + 0x30]
fmulp st(1)
fxch st(2)
fmul qword [0x892ba8]
fsubp st(2)
fxch st(1)
fstp dword [esp + 0x10]
fmul dword [esp + 0x10]
fstp dword [esp + 0x38]
fld dword [ebx + 0xb4]
fmul qword [0x892d20]
fdiv qword [0x892e40]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst qword [esp + 0x18]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIcos
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fstp qword [esp + 0x40]
fld qword [esp + 0x18]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIsin
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
mov edi, 0x8d7130
fld dword [ebx + 0xa8]
lea ebx, [esp + 0xb0]
fld qword [esp + 0x40]
fld qword [0x893108]
fmul st(1)
fld st(3)
fld qword [0x892cf0]
fmul st(1), st(0)
fxch st(2)
fsubrp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fmul st(3)
fstp dword [esp + 0x18]
fmulp st(1)
fxch st(2)
fmul qword [0x892c90]
fsubp st(2)
fxch st(1)
fstp dword [esp + 0x10]
fmul dword [esp + 0x10]
fstp dword [esp + 0x10]
fld dword [esp + 0x28]
fst qword [esp + 0x48]
fld dword [esp + 0x20]
fst qword [esp + 0x50]
fld dword [esp + 0x38]
fstp qword [esp + 0x40]
fld dword [esp + 0x30]
fstp qword [esp + 0x30]
fld dword [esp + 0x10]
fstp qword [esp + 0x60]
fld dword [esp + 0x18]
fstp qword [esp + 0x38]
fldz
fld qword [0x892c58]
jmp 0x4ba450
fxch st(1)
fxch st(3)
fxch st(1)
fxch st(2)
fld dword [ebx + 4]
xor esi, esi
fld dword [ebx]
fld st(0)
mov dword [esp + 0x10], esi
fmulp st(5)
fld st(1)
fmulp st(6)
fxch st(4)
faddp st(5)
fxch st(4)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst qword [esp + 0x68]
fld qword [esp + 0x40]
fmul st(5)
fld st(4)
fmul qword [esp + 0x30]
faddp st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst qword [esp + 0x70]
fld qword [esp + 0x38]
fmulp st(5)
fld qword [esp + 0x60]
fmulp st(6)
fxch st(4)
faddp st(5)
fxch st(4)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst qword [esp + 0x78]
jmp 0x4ba4bb
fxch st(2)
fxch st(4)
fxch st(1)
fxch st(3)
fxch st(1)
fxch st(2)
fild dword [esp + 0x10]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fdiv qword [0x892d58]
fadd qword [0x892b50]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fadd st(5), st(0)
fxch st(5)
fstp dword [esp + 0x10]
fxch st(3)
fadd st(4)
fstp dword [esp + 0x20]
fxch st(2)
faddp st(3)
fxch st(2)
fstp dword [esp + 0x28]
fld dword [esp + 0x10]
fxch st(2)
fcompi st(2)
fstp st(1)
jbe 0x4ba509
mov dword [esp + 0x10], 0
xorps xmm0, xmm0
comiss xmm0, dword [esp + 0x20]
jbe 0x4ba51b
mov dword [esp + 0x20], 0
comiss xmm0, dword [esp + 0x28]
jbe __p__commode
mov dword [esp + 0x28], 0
fld dword [esp + 0x20]
fxch st(1)
call sub.api_ms_win_crt_math_l1_1_0.dll__CIpow
fstp dword [esp + 0x20]
fld dword [esp + 0x28]
fld qword [0x892c58]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIpow
fstp dword [esp + 0x28]
fld dword [esp + 0x10]
fld qword [0x892c58]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIpow
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
xorps xmm0, xmm0
fld qword [0x892e60]
fmul st(1), st(0)
fxch st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fldz
fcomi st(1)
jbe 0x4ba585
fstp st(1)
movaps xmm1, xmm0
jmp 0x4ba59e
fxch st(1)
fcompi st(2)
jbe 0x4ba598
movss xmm2, dword [0x893018]
movaps xmm1, xmm2
jmp 0x4ba5a6
movss xmm1, dword [esp + 0x10]
movss xmm2, dword [0x893018]
fld dword [esp + 0x20]
fmul st(2)
cvttss2si ecx, xmm1
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fxch st(1)
fcomi st(1)
jbe 0x4ba5c5
fstp st(1)
movaps xmm1, xmm0
jmp 0x4ba5d6
fxch st(1)
fcompi st(2)
jbe 0x4ba5d0
movaps xmm1, xmm2
jmp 0x4ba5d6
movss xmm1, dword [esp + 0x10]
fld dword [esp + 0x28]
fmul st(2)
cvttss2si edx, xmm1
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fxch st(1)
fcomi st(1)
jbe 0x4ba5f4
fstp st(1)
fstp st(1)
jmp 0x4ba607
fxch st(1)
fcompi st(2)
fstp st(1)
jbe 0x4ba601
movaps xmm0, xmm2
jmp 0x4ba607
movss xmm0, dword [esp + 0x10]
fld qword [0x892c58]
inc esi
fld qword [esp + 0x68]
fld qword [esp + 0x70]
fld qword [esp + 0x78]
shl ecx, 8
cvttss2si eax, xmm0
add ecx, edx
mov dword [esp + 0x10], esi
shl ecx, 8
add ecx, eax
mov dword [edi], ecx
add edi, 8
cmp esi, 8
jl _set_fmode
fstp st(0)
add ebx, 8
fstp st(2)
fstp st(0)
fstp st(0)
fld qword [0x892c58]
fld qword [esp + 0x48]
fld qword [esp + 0x50]
cmp edi, 0x8d7530
jl 0x4ba448
jmp 0x4baad2
cmp eax, 1
jne 0x4baada
fld dword [ebx + 0x9c]
lea eax, [esp + 0x130]
fld qword [0x892d20]
mov ecx, 0x10
fst qword [esp + 0x30]
fmul st(1), st(0)
fxch st(1)
fdiv qword [0x892e40]
fstp dword [esp + 0x18]
mov dword [eax], 0
lea eax, [eax + 8]
mov dword [eax - 4], WakeAllConditionVariable
sub ecx, 1
jne 0x4ba697
fld dword [esp + 0x18]
lea edi, [esp + 0x19c]
fstp qword [esp + 0x38]
fld qword [0x892ba0]
mov esi, 2
fstp qword [esp + 0x20]
fld qword [0x892bf0]
fst qword [esp + 0x48]
fld qword [0x892d28]
fstp qword [esp + 0x50]
fld qword [0x892c10]
fstp qword [esp + 0x28]
mov dword [esp + 0x10], esi
fild dword [esp + 0x10]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst qword [esp + 0x10]
fmulp st(1)
fsubp st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIsin
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
mov eax, esi
fmul qword [esp + 0x20]
not eax
fstp dword [edi - 4]
test al, 1
jne 0x4ba74b
fld qword [esp + 0x10]
fsub qword [esp + 0x50]
fmul qword [esp + 0x38]
fmul qword [esp + 0x28]
fsubr qword [esp + 0x30]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIsin
fstp dword [esp + 0x10]
jmp 0x4ba776
fld qword [esp + 0x38]
fmul qword [esp + 0x10]
fmul qword [esp + 0x28]
fsubr qword [esp + 0x30]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIsin
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fchs
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
inc esi
fmul qword [esp + 0x20]
mov dword [esp + 0x10], esi
fstp dword [edi]
fld qword [esp + 0x30]
sub edi, 8
fld qword [esp + 0x48]
cmp esi, 0xe
jl 0x4ba6ec
fstp st(1)
mov dword [esp + 0x80], 0
fstp st(0)
mov dword [esp + 0x84], 0x3fb39581
fld dword [ebx + 0xac]
lea edx, [esp + 0x80]
push ecx
lea ecx, [esp + 0x9c]
fstp dword [esp]
call fcn.004bab00
fld dword [ebx + 0xa0]
lea edx, [esp + 0x8c]
lea ecx, [esp + 0xa4]
mov dword [esp + 0x8c], 0xbeb020c5
mov dword [esp + 0x90], 0xbf36c8b4
fld dword [eax]
fmul st(1)
fstp dword [esp + 0x34]
fmul dword [eax + 4]
fstp dword [esp + 0x1c]
fld dword [ebx + 0xb0]
fstp dword [esp]
call fcn.004bab00
fld dword [ebx + 0xa4]
lea edx, [esp + 0x5c]
lea ecx, [esp + 0xac]
mov dword [esp + 0x5c], 0x3f36c8b4
mov dword [esp + 0x60], 0
fld dword [eax]
fmul st(1)
fstp dword [esp + 0x14]
fmul dword [eax + 4]
fstp dword [esp + 0x3c]
fld dword [ebx + 0xb4]
fstp dword [esp]
call fcn.004bab00
fld dword [ebx + 0xa8]
add esp, 4
mov edi, 0x8d6d30
lea ebx, [esp + 0x130]
fld dword [eax]
fmul st(1)
fstp dword [esp + 0x20]
fmul dword [eax + 4]
fstp dword [esp + 0x28]
fld dword [esp + 0x18]
fst qword [esp + 0x90]
fld dword [esp + 0x30]
fst qword [esp + 0x30]
fld dword [esp + 0x38]
fstp qword [esp + 0x50]
fld dword [esp + 0x10]
fstp qword [esp + 0x48]
fld dword [esp + 0x28]
fstp qword [esp + 0x70]
fld dword [esp + 0x20]
fstp qword [esp + 0x78]
fldz
fld qword [0x892cb8]
jmp floor
fxch st(1)
fxch st(3)
fxch st(1)
fxch st(2)
fld dword [ebx + 4]
xor esi, esi
fld dword [ebx]
fld st(1)
mov dword [esp + 0x10], esi
fmulp st(6)
fld st(0)
fmulp st(5)
fxch st(5)
faddp st(4)
fxch st(3)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst qword [esp + 0x68]
fld st(3)
fmul qword [esp + 0x50]
fld st(5)
fmul qword [esp + 0x48]
faddp st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst qword [esp + 0x60]
fld qword [esp + 0x78]
fmulp st(6)
fld qword [esp + 0x70]
fmulp st(5)
fxch st(5)
faddp st(4)
fxch st(3)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst qword [esp + 0x40]
jmp 0x4ba927
fxch st(1)
fxch st(4)
fxch st(2)
fxch st(3)
fxch st(1)
fild dword [esp + 0x10]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fdiv qword [0x892d58]
fadd qword [0x892b50]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fld st(0)
faddp st(5)
fxch st(4)
fstp dword [esp + 0x10]
fld st(3)
faddp st(5)
fxch st(4)
fstp dword [esp + 0x28]
fxch st(2)
faddp st(3)
fxch st(2)
fstp dword [esp + 0x20]
fld dword [esp + 0x10]
fxch st(2)
fcompi st(2)
fstp st(1)
jbe 0x4ba979
mov dword [esp + 0x10], 0
xorps xmm0, xmm0
comiss xmm0, dword [esp + 0x28]
jbe 0x4ba98b
mov dword [esp + 0x28], 0
comiss xmm0, dword [esp + 0x20]
jbe 0x4ba99a
mov dword [esp + 0x20], 0
fld dword [esp + 0x28]
fxch st(1)
call sub.api_ms_win_crt_math_l1_1_0.dll__CIpow
fstp dword [esp + 0x28]
fld dword [esp + 0x20]
fld qword [0x892cb8]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIpow
fstp dword [esp + 0x20]
fld dword [esp + 0x10]
fld qword [0x892cb8]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIpow
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
xorps xmm0, xmm0
fld qword [0x892e60]
fmul st(1), st(0)
fxch st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fldz
fcomi st(1)
jbe 0x4ba9f5
fstp st(1)
movaps xmm1, xmm0
jmp 0x4baa0e
fxch st(1)
fcompi st(2)
jbe 0x4baa08
movss xmm2, dword [0x893018]
movaps xmm1, xmm2
jmp 0x4baa16
movss xmm1, dword [esp + 0x10]
movss xmm2, dword [0x893018]
fld dword [esp + 0x28]
fmul st(2)
cvttss2si ecx, xmm1
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fxch st(1)
fcomi st(1)
jbe 0x4baa35
fstp st(1)
movaps xmm1, xmm0
jmp 0x4baa46
fxch st(1)
fcompi st(2)
jbe 0x4baa40
movaps xmm1, xmm2
jmp 0x4baa46
movss xmm1, dword [esp + 0x10]
fld dword [esp + 0x20]
fmul st(2)
cvttss2si edx, xmm1
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fxch st(1)
fcomi st(1)
jbe 0x4baa64
fstp st(1)
fstp st(1)
jmp 0x4baa77
fxch st(1)
fcompi st(2)
fstp st(1)
jbe 0x4baa71
movaps xmm0, xmm2
jmp 0x4baa77
movss xmm0, dword [esp + 0x10]
fld qword [0x892cb8]
inc esi
fld qword [esp + 0x68]
fld qword [esp + 0x60]
fld qword [esp + 0x40]
shl ecx, 8
cvttss2si eax, xmm0
add ecx, edx
mov dword [esp + 0x10], esi
shl ecx, 8
add ecx, eax
mov dword [edi], ecx
add edi, 8
cmp esi, 8
jl 0x4ba91d
fstp st(0)
add ebx, 8
fstp st(2)
fstp st(0)
fstp st(0)
fld qword [0x892cb8]
fld qword [esp + 0x90]
fld qword [esp + 0x30]
cmp edi, 0x8d7130
jl 0x4ba8b6
fstp st(2)
fstp st(2)
fstp st(1)
fstp st(0)
mov ecx, dword [esp + 0x1b4]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0073297b
mov esp, ebp
pop ebp
ret 4