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

Disassembly:
mov eax, dword [esp + 8]
xor edx, edx
sub esp, 0x54
cmp eax, edx
je 0x4804af
mov dword [eax], edx
mov eax, dword [0x82d9e0]
push ebx
push ebp
push esi
cmp eax, edx
push edi
je 0x480dca
cmp dword [0x4c6608], edx
je 0x480dca
mov ebp, dword [esp + 0x68]
mov ecx, dword [0x4c65fc]
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], edx
mov eax, dword [ebp + 0x403c]
lea eax, [ecx + eax*8]
mov ecx, dword [eax + 4]
mov eax, dword [eax]
cmp eax, edx
jle 0x480567
mov edi, dword [ebp + 0x398]
lea ebx, [ecx + 0x28]
mov dword [esp + 0x18], eax
xor edx, edx
lea esi, [ebx - 0x14]
mov ecx, ebx
fld dword [ecx - 8]
fmul dword [edi + 0x14]
fld dword [ecx - 4]
fmul dword [edi + 0x18]
faddp st(1)
fld dword [edi + 0x1c]
fmul dword [ecx]
faddp st(1)
fadd dword [ecx + 4]
fld dword [esi]
fchs
fld st(1)
fcompp
fnstsw ax
test ah, 1
jne 0x480542
fcomp dword [esi]
fnstsw ax
test ah, 0x41
je 0x480544
inc edx
add esi, 4
add ecx, 0x10
cmp edx, 3
jl 0x480504
jmp 0x480544
fstp st(0)
cmp edx, 3
jne 0x480551
mov dword [esp + 0x10], 1
mov eax, dword [esp + 0x18]
add ebx, 0x70
dec eax
mov dword [esp + 0x18], eax
jne 0x4804fd
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x480576
mov eax, 1
mov dword [ebp + 0x40cc], eax
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x40d8]
mov ecx, dword [0x82d9ec]
lea esi, [eax + eax*2]
mov eax, dword [esp + 0x14]
shl esi, 4
add esi, ecx
test eax, eax
jne 0x480854
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x68]
fld dword [esi]
mov ecx, dword [edx + 0x398]
lea edi, [esi + 0x20]
mov ebp, 4
fsub dword [ecx + 0x14]
fld dword [esi + 4]
fsub dword [ecx + 0x18]
fld dword [esi + 8]
fsub dword [ecx + 0x1c]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fld st(3)
fmul st(4)
faddp st(1)
fstp st(3)
fstp st(0)
fstp st(0)
fld dword [0x4b0230]
mov edx, dword [edi - 0x10]
test edx, edx
je 0x48061c
fld dword [edx]
fsub dword [ecx + 0x14]
fld dword [edx + 4]
fsub dword [ecx + 0x18]
fld dword [edx + 8]
fsub dword [ecx + 0x1c]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fld st(3)
fmul st(4)
faddp st(1)
fst dword [esp + 0x10]
fstp st(3)
fstp st(0)
fstp st(0)
fcomp st(1)
fnstsw ax
test ah, 1
je 0x48061c
fstp st(0)
fld dword [esp + 0x10]
mov ebx, edx
mov edx, dword [edi]
test edx, edx
je 0x48065e
fld dword [edx]
fsub dword [ecx + 0x14]
fld dword [edx + 4]
fsub dword [ecx + 0x18]
fld dword [edx + 8]
fsub dword [ecx + 0x1c]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fld st(3)
fmul st(4)
faddp st(1)
fst dword [esp + 0x10]
fstp st(3)
fstp st(0)
fstp st(0)
fcomp st(1)
fnstsw ax
test ah, 1
je 0x48065e
fstp st(0)
fld dword [esp + 0x10]
mov ebx, edx
add edi, 4
dec ebp
jne 0x4805d9
fcomp st(1)
fnstsw ax
test ah, 1
fstp st(0)
je 0x48069b
mov eax, dword [0x82d9ec]
mov edx, ebx
sub edx, eax
mov eax, 0x2aaaaaab
imul edx
mov ebp, dword [esp + 0x68]
mov esi, ebx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [ebp + 0x40d8], edx
jmp 0x48069f
mov ebp, dword [esp + 0x68]
fld dword [0x4b0004]
fld dword [0x4b0004]
lea edx, [esi + 0x20]
mov edi, 4
fst dword [esp + 0x44]
fld dword [0x4b0004]
fst dword [esp + 0x48]
mov eax, dword [edx]
test eax, eax
je 0x48072d
fld dword [esi]
fsub dword [eax]
fld dword [esi + 4]
fsub dword [eax + 4]
fstp dword [esp + 0x38]
fld dword [esi + 8]
fsub dword [eax + 8]
fst dword [esp + 0x3c]
fmul dword [esp + 0x3c]
fld dword [esp + 0x38]
fmul dword [esp + 0x38]
faddp st(1)
fld st(1)
fmul st(2)
faddp st(1)
fsqrt
fdivr dword [0x4b0018]
fst dword [esp + 0x68]
fmulp st(1)
fld dword [esp + 0x68]
fmul dword [esp + 0x38]
fstp dword [esp + 0x38]
fld dword [esp + 0x68]
fmul dword [esp + 0x3c]
fstp dword [esp + 0x3c]
fxch st(3)
fadd st(3)
fxch st(3)
fstp st(0)
fxch st(1)
fadd dword [esp + 0x38]
fxch st(1)
fadd dword [esp + 0x3c]
add edx, 4
dec edi
jne 0x4806c1
fst dword [esp + 0x48]
fxch st(1)
fst dword [esp + 0x44]
fxch st(1)
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fld st(3)
fmul st(4)
faddp st(1)
fsqrt
fstp st(2)
fstp st(0)
fdivr dword [0x4b0018]
fst dword [esp + 0x68]
fmulp st(1)
fld dword [esp + 0x68]
fmul dword [esp + 0x44]
fld dword [esp + 0x68]
fmul dword [esp + 0x48]
fld dword [ecx + 0x14]
fsub dword [esi]
fld dword [ecx + 0x18]
fsub dword [esi + 4]
fld dword [ecx + 0x1c]
fsub dword [esi + 8]
fld st(3)
fmul st(1)
fld st(5)
fmul st(3)
faddp st(1)
fld st(6)
fmul st(4)
faddp st(1)
fadd dword [esi + 0xc]
fstp dword [ebp + 0x40dc]
fstp st(0)
fstp st(0)
fstp st(0)
fmul dword [ecx + 0x74]
fxch st(1)
fmul dword [ecx + 0x70]
faddp st(1)
fxch st(1)
fmul dword [ecx + 0x6c]
faddp st(1)
fcomp dword [0x4b0400]
fnstsw ax
test ah, 0x41
jne 0x4807c6
mov eax, 1
jmp 0x4807c8
xor eax, eax
fld dword [ebp + 0x40dc]
mov dword [ebp + 0x40cc], eax
mov ecx, dword [ebp + 0x40e0]
fdiv dword [0x82d9dc]
mov dword [esp + 0x18], ecx
fsub dword [ebp + 0x40e0]
fcom dword [0x4b000c]
fnstsw ax
test ah, 0x41
jne 0x4807ff
fsub dword [0x4b0018]
jmp 0x480812
fcom dword [0x4b0184]
fnstsw ax
test ah, 1
je 0x480812
fadd dword [0x4b0018]
fadd dword [ebp + 0x40e0]
fcom dword [0x4b0018]
fst dword [ebp + 0x40e0]
fnstsw ax
test ah, 1
jne 0x480839
fsub dword [0x4b0018]
fstp dword [ebp + 0x40e0]
jmp 0x48085c
fcom dword [0x4b0004]
fnstsw ax
test ah, 1
je 0x48085a
fadd dword [0x4b0018]
fstp dword [ebp + 0x40e0]
jmp 0x48085c
mov ebp, dword [esp + 0x68]
jmp 0x48085c
fstp st(0)
mov eax, dword [ebp + 4]
mov ebx, 1
cmp eax, ebx
jne 0x480d03
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x480b5f
fld dword [0x4b0004]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
lea eax, [esi + 0x10]
mov edx, 4
mov ecx, dword [eax]
test ecx, ecx
je 0x4808ce
fld dword [esp + 0x1c]
fadd dword [ecx]
fstp dword [esp + 0x1c]
mov ecx, dword [eax]
fld dword [esp + 0x20]
fadd dword [ecx + 4]
fstp dword [esp + 0x20]
mov ecx, dword [eax]
fld dword [esp + 0x24]
fadd dword [ecx + 8]
fstp dword [esp + 0x24]
fadd dword [0x4b0018]
add eax, 4
dec edx
jne 0x48089e
fdivr dword [0x4b0018]
mov edx, dword [ebp + 0x398]
fld st(0)
fmul dword [esp + 0x1c]
fstp dword [esp + 0x1c]
fld st(0)
fmul dword [esp + 0x20]
fstp dword [esp + 0x20]
fmul dword [esp + 0x24]
fstp dword [esp + 0x24]
fld dword [esi]
fsub dword [esp + 0x1c]
fld dword [esi + 4]
fsub dword [esp + 0x20]
fld dword [esi + 8]
fsub dword [esp + 0x24]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fld st(3)
fmul st(4)
faddp st(1)
fsqrt
fstp dword [esp + 0x68]
fld dword [edx + 0x14]
fsub dword [esp + 0x1c]
fld dword [edx + 0x18]
fsub dword [esp + 0x20]
fld dword [edx + 0x1c]
fsub dword [esp + 0x24]
fxch st(3)
fmul st(3)
fxch st(4)
fmul st(1)
faddp st(4)
fxch st(4)
fmul st(1)
faddp st(3)
fxch st(2)
fdiv dword [esp + 0x68]
fxch st(3)
fxch st(2)
fxch st(1)
fstp st(0)
fxch st(1)
fstp st(0)
fstp st(0)
fcom dword [0x4b0004]
fnstsw ax
test ah, 1
je 0x480976
fstp st(0)
fld dword [0x4b0004]
jmp 0x480987
fcom dword [esp + 0x68]
fnstsw ax
test ah, 0x41
jne 0x480987
fstp st(0)
fld dword [esp + 0x68]
fld dword [0x4b0004]
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
lea eax, [esi + 0x20]
mov edi, 4
mov ecx, dword [eax]
test ecx, ecx
je 0x4809dd
fld dword [esp + 0x28]
fadd dword [ecx]
fstp dword [esp + 0x28]
mov ecx, dword [eax]
fld dword [esp + 0x2c]
fadd dword [ecx + 4]
fstp dword [esp + 0x2c]
mov ecx, dword [eax]
fld dword [esp + 0x30]
fadd dword [ecx + 8]
fstp dword [esp + 0x30]
fadd dword [0x4b0018]
add eax, 4
dec edi
jne 0x4809ad
fdivr dword [0x4b0018]
fld st(0)
fmul dword [esp + 0x28]
fstp dword [esp + 0x28]
fld st(0)
fmul dword [esp + 0x2c]
fstp dword [esp + 0x2c]
fmul dword [esp + 0x30]
fstp dword [esp + 0x30]
fld dword [esp + 0x28]
fsub dword [esi]
fld dword [esp + 0x2c]
fsub dword [esi + 4]
fld dword [esp + 0x30]
fsub dword [esi + 8]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fld st(3)
fmul st(4)
faddp st(1)
fsqrt
fstp dword [esp + 0x10]
fld dword [edx + 0x14]
fsub dword [esi]
fld dword [edx + 0x18]
fsub dword [esi + 4]
fld dword [edx + 0x1c]
fsub dword [esi + 8]
fstp dword [esp + 0x3c]
fxch st(2)
fmul dword [esp + 0x3c]
fxch st(3)
fmul st(2)
faddp st(3)
fxch st(3)
fmul st(3)
faddp st(2)
fxch st(1)
fdiv dword [esp + 0x10]
fxch st(2)
fxch st(1)
fstp st(0)
fstp st(0)
fcom dword [0x4b0004]
fnstsw ax
test ah, 1
je 0x480a7b
fstp st(0)
fld dword [0x4b0004]
jmp 0x480a8c
fcom dword [esp + 0x10]
fnstsw ax
test ah, 0x41
jne 0x480a8c
fstp st(0)
fld dword [esp + 0x10]
fld dword [esp + 0x10]
fadd dword [esp + 0x68]
fld dword [esp + 0x68]
lea edx, [esp + 0x4c]
lea eax, [esp + 0x28]
fdiv st(1)
push edx
push ecx
lea ecx, [esp + 0x24]
fstp dword [esp + 0x18]
fxch st(1)
fadd st(2)
mov edi, dword [esp + 0x18]
fdiv st(1)
fstp dword [esp + 0x70]
fstp st(0)
fstp st(0)
fld dword [esp + 0x70]
fsub dword [0x4b0020]
fstp dword [esp]
push 0x3f800000
push eax
push edi
push esi
push 0
push ecx
call fcn.00443d10
fld dword [esp + 0x88]
fadd dword [0x4b0020]
add esp, 0x20
lea edx, [esp + 0x58]
lea eax, [esp + 0x28]
push edx
push ecx
lea ecx, [esp + 0x24]
fstp dword [esp]
push 0x3f800000
push eax
push edi
push esi
push 0
push ecx
call fcn.00443d10
fld dword [esp + 0x6c]
fsub dword [esp + 0x78]
fld dword [esp + 0x70]
fsub dword [esp + 0x7c]
add esp, 0x20
fstp dword [esp + 0x44]
fld dword [esp + 0x54]
fsub dword [esp + 0x60]
fst dword [esp + 0x48]
fmul dword [esp + 0x48]
fld dword [esp + 0x44]
fmul dword [esp + 0x44]
faddp st(1)
fld st(1)
fmul st(2)
faddp st(1)
fsqrt
fdivr dword [0x4b0018]
fst dword [esp + 0x68]
fmulp st(1)
fld dword [esp + 0x68]
fmul dword [esp + 0x44]
fld dword [esp + 0x68]
jmp 0x480bac
mov eax, dword [ebp + 0x398]
fld dword [eax + 0x14]
fsub dword [esi]
fld dword [eax + 0x18]
fsub dword [esi + 4]
fstp dword [esp + 0x44]
fld dword [eax + 0x1c]
fsub dword [esi + 8]
fst dword [esp + 0x48]
fmul dword [esp + 0x48]
fld dword [esp + 0x44]
fmul dword [esp + 0x44]
faddp st(1)
fld st(1)
fmul st(2)
faddp st(1)
fsqrt
fdivr dword [0x4b0018]
fst dword [esp + 0x68]
fmulp st(1)
fld dword [esp + 0x68]
fmul dword [esp + 0x44]
fld dword [esp + 0x68]
mov ecx, dword [ebp + 0x398]
fmul dword [esp + 0x48]
fld dword [ecx + 0x74]
fld dword [ecx + 0x6c]
fchs
fld st(1)
fcomp dword [0x4b0004]
fnstsw ax
test ah, 0x40
je 0x480bde
fcom dword [0x4b0004]
fnstsw ax
test ah, 0x40
jne 0x480cf9
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
mov dword [esp + 0x38], 0
faddp st(1)
fsqrt
fdivr dword [0x4b0018]
fld st(0)
fmul st(3)
fstp dword [esp + 0x34]
fmul st(1)
fstp st(2)
fstp st(0)
fld st(1)
fmul st(1)
fld st(3)
fmul dword [esp + 0x38]
faddp st(1)
fld st(4)
fmul dword [esp + 0x34]
faddp st(1)
fchs
fxch st(3)
fmul dword [ecx + 0x70]
fxch st(2)
fmul dword [ecx + 0x74]
faddp st(2)
fxch st(3)
fmul dword [ecx + 0x6c]
faddp st(1)
fchs
fpatan
fxch st(1)
fstp st(0)
fadd dword [0x4b0604]
fsub dword [ebp + 0x40e4]
fcom dword [0x4b0074]
fnstsw ax
test ah, 0x41
jne 0x480c58
fsub dword [0x4b00d8]
jmp 0x480c6b
fcom dword [0x4b06c8]
fnstsw ax
test ah, 1
je 0x480c6b
fadd dword [0x4b00d8]
fld dword [0x4ba884]
fmul dword [0x4b0234]
fstp dword [esp + 0x68]
fcom dword [esp + 0x68]
fnstsw ax
test ah, 0x41
jne 0x480c8e
fstp st(0)
fld dword [esp + 0x68]
jmp 0x480ca9
fld dword [esp + 0x68]
fchs
fstp dword [esp + 0x68]
fcom dword [esp + 0x68]
fnstsw ax
test ah, 1
je 0x480ca9
fstp st(0)
fld dword [esp + 0x68]
fadd dword [ebp + 0x40e4]
fcom dword [0x4b00d8]
fst dword [ebp + 0x40e4]
fnstsw ax
test ah, 1
jne 0x480cd0
fsub dword [0x4b00d8]
fstp dword [ebp + 0x40e4]
jmp 0x480cd2
fstp st(0)
fld dword [ebp + 0x40e4]
fcomp dword [0x4b0004]
fnstsw ax
test ah, 1
je 0x480d03
fld dword [ebp + 0x40e4]
fadd dword [0x4b00d8]
fstp dword [ebp + 0x40e4]
jmp 0x480d03
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
mov eax, dword [esp + 0x14]
xor edi, edi
cmp eax, edi
jne 0x480dca
fld dword [esp + 0x18]
fcomp dword [0x4b00a8]
fnstsw ax
test ah, 1
je 0x480da0
fld dword [ebp + 0x40e0]
fcomp dword [0x4b00e4]
fnstsw ax
test ah, 0x41
jne 0x480da0
mov esi, dword [esp + 0x6c]
cmp esi, edi
je 0x480d76
cmp dword [ebp + 0x40d0], edi
je 0x480d4d
cmp dword [ebp + 0x40d4], edi
je 0x480d76
fld dword [0x4b0018]
fsub dword [ebp + 0x40e0]
fld dword [esp + 0x18]
fadd st(1)
fdivr st(1)
fmul dword [0x4ba884]
fmul dword [0x4b0088]
call fcn.004a4cf8
fstp st(0)
mov dword [esi], eax
mov eax, dword [ebp + 0x40d0]
mov dword [ebp + 0x40d4], edi
cmp eax, edi
je 0x480d96
mov dword [ebp + 0x40d0], edi
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x54
ret
pop edi
pop esi
mov eax, ebx
pop ebp
pop ebx
add esp, 0x54
ret
fld dword [esp + 0x18]
fcomp dword [0x4b00e4]
fnstsw ax
test ah, 0x41
jne 0x480dca
fld dword [ebp + 0x40e0]
fcomp dword [0x4b00a8]
fnstsw ax
test ah, 1
je 0x480dca
mov dword [ebp + 0x40d0], ebx
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x54
ret