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

Disassembly:
sub esp, 0x190
mov ecx, dword [esp + 0x194]
lea eax, [esp + 0x44]
push eax
lea edx, [esp + 0x54]
call fcn.0084a90c
lea eax, [esp + 0x5c]
push eax
mov ecx, dword [esp + 0x19c]
lea edx, [esp + 0x6c]
call fcn.0084a9dc
lea ecx, [esp + 0x68]
lea eax, [esp + 0x5c]
push eax
push ecx
lea ecx, [esp + 0x58]
lea edx, [esp + 0x4c]
call fcn.0084aa18
test eax, eax
je 0x83db8e
mov eax, 0x98afe0
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov dword [esp + 0x74], edx
mov edx, dword [eax + 8]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], edx
mov edx, dword [eax + 0xc]
mov dword [esp + 0x80], edx
mov edx, dword [eax + 0x10]
mov dword [esp + 0x84], edx
mov edx, dword [eax + 0x14]
mov dword [esp + 0x88], edx
mov edx, dword [eax + 0x18]
mov dword [esp + 0x8c], edx
mov edx, dword [eax + 0x1c]
mov dword [esp + 0x90], edx
mov edx, dword [eax + 0x20]
mov dword [esp + 0x94], edx
mov edx, dword [eax + 0x24]
mov dword [esp + 0x98], edx
mov edx, dword [eax + 0x28]
mov dword [esp + 0x9c], edx
mov edx, dword [eax + 0x2c]
mov dword [esp + 0xa0], edx
mov edx, dword [eax + 0x30]
mov dword [esp + 0xa4], edx
mov edx, dword [eax + 0x34]
mov dword [esp + 0xa8], edx
mov edx, dword [eax + 0x38]
mov dword [esp + 0xac], edx
mov edx, dword [eax + 0x3c]
mov dword [esp + 0xb0], edx
mov edx, dword [eax + 0x40]
mov dword [esp + 0xb4], edx
mov edx, dword [eax + 0x44]
mov dword [esp + 0xb8], edx
mov edx, dword [eax + 0x48]
mov dword [esp + 0xbc], edx
mov edx, dword [eax + 0x4c]
mov dword [esp + 0xc0], edx
mov edx, dword [eax + 0x50]
mov dword [esp + 0xc4], edx
mov edx, dword [eax + 0x54]
mov dword [esp + 0xc8], edx
mov edx, dword [eax + 0x58]
mov eax, dword [eax + 0x5c]
mov dword [esp + 0xcc], edx
mov dword [esp + 0xd0], eax
mov eax, 0x98af80
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov dword [esp + 0xd4], edx
mov edx, dword [eax + 8]
mov dword [esp + 0xd8], ecx
mov dword [esp + 0xdc], edx
mov edx, dword [eax + 0xc]
mov dword [esp + 0xe0], edx
mov edx, dword [eax + 0x10]
mov dword [esp + 0xe4], edx
mov edx, dword [eax + 0x14]
mov dword [esp + 0xe8], edx
mov edx, dword [eax + 0x18]
mov dword [esp + 0xec], edx
mov edx, dword [eax + 0x1c]
mov dword [esp + 0xf0], edx
mov edx, dword [eax + 0x20]
mov dword [esp + 0xf4], edx
mov edx, dword [eax + 0x24]
mov dword [esp + 0xf8], edx
mov edx, dword [eax + 0x28]
mov dword [esp + 0xfc], edx
mov edx, dword [eax + 0x2c]
mov dword [esp + 0x100], edx
mov edx, dword [eax + 0x30]
mov dword [esp + 0x104], edx
mov edx, dword [eax + 0x34]
mov dword [esp + 0x108], edx
mov edx, dword [eax + 0x38]
mov dword [esp + 0x10c], edx
mov edx, dword [eax + 0x3c]
mov dword [esp + 0x110], edx
mov edx, dword [eax + 0x40]
mov dword [esp + 0x114], edx
mov edx, dword [eax + 0x44]
mov dword [esp + 0x118], edx
mov edx, dword [eax + 0x48]
mov dword [esp + 0x11c], edx
mov edx, dword [eax + 0x4c]
mov dword [esp + 0x120], edx
mov edx, dword [eax + 0x50]
mov dword [esp + 0x124], edx
mov edx, dword [eax + 0x54]
mov dword [esp + 0x128], edx
mov edx, dword [eax + 0x58]
mov eax, dword [eax + 0x5c]
mov dword [esp + 0x12c], edx
mov dword [esp + 0x130], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x194]
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], ebp
mov eax, 1
xor ecx, ecx
mov dword [esp], eax
xor edx, edx
mov ebx, edx
mov ebp, ecx
mov edi, dword [esp + ebx + 0x78]
add edi, edi
add edi, edi
lea edx, [edi + edi]
add edx, edi
fld dword [edx + esi + 4]
mov edi, dword [esp + ebx + 0x7c]
fld dword [edx + esi + 8]
add edi, edi
add edi, edi
lea eax, [edi + edi]
add eax, edi
mov edi, dword [esp + ebx + 0x74]
fld dword [eax + esi + 8]
fld dword [eax + esi + 4]
add edi, edi
add edi, edi
lea ecx, [edi + edi]
add ecx, edi
fld dword [ecx + esi + 4]
fsub st(4), st(0)
fsubp st(1)
fld dword [ecx + esi + 8]
fsub st(2), st(0)
fxch st(2)
fmulp st(4)
fxch st(1)
fsubp st(2)
fmulp st(1)
fsubp st(1)
fchs
fst dword [esp + ebp + 0x134]
fmul st(0)
fld dword [ecx + esi]
fld dword [ecx + esi + 8]
fld dword [edx + esi + 8]
fsub st(1)
fld dword [eax + esi]
fsub st(3)
fmulp st(1)
fld dword [edx + esi]
fsubrp st(3)
fld dword [eax + esi + 8]
fsubrp st(2)
fxch st(1)
fmulp st(2)
fsubrp st(1)
fchs
fst dword [esp + ebp + 0x138]
fmul st(0)
faddp st(1)
fld dword [ecx + esi]
fld dword [ecx + esi + 4]
fld dword [edx + esi]
fsub st(2)
fld dword [eax + esi + 4]
fsub st(2)
fmulp st(1)
fld dword [edx + esi + 4]
fsubrp st(2)
fld dword [eax + esi]
fsubrp st(3)
fxch st(2)
fmulp st(1)
fsubp st(1)
fchs
fst dword [esp + ebp + 0x13c]
fmul st(0)
faddp st(1)
push edi
fstp dword [esp]
call fcn.0082dc9c
fld dword [0x98b044]
fdivrp st(1)
fld dword [esp + ebp + 0x134]
fmul st(1)
fld dword [esp + ebp + 0x138]
fld dword [esp + ebp + 0x13c]
fxch st(1)
fmul st(3)
fxch st(3)
fmulp st(1)
fxch st(1)
fstp dword [esp + ebp + 0x134]
fxch st(1)
fstp dword [esp + ebp + 0x138]
fstp dword [esp + ebp + 0x13c]
add ebp, 0xc
add ebx, 0x10
cmp ebx, 0x60
jl 0x83d551
mov eax, dword [esp]
mov ebx, dword [esp + 8]
mov esi, dword [esp + 0xc]
mov edi, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov esi, eax
xor ecx, ecx
xor edx, edx
mov dword [esp + 0x10], edi
mov edi, ecx
mov dword [esp + 0x14], ebp
mov ebp, edx
fld dword [esp + edi + 0x134]
fld dword [esp + edi + 0x134]
fld dword [esp + edi + 0x138]
fld dword [esp + edi + 0x13c]
mov ebx, 1
mov eax, dword [esp + ebp + 0x74]
add eax, eax
add eax, eax
lea edx, [eax + eax]
add edx, eax
mov eax, dword [esp + 0x194]
fld dword [edx + eax]
fmul st(4)
fld dword [edx + eax + 4]
fmul st(3)
faddp st(1)
fld dword [edx + eax + 8]
fmul st(2)
faddp st(1)
mov eax, dword [esp + 0x198]
fld dword [eax]
fld dword [eax + 4]
fld dword [eax + 8]
fxch st(2)
fmul st(6), st(0)
fstp dword [esp + 0x40]
fld dword [esp + edi + 0x138]
fmul st(1)
faddp st(6)
fld dword [esp + edi + 0x13c]
fmul st(2)
faddp st(6)
fld dword [esp + edi + 0x134]
fmul st(0)
fxch st(3)
fchs
faddp st(6)
fld dword [esp + edi + 0x138]
fmul st(0)
faddp st(3)
fld dword [esp + edi + 0x13c]
fmul st(0)
faddp st(3)
fxch st(5)
fchs
fdivrp st(2)
fxch st(1)
fmul st(5), st(0)
fmul st(3), st(0)
fmulp st(2)
fxch st(2)
fadd st(3)
fld dword [esp + 0x40]
fxch st(1)
fst dword [esp + 0x20]
fxch st(1)
fadd st(5), st(0)
fxch st(5)
fst dword [esp + 0x1c]
fxch st(2)
fadd st(3)
fst dword [esp + 0x24]
fxch st(2)
fsubrp st(5)
fxch st(4)
fmul st(0)
fxch st(4)
fsubrp st(3)
fxch st(2)
fmul st(0)
fxch st(2)
fsubrp st(1)
fmul st(0)
fxch st(1)
faddp st(2)
faddp st(1)
push edi
fstp dword [esp]
call fcn.0082dc9c
fstp dword [esp + 0x18]
mov dword [esp + 0x28], ebp
xor eax, eax
mov dword [esp + 4], edi
mov dword [esp], esi
mov esi, eax
mov edi, dword [esp + 0x28]
fld dword [esp + 0x1c]
fld dword [esp + 0x20]
xor ebp, ebp
mov dword [esp + 0x17c], ebp
mov dword [esp + 0x180], 1
mov dword [esp + 0x18c], ebp
mov dword [esp + 0x184], 2
mov dword [esp + 0x188], 3
mov ebp, dword [esp + esi*4 + 0x17c]
add ebp, ebp
add ebp, ebp
mov edx, dword [esp + esi*4 + 0x180]
add ebp, edi
mov eax, dword [esp + ebp + 0x74]
add eax, eax
add eax, eax
lea ecx, [eax + eax]
add ecx, eax
mov eax, dword [esp + 0x194]
fld dword [ecx + eax]
fsub st(2), st(0)
fld dword [ecx + eax + 4]
fsub st(2), st(0)
fld dword [ecx + eax + 8]
fst dword [esp + 0x40]
add edx, edx
add edx, edx
add edx, edi
mov edx, dword [esp + edx + 0x74]
add edx, edx
add edx, edx
lea edi, [edx + edx]
add edi, edx
fld dword [edi + eax]
fsubr st(3)
fld dword [edi + eax + 4]
fxch st(1)
fmul st(6), st(0)
fxch st(1)
fsubr st(3)
fmul st(5), st(0)
fxch st(5)
faddp st(6)
fld dword [esp + 0x24]
fsub st(2)
fld dword [edi + eax + 8]
fsubp st(3)
fmul st(2)
fld st(5)
fmul st(0)
fxch st(1)
faddp st(7)
fld st(1)
fmul st(0)
faddp st(1)
fld st(2)
fmul st(0)
faddp st(1)
fdivp st(6)
fld dword [esp + 0x20]
fxch st(1)
fmul st(6)
fxch st(5)
fmul st(6)
fxch st(6)
fmulp st(2)
fxch st(4)
faddp st(3)
fld dword [esp + 0x40]
fxch st(3)
fst dword [esp + 0x38]
fxch st(5)
faddp st(2)
fld dword [esp + 0x1c]
fxch st(2)
fst dword [esp + 0x34]
fxch st(1)
faddp st(3)
fxch st(2)
fst dword [esp + 0x40]
fxch st(4)
fsubrp st(1)
fst dword [esp + 0x2c]
fxch st(1)
fsubrp st(2)
fld dword [esp + 0x24]
fxch st(2)
fst dword [esp + 0x30]
fxch st(3)
fsubrp st(2)
fxch st(1)
fst dword [esp + 0x3c]
fxch st(1)
fmul st(0)
fxch st(2)
fmul st(0)
fxch st(1)
fmul st(0)
fxch st(1)
faddp st(2)
faddp st(1)
push edi
fstp dword [esp]
call fcn.0082dc9c
fdivr dword [0x98b044]
fld dword [esp + 0x2c]
fmul st(1)
fld dword [esp + 0x30]
fmul st(2)
fld dword [esp + 0x3c]
fmulp st(3)
fstp dword [esp + 0x30]
fxch st(1)
fstp dword [esp + 0x3c]
push edi
mov edx, dword [esp + ebp + 0xd8]
add edx, edx
add edx, edx
lea ecx, [edx + edx]
add ecx, edx
fsubr dword [esp + ecx + 0x138]
fstp dword [esp]
call fcn.0082e900
fstp dword [esp + 0x2c]
push edi
mov edx, dword [esp + ebp + 0xd8]
add edx, edx
add edx, edx
lea ecx, [edx + edx]
add ecx, edx
fld dword [esp + ecx + 0x13c]
fsub dword [esp + 0x34]
fstp dword [esp]
call fcn.0082e900
fstp dword [esp + 0x30]
push edi
mov edx, dword [esp + ebp + 0xd8]
add edx, edx
add edx, edx
lea ecx, [edx + edx]
add ecx, edx
fld dword [esp + ecx + 0x140]
fsub dword [esp + 0x40]
fstp dword [esp]
call fcn.0082e900
mov ecx, dword [esp + 0x198]
fld dword [esp + 0x2c]
fcomp dword [0x98b040]
fnstsw ax
fld dword [ecx + 0xc]
xor ebp, ebp
fld dword [esp + 0x30]
sahf
fcomp dword [0x98b040]
fnstsw ax
mov edx, 1
jbe 0x83d98f
mov edx, ebp
mov edi, 0
sahf
fxch st(1)
fcomp dword [0x98b040]
fnstsw ax
mov ecx, 1
mov ebp, 1
jbe 0x83d9ad
mov ecx, edi
and edx, ecx
mov ecx, 0
sahf
fcom dword [esp + 0x18]
fnstsw ax
jbe 0x83d9bf
mov ebp, ecx
and edx, ebp
mov ecx, 0
sahf
mov ebp, 1
jae 0x83d9d0
mov ebp, ecx
test ebp, edx
je 0x83d9db
fstp st(0)
and ebx, 1
jmp 0x83da24
fld dword [esp + 0x18]
fcomp st(1)
fnstsw ax
sahf
ja 0x83db7c
fmul st(0)
fld dword [esp + 0x18]
fmul st(0)
fsubp st(1)
fld dword [esp + 0x38]
fsubr dword [esp + 0x1c]
fmul st(0)
fld dword [esp + 0x34]
fsubr dword [esp + 0x20]
fmul st(0)
faddp st(1)
fld dword [esp + 0x40]
fsubr dword [esp + 0x24]
fmul st(0)
faddp st(1)
fcompp
fnstsw ax
sahf
ja 0x83db6c
and ebx, 1
add esi, 1
cmp esi, 4
jl 0x83d798
mov ebp, dword [esp + 0x28]
mov edi, dword [esp + 4]
mov esi, dword [esp]
test ebx, ebx
jne 0x83dba7
mov ebx, dword [esp + 0x198]
fld dword [esp + 0x1c]
fsub dword [ebx]
fld dword [esp + 0x20]
fsub dword [ebx + 4]
fld dword [esp + 0x24]
fsub dword [ebx + 8]
fxch st(2)
fst dword [esp + 0x1c]
fxch st(1)
fst dword [esp + 0x20]
fxch st(2)
fst dword [esp + 0x24]
fxch st(1)
fmul st(0)
fxch st(2)
fmul st(0)
fxch st(1)
fmul st(0)
fxch st(1)
faddp st(2)
faddp st(1)
push edi
fstp dword [esp]
call fcn.0082dc9c
fdivr dword [0x98b044]
fld dword [esp + 0x1c]
fmul st(1)
fld dword [esp + 0x20]
fmul st(2)
fld dword [esp + 0x24]
fmulp st(3)
fstp dword [esp + 0x20]
fxch st(1)
fstp dword [esp + 0x24]
push edi
fsubr dword [esp + edi + 0x138]
fstp dword [esp]
call fcn.0082e900
fstp dword [esp + 0x40]
push edi
fld dword [esp + edi + 0x13c]
fsub dword [esp + 0x24]
fstp dword [esp]
call fcn.0082e900
fstp dword [esp + 0x3c]
push edi
fld dword [esp + edi + 0x140]
fsub dword [esp + 0x28]
fstp dword [esp]
call fcn.0082e900
fld dword [0x98b040]
fld dword [esp + 0x40]
fcomp st(1)
fnstsw ax
xor ebx, ebx
mov edx, 1
fld dword [esp + 0x3c]
sahf
fcomp st(1)
fnstsw ax
jbe 0x83db0f
mov edx, ebx
xor ebx, ebx
sahf
mov eax, 1
jbe 0x83db1b
mov eax, ebx
and edx, eax
fcompp
fnstsw ax
mov ebx, 0
sahf
mov eax, 1
jae 0x83db30
mov eax, ebx
test eax, edx
je 0x83db39
and esi, 1
jmp 0x83db3b
xor esi, esi
add edi, 0xc
add ebp, 0x10
cmp ebp, 0x60
jl 0x83d696
mov ebx, dword [esp + 8]
mov edi, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
mov eax, esi
test eax, eax
mov esi, dword [esp + 0xc]
je 0x83db8e
mov eax, 1
add esp, 0x190
ret
xor ebx, ebx
add esi, 1
cmp esi, 4
jl 0x83d798
jmp 0x83dbc3
fstp st(0)
xor ebx, ebx
add esi, 1
cmp esi, 4
jl 0x83d798
jmp 0x83db97
xor eax, eax
add esp, 0x190
ret
mov ebp, dword [esp + 0x28]
mov edi, dword [esp + 4]
mov esi, dword [esp]
jmp 0x83da43
mov ebx, dword [esp + 8]
mov esi, dword [esp + 0xc]
mov edi, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
mov eax, 1
add esp, 0x190
ret
mov ebp, dword [esp + 0x28]
mov edi, dword [esp + 4]
mov esi, dword [esp]
jmp 0x83da43