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

Disassembly:
push ebx
push esi
push edi
push ebp
mov ebp, ecx
sub esp, 0xf0
mov edi, dword [ebp + 0x1b0]
mov ebx, dword [esp + 0x104]
mov al, byte [edi + 0x50]
and al, 7
cmp al, 3
fldz
fldz
jne 0x47e449
cmp byte [0x7037b4], 0
jne 0x47ceb7
mov byte [0x7037b4], 1
mov dword [0x7037b0], 0
cmp byte [0x7037bc], 0
jne 0x47ced1
mov byte [0x7037bc], 1
mov dword [0x7037b8], 0
fld dword [0x68add8]
fstp dword [esp + 0x1c]
fld dword [0x68add8]
fstp dword [esp + 0x20]
fld dword [0x68add8]
cmp byte [0x7037c4], 0
mov byte [esp + 4], 0
fstp dword [esp + 0x24]
jne 0x47cf0b
xor eax, eax
mov byte [0x7037c4], 1
mov dword [0x7037c0], eax
cmp byte [0x7037c6], 0
jne 0x47cf22
xor al, al
mov byte [0x7037c6], 1
mov byte [0x7037c5], al
cmp byte [0x7037cc], 0
jne 0x47cf3c
mov byte [0x7037cc], 1
mov dword [0x7037c8], 0
cmp byte [0x7037d4], 0
jne 0x47cf56
mov byte [0x7037d4], 1
mov dword [0x7037d0], 0
cmp byte [0x7037dc], 0
jne 0x47cf70
mov byte [0x7037dc], 1
mov dword [0x7037d8], 0
cmp byte [0x7037e4], 0
jne 0x47cf8a
mov byte [0x7037e4], 1
mov dword [0x7037e0], 0
xor al, al
mov byte [ebp + 4], al
xor al, al
mov byte [ebp], al
xor al, al
mov byte [ebp + 1], al
mov dword [ebp + 0xb4], 0x428c0000
cmp byte [ebp + 0xa], 0
je 0x47d017
xor al, al
mov dword [0x7037b8], 0
mov byte [ebp + 0xb], al
xor al, al
mov byte [0x7037ae], al
xor al, al
mov byte [0x7037ad], al
mov dword [0x7037b0], 0
mov byte [ebp + 3], 1
xor al, al
fld dword [0x68add8]
fstp dword [esp + 0x1c]
mov dword [0x7037e0], 0
mov byte [0x7037c5], al
mov dword [0x7037d8], 0
mov dword [0x7037c8], 0
mov dword [0x7037d0], 0
mov dword [ebp + 0xc4], 0x43fa0000
fld dword [ebx]
fstp dword [esp + 0x54]
fld dword [ebx + 4]
fstp dword [esp + 0x58]
fld dword [ebx + 8]
fstp dword [esp + 0x5c]
fld dword [0x68add8]
fstp dword [esp + 0x28]
fld dword [0x68add8]
fstp dword [esp + 0x2c]
fld dword [0x68add8]
fstp dword [esp + 0x30]
mov ecx, dword [ebp + 0x1b0]
mov esi, dword [ecx + 0x394]
test esi, esi
je 0x47e420
mov al, byte [esi + 0x50]
and al, 7
cmp al, 2
je 0x47d06e
cmp al, 4
jne 0x47e420
add ecx, 0x34
lea eax, [esi + 0x34]
fld dword [ecx + 8]
fsub dword [eax + 8]
fstp st(1)
fld dword [ecx + 4]
fsub dword [eax + 4]
fstp st(2)
fld dword [ecx]
fsub dword [eax]
fstp dword [esp + 0xcc]
fld st(1)
fstp dword [esp + 0xd0]
fst dword [esp + 0xd4]
fld dword [esi + 0x84]
fadd dword [esi + 0x9c]
lea eax, [esp + 0xcc]
push eax
lea eax, [esp + 0xe8]
fstp st(1)
fld dword [esi + 0x80]
fadd dword [esi + 0x98]
fstp st(2)
fld dword [esi + 0x7c]
fadd dword [esi + 0x94]
fstp dword [esp + 0xdc]
fld st(1)
lea edx, [esp + 0xdc]
fstp dword [esp + 0xe0]
fst dword [esp + 0xe4]
fcompp
push edx
push eax
call fcn.004e00b0
fld dword [esp + 0xf0]
fadd dword [esi + 0x70]
add esp, 0xc
fadd dword [esi + 0x88]
fstp dword [esp + 0x28]
fld dword [esp + 0xe8]
fadd dword [esi + 0x74]
fadd dword [esi + 0x8c]
fstp dword [esp + 0x2c]
fld dword [esp + 0xec]
fadd dword [esi + 0x78]
fadd dword [esi + 0x90]
fstp dword [esp + 0x30]
fld dword [esp + 0x28]
fmul dword [0x975424]
fstp dword [esp + 0x28]
fld dword [esp + 0x2c]
fmul dword [0x975424]
fstp dword [esp + 0x2c]
fld dword [esp + 0x30]
fmul dword [0x975424]
fstp dword [esp + 0x30]
fld dword [ebp + 0x174]
fadd dword [esp + 0x28]
mov ecx, ebp
fstp dword [ebp + 0x174]
fld dword [ebp + 0x178]
fadd dword [esp + 0x2c]
fstp dword [ebp + 0x178]
fld dword [ebp + 0x17c]
fadd dword [esp + 0x30]
fstp dword [ebp + 0x17c]
fld dword [ebp + 0x174]
fstp dword [esp + 0x34]
fld dword [ebp + 0x178]
fstp dword [esp + 0x38]
fld dword [ebp + 0xf4]
fstp dword [esp + 0xc]
fld dword [esp + 0x5c]
fadd dword [ebp + 0x38]
lea eax, [esp + 0x78]
lea edi, [esp + 0x54]
push edi
push eax
fstp dword [esp + 0x64]
call fcn.00485ea5
lea esi, [esp + 0x78]
lea edi, [esp + 0x60]
movsd dword es:[edi], dword [esi]
fldz
fldz
fldz
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
fld dword [esp + 0x34]
fsub dword [esp + 0x54]
mov eax, dword [esp + 0x68]
mov dword [esp + 0x5c], eax
fstp st(2)
fld dword [esp + 0x38]
fsub dword [esp + 0x58]
fst st(1)
fmul st(0)
fld st(2)
fmul st(0)
faddp st(1)
fsqrt
fstp dword [esp + 0x48]
fld dword [esp + 0x48]
fstp st(3)
fld dword [0x68add8]
fcomp st(3)
fnstsw ax
and ah, 0x44
cmp ah, 0x40
je 0x47d24a
fld st(1)
fmul dword [esp + 0xc]
fdiv st(3)
fadd dword [esp + 0x54]
fstp dword [esp + 0x40]
fld st(0)
fmul dword [esp + 0xc]
fdiv st(3)
fadd dword [esp + 0x58]
fstp dword [esp + 0x44]
fld dword [esp + 0x5c]
fadd dword [esp + 0x30]
jmp 0x47d270
fld dword [esp + 0x54]
fadd dword [0x68ae2c]
fstp dword [esp + 0x40]
fld dword [esp + 0x58]
fadd dword [0x68ae2c]
fstp dword [esp + 0x44]
fld dword [esp + 0x5c]
fadd dword [0x68add8]
fstp dword [esp + 0x3c]
cmp byte [0x7e46ef], 0
je 0x47d2f7
cmp byte [ebp + 0xa], 0
je 0x47d2f7
fld dword [ebp + 0x9c]
fcos
fnstsw ax
test eax, 0x400
je 0x47d29b
call fcn.00642920
fcos
fstp dword [esp + 0x48]
fld dword [esp + 0x48]
fstp st(3)
fld dword [esp + 0xc]
fmul st(3)
fadd dword [esp + 0x54]
fstp dword [esp + 0x40]
fld dword [ebp + 0x9c]
fsin
fnstsw ax
test eax, 0x400
je 0x47d2cb
call fcn.00642920
fsin
fstp dword [esp + 0x48]
fld dword [esp + 0x48]
fstp st(3)
fld dword [esp + 0xc]
fmul st(3)
fld dword [esp + 0x58]
fstp st(4)
push eax
fadd st(3)
fstp dword [esp + 0x48]
fld dword [esp + 0x48]
fsub st(3)
fstp dword [esp]
fld dword [esp + 0x44]
jmp 0x47d30b
fld dword [ebp + 0x178]
fsub dword [esp + 0x58]
push eax
fstp dword [esp]
fld dword [ebp + 0x174]
fsub dword [esp + 0x58]
push eax
fstp dword [esp]
fcompp
fstp st(0)
call fcn.004a55e0
fstp dword [ebp + 0xbc]
pop ecx
pop ecx
cmp byte [0x7e46d2], 1
jne 0x47d344
mov byte [ebp + 3], 1
fld dword [0x68ae70]
fadd dword [esp + 0x108]
fstp dword [ebp + 0xbc]
call fcn.004bc1e0
test eax, eax
je 0x47d362
call fcn.004bc1e0
mov eax, dword [eax + 0x29c]
cmp eax, 2
jne 0x47d362
mov byte [esp + 4], 1
cmp byte [0x7e46d3], 1
fldz
jne 0x47d38c
mov byte [ebp + 3], 1
fld dword [esp + 0x108]
jmp 0x47d386
fld dword [ebp + 0xbc]
fsub dword [0x68ae74]
fstp dword [ebp + 0xbc]
fld dword [ebp + 0xbc]
fcomp dword [0x68ae70]
fnstsw ax
test ah, 5
je 0x47d37a
jmp 0x47d3b3
fld dword [ebp + 0xbc]
fadd dword [0x68ae74]
fstp dword [ebp + 0xbc]
fld dword [ebp + 0xbc]
fcomp dword [0x68ae78]
fnstsw ax
and ah, 5
cmp ah, 1
je 0x47d3a1
fld dword [0x7e47ec]
fstp st(1)
fld dword [0x68ae2c]
fcomp st(1)
fnstsw ax
and ah, 0x44
cmp ah, 0x40
jne 0x47d40d
mov eax, dword [ebp + 0x1b0]
mov ecx, dword [eax + 0x244]
mov edx, ecx
cmp edx, 0x3a
je 0x47d40d
cmp ecx, 0x38
je 0x47d40d
fld dword [ebp + 0xd8]
fstp dword [esp + 0x20]
fld dword [ebp + 0xe4]
jmp 0x47d465
fld dword [0x68ade4]
fcomp st(1)
fnstsw ax
and ah, 0x44
cmp ah, 0x40
je 0x47d431
fld dword [0x68ae2c]
fcomp st(1)
fnstsw ax
and ah, 0x44
cmp ah, 0x40
jne 0x47d443
fld dword [ebp + 0xdc]
fstp dword [esp + 0x20]
fld dword [ebp + 0xe8]
jmp 0x47d465
fld dword [0x68adf4]
fcomp st(1)
fnstsw ax
and ah, 0x44
cmp ah, 0x40
jne 0x47d469
fld dword [ebp + 0xe0]
fstp dword [esp + 0x20]
fld dword [ebp + 0xec]
fstp dword [esp + 0x24]
fld dword [ebp + 0x5c]
fcomp dword [0x68b040]
fnstsw ax
test ah, 0x45
jne 0x47d48d
fld dword [ebp + 0xf8]
fstp dword [esp + 0x20]
fld dword [ebp + 0xf0]
fstp dword [esp + 0x24]
cmp byte [ebp + 0xa], 0
je 0x47d4a7
fld dword [esp + 0x20]
fstp dword [0x7037c8]
fld dword [esp + 0x24]
fstp dword [0x7037d8]
fld dword [0x68ac78]
fstp dword [esp + 0x10]
fld dword [0x68ac7c]
fstp dword [esp + 0x14]
fld dword [0x68ac80]
mov byte [esp], 0
fstp dword [esp + 0x18]
mov esi, dword [ebp + 0x1b0]
movsx eax, byte [esi + 0x504]
lea eax, [eax + eax*2]
cmp dword [esi + eax*8 + 0x408], 0
je 0x47e427
push 0
fstp st(0)
call fcn.004ab060
pop ecx
mov ecx, eax
call fcn.004aa830
test eax, eax
je 0x47d500
mov byte [esp], 1
mov ecx, dword [ebp + 0x1b0]
mov edi, ecx
movsx eax, byte [edi + 0x504]
lea eax, [eax + eax*2]
cmp dword [edi + eax*8 + 0x408], 0x22
je 0x47d530
movsx eax, byte [ecx + 0x504]
lea eax, [eax + eax*2]
cmp dword [ecx + eax*8 + 0x408], 6
jne 0x47d534
mov byte [esp], 0
push 0
call fcn.004ab060
pop ecx
mov ecx, eax
call fcn.004a9f00
test al, al
fldz
fldz
fldz
je 0x47d556
cmp dword [0x978744], 0
je 0x47d560
cmp byte [esp], 0
je 0x47d62c
cmp byte [0x7037ae], 0
jne 0x47d5c8
fld dword [0x68ae70]
fadd dword [esp + 0x108]
fstp dword [0x7037b8]
mov byte [ebp + 0xb], 1
cmp byte [esp], 0
mov byte [0x7037ae], 1
je 0x47d71e
mov edx, dword [ebp + 0x1b0]
movsx eax, byte [edx + 0x504]
lea eax, [eax + eax*2]
mov edi, dword [edx + eax*8 + 0x408]
cmp edi, 0x21
jne 0x47d71e
fld dword [0x7037b8]
fsub dword [0x68ac94]
fstp dword [0x7037b8]
jmp 0x47d71e
fld dword [0x68add8]
fcomp dword [esp + 0x1c]
fnstsw ax
and ah, 0x44
cmp ah, 0x40
jne 0x47d623
fld dword [0x68ae70]
fadd dword [esp + 0x108]
cmp byte [esp], 0
fstp dword [0x7037b8]
je 0x47d623
mov esi, dword [ebp + 0x1b0]
movsx eax, byte [esi + 0x504]
lea eax, [eax + eax*2]
mov ecx, dword [esi + eax*8 + 0x408]
cmp ecx, 0x21
jne 0x47d623
fld dword [0x7037b8]
fsub dword [0x68ac94]
fstp dword [0x7037b8]
mov byte [ebp + 0xb], 1
jmp 0x47d71e
fld dword [0x7e4800]
fabs
fstp dword [esp + 0x48]
fld dword [esp + 0x48]
fstp st(3)
fld st(2)
fcomp dword [0x68ac74]
fnstsw ax
test ah, 0x45
jne 0x47d71e
cmp byte [ebp + 0xb], 0
jne 0x47d71e
fld dword [0x7e4800]
fcomp dword [0x68add8]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x47d67a
fld dword [esp + 0x108]
jmp 0x47d687
fld dword [0x68ae70]
fadd dword [esp + 0x108]
fstp dword [0x7037b8]
fld dword [ebp + 0x17c]
fsub dword [esp + 0x5c]
fstp st(1)
fld dword [ebp + 0x178]
fsub dword [esp + 0x58]
fstp st(2)
fld dword [ebp + 0x174]
fsub dword [esp + 0x54]
fstp st(3)
fld st(1)
fstp st(2)
fld st(1)
fmul st(0)
fld st(3)
fmul st(0)
faddp st(1)
fld st(1)
fstp st(4)
fld st(3)
fmul st(0)
faddp st(1)
fstp st(3)
fld st(2)
fsqrt
fstp dword [esp + 0x48]
fld dword [esp + 0x48]
fstp st(3)
fld st(2)
fcomp dword [0x68aeb8]
fnstsw ax
test ah, 0x45
jne 0x47d6f2
fld dword [0x68ae2c]
fdiv st(3)
jmp 0x47d6f8
fld dword [0x68af74]
fstp st(3)
fld st(2)
fmul dword [0x68ac84]
fstp dword [esp + 0x10]
fld st(2)
fmul dword [0x68ac88]
fstp dword [esp + 0x14]
fld st(2)
fmul dword [0x68ac8c]
fstp dword [esp + 0x18]
mov eax, dword [ebp + 0x1b0]
mov dword [esp + 0x84], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x88], 0
fld dword [eax + 0x84]
fadd dword [eax + 0x9c]
fstp st(2)
fld dword [eax + 0x80]
fadd dword [eax + 0x98]
fstp st(3)
fld dword [eax + 0x7c]
fadd dword [eax + 0x94]
lea eax, [esp + 0x84]
push eax
lea eax, [esp + 0xa0]
fstp dword [esp + 0x94]
fld st(2)
fstp dword [esp + 0x98]
fld st(1)
lea edx, [esp + 0x94]
fstp dword [esp + 0x9c]
fcompp
push edx
push eax
fstp st(0)
call fcn.004e00b0
mov eax, dword [ebp + 0x1b0]
add esp, 0xc
mov ecx, dword [eax + 0x24c]
test ecx, ecx
je 0x47d808
cmp ecx, 1
je 0x47d808
push 0
call fcn.004ab060
pop ecx
mov ecx, eax
call fcn.004a9f00
test al, al
je 0x47d7d8
cmp dword [0x978744], 0
je 0x47d808
cmp byte [esp], 0
jne 0x47d808
xor al, al
mov byte [ebp + 0xb], al
fld dword [0x7e4800]
fcomp dword [0x68ac74]
fnstsw ax
test ah, 4
jne 0x47d808
and ah, 0x45
test ah, 0x41
je 0x47d808
mov dword [ebp + 0xc0], 0
fldz
fldz
fldz
fld dword [ebp + 0xf4]
cmp byte [ebp + 0xb], 0
fstp st(2)
jne 0x47d841
fld dword [0x7e4800]
fabs
fstp dword [esp + 0x48]
fld dword [esp + 0x48]
fstp st(3)
fld st(2)
fcomp dword [0x68ac74]
fnstsw ax
test ah, 0x45
jne 0x47dbc9
mov byte [ebp + 4], 1
fld dword [0x7037b8]
fstp st(3)
jmp 0x47d857
fld dword [0x68ae74]
fsubp st(3)
fld st(2)
fcomp dword [0x68ae70]
fnstsw ax
test ah, 5
je 0x47d84f
fld st(2)
fstp st(3)
jmp 0x47d874
fld dword [0x68ae74]
faddp st(3)
fld st(2)
fcomp dword [0x68ae78]
fnstsw ax
and ah, 5
cmp ah, 1
je 0x47d86c
fld st(2)
fstp dword [0x7037b8]
jmp 0x47d8a2
fld dword [ebp + 0xbc]
fsub dword [0x68ae74]
fstp dword [ebp + 0xbc]
fld dword [ebp + 0xbc]
fcomp dword [0x68ae70]
fnstsw ax
test ah, 5
je 0x47d890
jmp 0x47d8c9
fld dword [ebp + 0xbc]
fadd dword [0x68ae74]
fstp dword [ebp + 0xbc]
fld dword [ebp + 0xbc]
fstp st(3)
fld st(2)
fcomp dword [0x68ae78]
fnstsw ax
and ah, 5
cmp ah, 1
je 0x47d8b7
fld dword [0x7037b8]
fsub st(3)
fstp st(3)
jmp 0x47d8f7
fld dword [0x68ae74]
fsubp st(3)
fld st(2)
fcomp dword [0x68ae70]
fnstsw ax
test ah, 5
je 0x47d8ef
jmp 0x47d910
fld dword [0x68ae74]
faddp st(3)
fld st(2)
fcomp dword [0x68ae78]
fnstsw ax
and ah, 5
cmp ah, 1
je 0x47d908
cmp byte [ebp + 0xb], 0
jne 0x47d964
mov di, word [0x7e4804]
cmp di, 0xffff
jne 0x47d944
fld st(2)
fcomp dword [0x68add8]
fnstsw ax
test ah, 0x45
je 0x47d95c
cmp di, 1
jne 0x47d964
fld st(2)
fcomp dword [0x68add8]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x47d964
fld dword [0x68aed8]
fmulp st(3)
fld st(2)
fmul dword [esp + 0x14]
fstp st(3)
fld st(2)
fcomp dword [esp + 0x18]
fnstsw ax
test ah, 0x45
jne 0x47d97f
fld dword [esp + 0x18]
jmp 0x47d997
fld dword [esp + 0x18]
fchs
fstp st(1)
fld st(2)
fcomp st(1)
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x47d999
fld st(0)
fstp st(3)
fld st(2)
fsub dword [ebp + 0xc0]
fst st(1)
fcomp dword [0x68add8]
fnstsw ax
test ah, 0x45
jne 0x47d9d2
fld st(0)
fabs
fstp dword [esp + 0x48]
fld dword [esp + 0x48]
fstp st(1)
fld dword [esp + 0x10]
fmul st(1)
fmul dword [0x975424]
fadd dword [ebp + 0xc0]
jmp 0x47d9f2
fld st(0)
fabs
fstp dword [esp + 0x48]
fld dword [esp + 0x48]
fstp st(1)
fld dword [esp + 0x10]
fmul st(1)
fmul dword [0x975424]
fsubr dword [ebp + 0xc0]
fstp dword [ebp + 0xc0]
fld st(2)
fcomp dword [0x68add8]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x47da1c
fld dword [ebp + 0xc0]
fcomp st(3)
fnstsw ax
and ah, 5
cmp ah, 1
je 0x47da3a
fld st(2)
fcomp dword [0x68add8]
fnstsw ax
test ah, 0x45
jne 0x47da42
fld dword [ebp + 0xc0]
fcomp st(3)
fnstsw ax
test ah, 0x45
jne 0x47da42
fld st(2)
fstp dword [ebp + 0xc0]
fld dword [0x68af74]
fcomp dword [0x975424]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x47da60
fld dword [0x68af74]
jmp 0x47da66
fld dword [0x975424]
fstp st(3)
fld dword [ebp + 0xc0]
fmul st(3)
fadd dword [ebp + 0xbc]
fstp dword [ebp + 0xbc]
cmp byte [ebp + 0xa], 1
jne 0x47daea
fld dword [0x7037b8]
fstp dword [ebp + 0xbc]
mov dword [ebp + 0xc0], 0
fld dword [ebp + 0xbc]
fcos
fnstsw ax
test eax, 0x400
je 0x47dab0
call fcn.00642920
fcos
fstp dword [esp + 0x48]
fld dword [esp + 0x48]
fstp st(3)
fld st(1)
fmul st(3)
fadd dword [esp + 0x54]
fstp dword [ebp + 0x174]
fld dword [ebp + 0xbc]
fsin
fnstsw ax
test eax, 0x400
je 0x47dae0
call fcn.00642920
fsin
fstp dword [esp + 0x48]
fld dword [esp + 0x48]
jmp 0x47db3a
fld dword [ebp + 0xbc]
fcos
fnstsw ax
test eax, 0x400
je 0x47db02
call fcn.00642920
fcos
fstp dword [esp + 0x48]
fld dword [esp + 0x48]
fstp st(3)
fld st(1)
fmul st(3)
fadd dword [esp + 0x54]
fstp dword [ebp + 0x174]
fld dword [ebp + 0xbc]
fsin
fnstsw ax
test eax, 0x400
je 0x47db32
call fcn.00642920
fsin
fstp dword [esp + 0x48]
fld dword [esp + 0x48]
fstp st(3)
fld st(1)
fmul st(3)
fadd dword [esp + 0x58]
fstp dword [ebp + 0x178]
fld dword [0x7037b8]
fsub dword [ebp + 0xbc]
fstp st(3)
jmp 0x47db62
fld dword [0x68ae74]
fsubp st(3)
fld st(2)
fcomp dword [0x68ae70]
fnstsw ax
test ah, 5
je 0x47db5a
jmp 0x47db7b
fld dword [0x68ae74]
faddp st(3)
fld st(2)
fcomp dword [0x68ae78]
fnstsw ax
and ah, 5
cmp ah, 1
je 0x47db73
fld st(2)
fabs
fstp dword [esp + 0x48]
fld dword [esp + 0x48]
fstp st(3)
fld st(2)
fcomp dword [0x68b044]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x47dbc9
cmp byte [ebp + 1], 0
jne 0x47dbc9
xor al, al
mov byte [0x7037ae], al
xor al, al
mov byte [ebp + 0xb], al
mov dword [ebp + 0xc0], 0
cmp byte [0x7e46d2], 1
je 0x47dc23
cmp byte [0x7e46d3], 1
je 0x47dc23
cmp byte [esp + 4], 0
jne 0x47dc23
cmp byte [esp + 4], 0
jne 0x47dc23
cmp byte [ebp + 0xb], 0
jne 0x47dc23
cmp byte [0x7e46ef], 0
je 0x47dbfe
cmp byte [ebp + 0xa], 0
jne 0x47dc23
fld dword [0x7e4800]
fabs
fstp dword [esp + 0x48]
fld dword [esp + 0x48]
fstp st(3)
fld st(2)
fcomp dword [0x68ac74]
fnstsw ax
test ah, 0x45
jne 0x47de1f
cmp byte [0x7e46ef], 0
je 0x47dc98
fld dword [ebp + 0x9c]
fstp dword [ebp + 0xbc]
fld dword [ebp + 0x9c]
fcos
fnstsw ax
test eax, 0x400
je 0x47dc50
call fcn.00642920
fcos
fstp dword [esp + 0x48]
fld dword [esp + 0x48]
fstp st(3)
fld st(1)
fmul st(3)
fadd dword [esp + 0x54]
fstp dword [ebp + 0x174]
fld dword [ebp + 0x9c]
fsin
fnstsw ax
test eax, 0x400
je 0x47dc80
call fcn.00642920
fsin
fstp dword [esp + 0x48]
fld dword [esp + 0x48]
fstp st(3)
fld st(1)
fmul st(3)
fadd dword [esp + 0x58]
fstp dword [ebp + 0x178]
cmp byte [0x7e46d2], 1
jne 0x47dd14
fld dword [0x68ae70]
fadd dword [esp + 0x108]
fstp dword [ebp + 0xbc]
fld dword [ebp + 0xbc]
fcos
fnstsw ax
test eax, 0x400
je 0x47dccc
call fcn.00642920
fcos
fstp dword [esp + 0x48]
fld dword [esp + 0x48]
fstp st(3)
fld st(1)
fmul st(3)
fadd dword [esp + 0x54]
fstp dword [ebp + 0x174]
fld dword [ebp + 0xbc]
fsin
fnstsw ax
test eax, 0x400
je 0x47dcfc
call fcn.00642920
fsin
fstp dword [esp + 0x48]
fld dword [esp + 0x48]
fstp st(3)
fld st(1)
fmul st(3)
fadd dword [esp + 0x58]
fstp dword [ebp + 0x178]
cmp byte [0x7e46d3], 1
jne 0x47dd8a
fld dword [esp + 0x108]
fstp dword [ebp + 0xbc]
fld dword [ebp + 0xbc]
fcos
fnstsw ax
test eax, 0x400
je 0x47dd42
call fcn.00642920
fcos
fstp dword [esp + 0x48]
fld dword [esp + 0x48]
fstp st(3)
fld st(1)
fmul st(3)
fadd dword [esp + 0x54]
fstp dword [ebp + 0x174]
fld dword [ebp + 0xbc]
fsin
fnstsw ax
test eax, 0x400
je 0x47dd72
call fcn.00642920
fsin
fstp dword [esp + 0x48]
fld dword [esp + 0x48]
fstp st(3)
fld st(1)
fmul st(3)
fadd dword [esp + 0x58]
fstp dword [ebp + 0x178]
cmp byte [esp + 4], 0
je 0x47de47
fld dword [0x68ae70]
fadd dword [esp + 0x108]
fstp dword [ebp + 0xbc]
fld dword [ebp + 0xbc]
fcos
fnstsw ax
test eax, 0x400
je 0x47ddc0
call fcn.00642920
fcos
fstp dword [esp + 0x48]
fld dword [esp + 0x48]
fstp st(3)
fld st(1)
fmul st(3)
fadd dword [esp + 0x54]
fstp dword [ebp + 0x174]
fld dword [ebp + 0xbc]
fsin
fnstsw ax
test eax, 0x400
je 0x47ddf0
call fcn.00642920
fsin
fstp dword [esp + 0x48]
fld dword [esp + 0x48]
fstp st(3)
fld st(1)
fmul st(3)
fadd dword [esp + 0x58]
fstp dword [ebp + 0x178]
mov dword [ebp + 0x6c], 0
mov dword [ebp + 0x54], 0
mov dword [ebp + 0x58], 0
jmp 0x47de47
fld dword [esp + 0x40]
fstp dword [ebp + 0x174]
fld dword [esp + 0x44]
fstp dword [ebp + 0x178]
fld dword [esp + 0x3c]
fstp dword [ebp + 0x17c]
mov dword [ebp + 0xc0], 0
fld dword [esp + 0x3c]
fstp dword [ebp + 0x17c]
fld dword [esp + 0x5c]
fsub dword [ebp + 0x17c]
fstp st(2)
fld dword [esp + 0x58]
fsub dword [ebp + 0x178]
fstp st(3)
fld dword [esp + 0x54]
fsub dword [ebp + 0x174]
fstp dword [ebp + 0x168]
fld st(2)
fstp dword [ebp + 0x16c]
fld st(1)
fstp dword [ebp + 0x170]
fcompp
lea ecx, [ebp + 0x168]
fstp st(0)
call fcn.004dfea0
push 0
push dword [0x68afbc]
push dword [0x68aebc]
push 0x7037d0
push 0x7037c8
push dword [esp + 0x34]
call fcn.004864e3
add esp, 0x18
push 0
push dword [0x68afbc]
push dword [0x68aebc]
push 0x7037e0
push 0x7037d8
push dword [esp + 0x38]
call fcn.004864e3
fldz
fldz
fldz
fldz
fld dword [ebp + 0x168]
fmul dword [0x7037c8]
add esp, 0x18
fsubr dword [ebp + 0x174]
fstp dword [ebp + 0x174]
fld dword [ebp + 0x16c]
fmul dword [0x7037c8]
fsubr dword [ebp + 0x178]
fstp dword [ebp + 0x178]
fld dword [ebp + 0x17c]
fadd dword [0x7037d8]
fstp dword [ebp + 0x17c]
fld dword [ebp + 0x7c]
fstp st(2)
fld dword [ebp + 0x6c]
fstp st(4)
fld st(3)
fcomp st(2)
fnstsw ax
test ah, 0x45
jne 0x47df43
fld st(3)
jmp 0x47df45
fld st(1)
fstp st(3)
fld dword [ebx + 8]
fadd st(3)
fsub dword [ebp + 0x17c]
fstp st(4)
fld dword [ebp + 0x54]
fstp st(1)
fld st(3)
fcomp st(1)
fnstsw ax
test ah, 0x45
jne 0x47dfc5
fld st(2)
fcomp st(2)
fnstsw ax
and ah, 0x44
cmp ah, 0x40
jne 0x47df91
fld st(2)
fcomp st(1)
fnstsw ax
test ah, 0x45
jne 0x47df91
lea edi, [ebp + 0x58]
push 0
push dword [0x68afb4]
push dword [0x68aebc]
push edi
jmp 0x47dfa3
lea esi, [ebp + 0x58]
push 0
push dword [0x68af2c]
push dword [0x68aebc]
push esi
lea eax, [ebp + 0x54]
fld st(3)
push eax
push eax
fstp dword [esp]
fcompp
fcompp
call fcn.004864e3
add esp, 0x18
xor al, al
mov byte [0x7037c5], al
jmp 0x47e439
cmp byte [0x7037c5], 0
jne 0x47dfe4
mov eax, dword [0x974b2c]
mov byte [0x7037c5], 1
mov dword [0x7037c0], eax
jmp 0x47e430
mov eax, dword [0x974b2c]
sub eax, dword [0x7037c0]
test eax, eax
je 0x47e430
fld st(3)
fcomp dword [0x68add8]
fnstsw ax
test ah, 0x45
jne 0x47e033
lea eax, [ebp + 0x54]
lea ecx, [ebp + 0x58]
fld st(3)
push 0
push dword [0x68ae80]
push dword [0x68aebc]
push ecx
push eax
push eax
fstp dword [esp]
fcompp
fcompp
call fcn.004864e3
add esp, 0x18
jmp 0x47e439
fcompp
fcompp
lea eax, [ebp + 0x54]
lea edx, [ebp + 0x58]
push 0
push dword [0x68ae80]
push dword [0x68aebc]
push edx
push eax
push dword [0x68add8]
call fcn.004864e3
add esp, 0x18
fldz
fld dword [ebp + 0x17c]
fadd dword [ebp + 0x54]
fstp dword [ebp + 0x17c]
fld dword [ebp + 0x54]
fmul dword [0x68ae08]
fstp st(1)
fld dword [0x68ae2c]
fcomp st(1)
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x47e091
fld dword [0x68ae2c]
fstp st(1)
fld dword [esp + 0x5c]
fadd st(1)
fstp dword [esp + 0x5c]
fld dword [esp + 0x54]
fstp dword [ebp + 0x120]
fld dword [esp + 0x58]
fstp dword [ebp + 0x124]
fld dword [esp + 0x5c]
fstp dword [ebp + 0x128]
lea esi, [ebp + 0x174]
lea edi, [esp + 0x6c]
movsd dword es:[edi], dword [esi]
fstp st(0)
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [ebp + 0x174]
lea edi, [esp + 0x54]
push dword [ebp + 0xb4]
push eax
lea eax, [esp + 0x74]
mov ecx, 0x7e4688
push edi
push eax
call fcn.00473aa4
fldz
fldz
fldz
fldz
fldz
fld dword [esp + 0x5c]
fsub dword [ebp + 0x17c]
fstp st(3)
fld dword [esp + 0x58]
fsub dword [ebp + 0x178]
fstp st(4)
fld dword [esp + 0x54]
fsub dword [ebp + 0x174]
fstp st(5)
fld st(3)
fstp st(4)
fld st(3)
fmul st(0)
fld st(5)
fmul st(0)
faddp st(1)
fld st(3)
fstp st(6)
fld st(5)
fmul st(0)
faddp st(1)
fstp st(5)
fld st(4)
fsqrt
fstp dword [esp + 0x48]
fld dword [esp + 0x48]
fstp st(5)
fld st(4)
fcomp dword [ebp + 0xc4]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x47e15e
fld st(4)
fstp dword [ebp + 0xc4]
jmp 0x47e440
fld dword [0x975424]
fld dword [0x68ac90]
ftst
fnstsw ax
and ah, 0x45
jne 0x47e18b
fyl2x
fld st(0)
frndint
fxch st(1)
fsub st(1)
f2xm1
fadd dword [0x68ae2c]
fscale
fstp st(1)
jmp 0x47e190
call fcn.00649a40
fstp dword [esp + 0x48]
fld dword [esp + 0x48]
fstp st(4)
fld dword [0x68ae2c]
fsub st(4)
fmul st(5)
fld st(4)
fmul dword [ebp + 0xc4]
faddp st(1)
fstp dword [ebp + 0xc4]
fld st(4)
fcomp dword [0x68ae9c]
fnstsw ax
test ah, 0x45
jne 0x47e231
fld dword [ebp + 0xc4]
fstp st(2)
fld dword [esp + 0x5c]
fstp st(4)
fld dword [ebp + 0x17c]
fsub st(4)
fstp st(1)
fld dword [esp + 0x58]
fstp st(3)
fld dword [ebp + 0x178]
fsub st(3)
fstp dword [esp + 8]
fld dword [0x68ae2c]
fdiv st(5)
fstp st(5)
fld st(1)
fmul st(1)
fmul st(5)
fstp st(1)
fld dword [ebp + 0x174]
fsub dword [esp + 0x54]
fmul st(2)
fmul st(5)
fadd dword [esp + 0x54]
fstp dword [ebp + 0x174]
fld st(1)
fmul dword [esp + 8]
fmul st(5)
fadd st(3)
fstp dword [ebp + 0x178]
fld st(3)
fadd st(1)
fstp dword [ebp + 0x17c]
fld dword [ebp + 0xc4]
fsub dword [0x68ab14]
mov ebx, dword [0x8100bc]
fstp st(5)
fld st(4)
fcomp dword [ebx + 0x80]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x47e440
fld st(4)
fcomp dword [0x68ab18]
fnstsw ax
test ah, 0x45
jne 0x47e26e
fld st(4)
jmp 0x47e274
fld dword [0x68ab18]
fstp st(5)
push eax
fld st(4)
fstp dword [esp]
fcompp
fcompp
push ebx
fstp st(0)
call fcn.0064a860
fldz
fldz
pop ecx
pop ecx
fld dword [esp + 0x5c]
fsub dword [ebp + 0x17c]
fstp st(1)
fld dword [esp + 0x58]
fsub dword [ebp + 0x178]
fstp st(2)
fld dword [esp + 0x54]
fsub dword [ebp + 0x174]
fstp dword [ebp + 0x168]
fld st(1)
fstp dword [ebp + 0x16c]
fst dword [ebp + 0x170]
fld dword [ebp + 0x16c]
fstp st(2)
fld st(1)
fmul st(0)
fld dword [ebp + 0x168]
fstp st(3)
fld st(2)
fmul st(0)
faddp st(1)
fsqrt
fstp dword [esp + 0x48]
fld dword [esp + 0x48]
fstp st(2)
fld st(1)
fstp dword [ebp + 0x88]
fld dword [ebp + 0x88]
fstp dword [ebp + 0x78]
fcompp
lea ecx, [ebp + 0x168]
call fcn.004dfea0
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 0x47e371
fld dword [0x68add8]
fcomp dword [ebp + 0x16c]
fnstsw ax
and ah, 0x44
cmp ah, 0x40
jne 0x47e371
mov dword [ebp + 0x168], 0x38d1b717
mov dword [ebp + 0x16c], 0x38d1b717
lea eax, [ebp + 0x18c]
lea esi, [ebp + 0x168]
push eax
lea eax, [esp + 0xb8]
push esi
push eax
call fcn.004e00b0
mov ecx, dword [esp + 0xc4]
mov eax, dword [esp + 0xc0]
mov dword [esp + 0xd0], ecx
add esp, 0xc
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0xbc]
lea ecx, [esp + 0xc0]
mov dword [esp + 0xc8], eax
call fcn.004dfea0
lea eax, [ebp + 0x168]
lea edx, [esp + 0xc0]
push eax
lea eax, [esp + 0xac]
push edx
push eax
call fcn.004e00b0
fld dword [esp + 0xb4]
fstp dword [ebp + 0x18c]
fld dword [esp + 0xb8]
xor al, al
add esp, 0xc
fstp dword [ebp + 0x190]
fld dword [esp + 0xb0]
fstp dword [ebp + 0x194]
mov byte [0x7e46d2], al
xor al, al
mov byte [0x7e46d3], al
xor al, al
mov byte [ebp + 0xa], al
jmp 0x47e44b
fcompp
jmp 0x47d163
fstp st(0)
jmp 0x47d500
fcompp
fstp st(0)
jmp 0x47e05d
fldz
jmp 0x47e05d
fcompp
fstp st(0)
jmp 0x47e28e
fcompp
add esp, 0xf0
pop ebp
pop edi
pop esi
pop ebx
ret 0x10