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

Disassembly:
push ebx
push esi
push edi
push ebp
sub esp, 0xc0
cmp byte [0x703730], 0
mov ebp, ecx
jne 0x481ad9
mov byte [0x703730], 1
mov dword [0x70372c], 0
cmp byte [0x703731], 0
jne 0x481ae9
mov byte [0x703731], 1
cmp word [ebp + 0xc], 0x27
je 0x481afa
mov dword [ebp + 0xb4], 0x428c0000
xor al, al
mov byte [0x7e46f6], al
mov edx, dword [ebp + 0x1b0]
mov eax, dword [edx + 0x4c]
test eax, eax
je 0x48266d
mov al, byte [edx + 0x50]
and al, 7
cmp al, 3
jne 0x482655
cmp byte [0x703741], 0
jne 0x481b36
xor al, al
mov byte [0x703741], 1
mov byte [0x703740], al
mov esi, 0x703720
lea edi, [esp + 0x1c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [ebp + 0x1b0]
push dword [eax + 0x4c]
call fcn.0057f250
pop ecx
mov edi, eax
push 2
call fcn.00405de0
pop ecx
push eax
push edi
call fcn.00646390
pop ecx
pop ecx
push edi
mov esi, eax
call fcn.00646370
shl esi, 6
lea ebx, [esp + 0x20]
add esi, eax
lea eax, [esp + 0x20]
pop ecx
push esi
push 1
push ebx
push eax
call fcn.00647160
mov dword [esp + 0x38], 0
add esp, 0x10
lea eax, [esp + 0x28]
mov dword [esp + 0x2c], 0
push 1
push eax
push esi
mov dword [esp + 0x3c], 0
call fcn.00644190
add esp, 0xc
cmp byte [ebp + 0xa], 0
fldz
je 0x481c87
fld dword [esp + 0xd8]
fstp dword [ebp + 0xbc]
mov dword [ebp + 0xac], 0
fld dword [esp + 0xd8]
fstp dword [ebp + 0xa8]
mov ecx, dword [ebp + 0x1b0]
mov al, byte [ecx + 0x50]
and al, 7
cmp al, 3
jne 0x481c41
fld dword [0x68ae68]
fadd dword [ecx + 0x374]
fstp dword [ebp + 0xbc]
mov dword [ebp + 0xac], 0
mov eax, dword [ebp + 0x1b0]
fld dword [0x68ae68]
fadd dword [eax + 0x374]
xor al, al
fstp dword [ebp + 0xa8]
mov dword [0x703748], 0
mov byte [0x703740], al
mov dword [0x703744], 0
mov byte [ebp + 3], 1
fld dword [esp + 0x1c]
mov dword [0x70372c], 0
fstp dword [ebp + 0x15c]
fld dword [esp + 0x20]
fstp dword [ebp + 0x160]
fld dword [esp + 0x24]
fstp dword [ebp + 0x164]
fld dword [esp + 0x1c]
fstp dword [0x703734]
fld dword [esp + 0x20]
fstp dword [0x703738]
fld dword [esp + 0x24]
fstp dword [0x70373c]
fld dword [esp + 0x20]
fstp dword [ebp + 0x160]
cmp byte [0x7e46f7], 0
je 0x481d23
fld dword [0x7e4fb8]
fstp st(1)
fld dword [0x68ae2c]
fsub st(1)
fmul dword [esp + 0x1c]
fld dword [ebp + 0x15c]
fmul st(2)
faddp st(1)
fstp dword [ebp + 0x15c]
fld dword [0x7e4fb8]
fstp st(1)
fld dword [0x68ae2c]
fsub st(1)
fmul dword [esp + 0x24]
fld dword [ebp + 0x164]
fmul st(2)
faddp st(1)
fstp dword [ebp + 0x164]
mov edx, dword [ebp + 0x1b0]
lea eax, [ebp + 0x15c]
add edx, 4
push eax
lea eax, [esp + 0x70]
push edx
push eax
fstp st(0)
call fcn.004dff20
mov eax, dword [esp + 0x78]
add esp, 0xc
mov edi, dword [esp + 0x70]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], eax
jmp 0x481e17
fld dword [esp + 0x1c]
fsub dword [0x703734]
lea edi, [esp + 0x34]
fstp dword [esp + 0x78]
fld dword [esp + 0x20]
fsub dword [0x703738]
lea esi, [esp + 0x78]
fstp dword [esp + 0x7c]
fld dword [esp + 0x24]
fsub dword [0x70373c]
fstp dword [esp + 0x80]
movsd dword es:[edi], dword [esi]
fstp st(0)
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [ebp + 0x1b0]
lea edi, [esp + 0x40]
add eax, 0x14
lea esi, [eax]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x40]
mov dword [esp + 0x3c], 0
mov dword [esp + 0x48], 0
call fcn.004dfea0
fldz
fldz
fldz
fld dword [esp + 0x38]
fstp st(3)
fld st(2)
fmul st(0)
fld dword [esp + 0x34]
fmul st(0)
faddp st(1)
fld dword [esp + 0x3c]
fstp st(4)
fld st(3)
fmul st(0)
faddp st(1)
fstp st(3)
fld st(2)
fsqrt
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fstp st(1)
mov eax, dword [ebp + 0x1b0]
fld st(0)
fmul dword [esp + 0x48]
add eax, 0x34
fmul dword [0x68b0fc]
fadd dword [eax + 8]
fstp st(2)
fld st(0)
fmul dword [esp + 0x44]
fmul dword [0x68b0fc]
fadd dword [eax + 4]
fstp st(3)
fld st(0)
fmul dword [esp + 0x40]
fmul dword [0x68b0fc]
fadd dword [eax]
fstp dword [esp + 0x1c]
fld st(2)
fstp dword [esp + 0x20]
fld st(1)
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fadd dword [0x68b100]
fstp dword [esp + 0x24]
fcompp
fstp st(0)
fld dword [esp + 0x1c]
fstp dword [ebp + 0x174]
fld dword [esp + 0x20]
fstp dword [ebp + 0x178]
fld dword [esp + 0x24]
fstp dword [ebp + 0x17c]
mov ecx, dword [ebp + 0x1b0]
lea eax, [esp + 0x4c]
add ecx, 0x210
push 1
push eax
call fcn.0052f9b0
lea eax, [esp + 0x90]
xor bl, bl
fldz
fld dword [esp + 0x4c]
fstp dword [eax]
fld dword [esp + 0x50]
lea ecx, [esp + 0x90]
fstp dword [ecx + 4]
fld dword [esp + 0x54]
lea eax, [esp + 0x90]
fstp dword [eax + 8]
fld dword [ebp + 0x174]
fsub dword [esp + 0x90]
lea edi, [esp + 0x58]
push 0
fstp dword [esp + 0x88]
fld dword [ebp + 0x178]
fsub dword [esp + 0x98]
lea esi, [esp + 0x88]
fstp dword [esp + 0x8c]
fld dword [ebp + 0x17c]
fsub dword [esp + 0x9c]
fstp dword [esp + 0x90]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
fld dword [esp + 0x60]
fst st(1)
fmul st(0)
fld dword [esp + 0x5c]
fmul st(0)
faddp st(1)
fld dword [esp + 0x64]
fstp st(2)
fld st(1)
fmul st(0)
faddp st(1)
fst st(1)
fsqrt
fstp st(0)
fstp st(0)
call fcn.004ab060
fld dword [0x68add8]
mov eax, dword [0x94d794]
mov edx, dword [0x94d790]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x68], edx
fcomp dword [esp + 0x68]
fnstsw ax
pop ecx
and ah, 0x44
cmp ah, 0x40
jne 0x481f6b
fld dword [0x68add8]
fcomp dword [esp + 0x68]
fnstsw ax
and ah, 0x44
cmp ah, 0x40
jne 0x481f6b
push 0
call fcn.004ab060
pop ecx
mov ecx, eax
call fcn.004a9a80
movsx eax, ax
push 0
neg eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fstp dword [esp + 8]
call fcn.004ab060
pop ecx
mov ecx, eax
call fcn.004a98f0
movsx eax, ax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fstp dword [esp + 8]
jmp 0x481f8b
fld dword [esp + 0x64]
fchs
fmul dword [0x68adf4]
mov bl, 1
fstp dword [esp + 4]
fld dword [0x68ade8]
fmul dword [esp + 0x68]
fstp dword [esp + 8]
test bl, bl
fldz
fldz
fldz
je 0x481fc2
fld dword [ebp + 0xb4]
fmul dword [0x68b000]
fstp st(2)
fld dword [0x94dbd0]
fmul dword [esp + 4]
fmul st(2)
fstp st(3)
fld dword [0xa0d964]
fmul dword [esp + 8]
fmul st(2)
jmp 0x482066
fld dword [0x68ae2c]
fstp st(3)
fld dword [0x68ae2c]
fstp st(2)
fld dword [esp + 4]
fcomp dword [0x68add8]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x481fee
fld dword [0x68aed8]
fstp st(3)
fld dword [esp + 8]
fcomp dword [0x68add8]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x48200a
fld dword [0x68aed8]
fstp st(2)
fld dword [esp + 4]
fmul dword [0x68ae80]
fmul dword [esp + 4]
fmul dword [0x68ae80]
fmul st(3)
fld dword [ebp + 0xb4]
fmul dword [0x68b000]
fstp st(2)
fld dword [0x68b004]
fmul st(2)
fmulp st(1)
fmul dword [0x975424]
fstp st(3)
fld dword [esp + 8]
fmul dword [0x68b008]
fmul dword [esp + 8]
fmul dword [0x68b008]
fmul st(2)
fld dword [0x68b00c]
fmul st(2)
fmulp st(1)
fmul dword [0x975424]
fstp st(2)
fld dword [ebp + 0xbc]
fadd st(3)
fstp dword [ebp + 0xbc]
fld dword [ebp + 0xac]
fadd st(2)
fstp dword [ebp + 0xac]
jmp 0x482098
fld dword [ebp + 0xbc]
fsub dword [0x68ae74]
fstp dword [ebp + 0xbc]
fld dword [ebp + 0xbc]
fcomp dword [0x68ae74]
fnstsw ax
test ah, 5
je 0x482086
jmp 0x4820bf
fld dword [ebp + 0xbc]
fadd dword [0x68ae74]
fstp dword [ebp + 0xbc]
fld dword [ebp + 0xbc]
fcomp dword [0x68add8]
fnstsw ax
and ah, 5
cmp ah, 1
je 0x4820ad
fld dword [ebp + 0xac]
fstp st(3)
fld st(2)
fcomp dword [0x68ae3c]
fnstsw ax
test ah, 0x45
jne 0x4820f8
mov dword [ebp + 0xac], 0x3f860a92
jmp 0x482118
fld dword [0x68b010]
fchs
fstp st(2)
fld st(2)
fcomp st(2)
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x482118
fld st(1)
fstp dword [ebp + 0xac]
fcompp
mov ecx, dword [ebp + 0x1b0]
fstp st(0)
call fcn.004f4930
test al, al
fldz
fldz
fldz
fldz
fldz
je 0x482277
mov edi, dword [ebp + 0x1b0]
cmp dword [edi + 0x5a0], 0
je 0x482277
movzx eax, word [edi + 0x5b0]
test eax, eax
je 0x48216b
sub eax, 1
je 0x482190
sub eax, 1
je 0x4821b7
sub eax, 1
je 0x4821de
jmp 0x482201
mov eax, dword [edi + 0x5a0]
add eax, 4
fld dword [eax + 0x10]
fchs
fld dword [eax + 0x14]
fpatan
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fstp st(5)
fld dword [0x68ae68]
jmp 0x4821b3
mov eax, dword [edi + 0x5a0]
add eax, 4
fld dword [eax + 0x10]
fchs
fld dword [eax + 0x14]
fpatan
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fstp st(5)
fld dword [0x68ae70]
fadd st(5)
jmp 0x4821fd
mov eax, dword [edi + 0x5a0]
add eax, 4
fld dword [eax + 0x10]
fchs
fld dword [eax + 0x14]
fpatan
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fstp st(5)
fld st(4)
fsub dword [0x68ae68]
jmp 0x4821fd
mov eax, dword [edi + 0x5a0]
add eax, 4
fld dword [eax + 0x10]
fchs
fld dword [eax + 0x14]
fpatan
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fstp st(5)
fld st(4)
fstp dword [esp + 0xc]
fld dword [ebp + 0xbc]
fsub dword [esp + 0xc]
fstp st(5)
fld st(4)
fcomp dword [0x68ae70]
fnstsw ax
test ah, 0x45
jne 0x482226
fld dword [0x68ae74]
fsubp st(5)
jmp 0x482240
fld st(4)
fcomp dword [0x68ae78]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x482240
fld dword [0x68ae74]
faddp st(5)
fld dword [edi + 0x5b4]
fstp st(4)
fld st(4)
fcomp st(4)
fnstsw ax
test ah, 0x45
je 0x482267
fld st(3)
fchs
fstp st(4)
fld st(4)
fcomp st(4)
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x48226b
fld st(3)
fstp st(5)
fld dword [esp + 0xc]
fadd st(5)
fstp dword [ebp + 0xbc]
fld dword [ebp + 0xac]
fsin
fnstsw ax
test eax, 0x400
je 0x48228f
call fcn.00642920
fsin
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fstp st(3)
fld dword [ebp + 0xac]
fcos
fnstsw ax
test eax, 0x400
je 0x4822b1
call fcn.00642920
fcos
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fstp st(2)
fld dword [ebp + 0xbc]
fsin
fnstsw ax
test eax, 0x400
je 0x4822d3
call fcn.00642920
fsin
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fstp st(1)
fld dword [ebp + 0xac]
fcos
fnstsw ax
test eax, 0x400
je 0x4822f5
call fcn.00642920
fcos
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fstp st(5)
fld dword [ebp + 0xbc]
fcos
fnstsw ax
test eax, 0x400
je 0x482317
call fcn.00642920
fcos
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fstp st(4)
fld dword [0x68adf4]
fmul st(3)
fld dword [ebp + 0x17c]
fstp st(4)
fadd st(3)
fstp dword [esp]
fld st(0)
fmul st(2)
fmul dword [0x68adf4]
fld dword [ebp + 0x178]
fstp st(2)
fadd st(1)
fstp st(2)
fld st(3)
fmul st(5)
fmul dword [0x68adf4]
fld dword [ebp + 0x174]
fstp st(5)
fadd st(4)
fstp st(5)
fld st(4)
fsub st(4)
fstp dword [ebp + 0x168]
fld st(1)
fsub st(1)
fstp dword [ebp + 0x16c]
fld dword [esp]
fsub st(3)
fstp dword [ebp + 0x170]
fcompp
fcompp
lea ecx, [ebp + 0x168]
fstp st(0)
call fcn.004dfea0
fldz
fldz
fld dword [0x68afe4]
fmul dword [ebp + 0x170]
fstp st(1)
fld dword [0x68afe4]
fmul dword [ebp + 0x16c]
fstp st(2)
fld dword [0x68afe4]
fmul dword [ebp + 0x168]
fadd dword [ebp + 0x174]
fstp dword [ebp + 0x174]
fld dword [ebp + 0x178]
fadd st(2)
fstp dword [ebp + 0x178]
fld dword [ebp + 0x17c]
fadd st(1)
fstp dword [ebp + 0x17c]
fld dword [ebp + 0xac]
fstp dword [0x7e47e4]
fcompp
mov dword [ebp + 0x18c], 0
mov dword [ebp + 0x190], 0
mov dword [ebp + 0x194], 0x3f800000
lea ecx, [ebp + 0x168]
call fcn.004dfea0
fld dword [0x68add8]
fcomp dword [ebp + 0x168]
fnstsw ax
and ah, 0x44
cmp ah, 0x40
jne 0x48245d
fld dword [0x68add8]
fcomp dword [ebp + 0x16c]
fnstsw ax
and ah, 0x44
cmp ah, 0x40
jne 0x48245d
mov dword [ebp + 0x168], 0x38d1b717
mov dword [ebp + 0x16c], 0x38d1b717
lea eax, [ebp + 0x18c]
lea esi, [ebp + 0x168]
push eax
lea eax, [esp + 0xac]
push esi
push eax
call fcn.004e00b0
mov eax, dword [esp + 0xb4]
add esp, 0xc
mov edx, dword [esp + 0xac]
mov dword [esp + 0xb4], eax
lea ecx, [esp + 0xb4]
mov eax, dword [esp + 0xb0]
mov dword [esp + 0xbc], eax
mov dword [esp + 0xb8], edx
call fcn.004dfea0
lea eax, [ebp + 0x168]
lea ecx, [esp + 0xb4]
push eax
lea eax, [esp + 0xa0]
push ecx
push eax
call fcn.004e00b0
fldz
fld dword [esp + 0xa8]
fstp dword [ebp + 0x18c]
fld dword [esp + 0xac]
fstp dword [ebp + 0x190]
fld dword [esp + 0xb0]
fstp dword [ebp + 0x194]
fld dword [ebp + 0x168]
add esp, 0xc
fchs
fld dword [ebp + 0x16c]
fpatan
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
mov eax, dword [0x7e4e94]
fstp st(1)
fst dword [eax + 0x374]
mov eax, dword [0x7e4e94]
push eax
fst dword [eax + 0x378]
fst dword [esp]
mov ecx, dword [0x7e4e94]
add ecx, 4
fstp st(0)
call fcn.004bba80
mov ecx, dword [0x7e4e94]
add ecx, 4
call fcn.004df8f0
cmp word [ebp + 0xc], 0x27
jne 0x482655
push 0
call fcn.004ab060
pop ecx
mov ecx, eax
call fcn.004a9e20
test al, al
jne 0x48257c
push 0
call fcn.004ab060
pop ecx
mov ecx, eax
call fcn.004a9e90
test al, al
je 0x4825e6
push 0
call fcn.004ab060
pop ecx
mov ecx, eax
call fcn.004a9e20
test al, al
je 0x4825af
fld dword [0x68ae8c]
fmul dword [0x975424]
fadd dword [0x68adc4]
fmul dword [0x68b014]
fmul dword [ebp + 0xb4]
jmp 0x4825e0
push 0
call fcn.004ab060
pop ecx
mov ecx, eax
call fcn.004a9e90
test al, al
je 0x4825e6
fld dword [0x68ae8c]
fmul dword [0x975424]
fadd dword [0x68adc4]
fmul dword [0x68b014]
fdivr dword [ebp + 0xb4]
fstp dword [ebp + 0xb4]
mov dword [0x7e4734], 0xb4
mov dword [0x7e4730], 0xff
mov dword [0x7e472c], 0xb4
mov dword [0x7e4738], 1
mov dword [0x7e4748], 0x78
fld dword [ebp + 0xb4]
fcomp dword [0x68aec0]
fnstsw ax
test ah, 0x45
jne 0x482635
mov dword [ebp + 0xb4], 0x428c0000
fld dword [ebp + 0xb4]
fcomp dword [0x68ae28]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x482655
mov dword [ebp + 0xb4], 0x41700000
xor al, al
mov byte [ebp + 0xa], al
push dword [0x68ae9c]
push dword [0x8100bc]
call fcn.0064a860
pop ecx
pop ecx
add esp, 0xc0
pop ebp
pop edi
pop esi
pop ebx
ret 0x10