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

Disassembly:
push ebx
push esi
push edi
push ebp
sub esp, 0x1c0
cmp byte [0x7038ca], 0
mov ebx, ecx
jne 0x46c5af
mov byte [0x7038ca], 1
mov byte [0x7038c9], 1
cmp byte [0x7038d0], 0
mov dword [esp + 0x98], 0
jne 0x46c5d4
mov byte [0x7038d0], 1
mov dword [0x7038cc], 0x3fa66666
cmp byte [0x7038d2], 0
mov byte [esp], 0
jne 0x46c5ef
xor al, al
mov byte [0x7038d2], 1
mov byte [0x7038d1], al
mov ebp, 0x7e46b8
xor al, al
mov byte [0x7e46e2], al
mov eax, ebp
fld dword [eax]
fstp dword [ebx + 0x718]
fld dword [eax + 4]
fstp dword [ebx + 0x71c]
fld dword [eax + 8]
fstp dword [ebx + 0x720]
cmp byte [ebx + 0x5b], 1
je 0x46c62c
cmp byte [ebx + 0x64], 1
je 0x46c62c
cmp dword [ebx + 0xd0], 2
jne 0x46c633
mov ecx, ebx
call fcn.0046a5a3
cmp dword [ebx + 0x80c], 0
jne 0x46c647
call fcn.004bc120
mov dword [ebx + 0x80c], eax
movzx ecx, byte [ebx + 0x76]
imul ecx, ecx, 0x1cc
cmp dword [ebx + ecx + 0x338], 0
jne 0x46c668
mov eax, dword [ebx + 0x80c]
mov dword [ebx + ecx + 0x338], eax
movzx eax, byte [ebx + 0x76]
inc eax
cdq
and eax, 1
xor eax, edx
sub eax, edx
imul eax, eax, 0x1cc
cmp dword [ebx + eax + 0x338], 0
jne 0x46c692
mov edi, dword [ebx + 0x80c]
mov dword [ebx + eax + 0x338], edi
mov ecx, ebx
call fcn.004700e7
cmp byte [ebx + 0x86b], 0
je 0x46c6a9
mov ecx, ebx
call fcn.0046c278
cmp byte [ebx + 0x86c], 0
je 0x46c6b9
mov ecx, ebx
call fcn.0046c10d
cmp byte [ebx + 0x6d], 0
je 0x46c71d
cmp byte [ebx + 0x6c], 0
jne 0x46c6f5
movzx eax, byte [ebx + 0x76]
fld dword [0x68ae84]
imul eax, eax, 0x73
fmul dword [ebx + eax*4 + 0x23c]
fstp dword [ebx + 0x138]
mov dword [ebx + 0x180], 0x3f800000
mov dword [ebx + 0x154], 0x41f00000
jmp 0x46c71d
xor dl, dl
xor al, al
mov byte [ebx + 0x6c], dl
mov byte [ebx + 0x6d], al
mov dword [ebx + 0x154], 0
mov dword [ebx + 0x138], 0
mov dword [ebx + 0x180], 0
push dword [0x68adc8]
push dword [0x8100bc]
call fcn.0064a860
pop ecx
pop ecx
movzx ecx, byte [ebx + 0x76]
imul ecx, ecx, 0x1cc
fld dword [ebx + ecx + 0x2f0]
fld dword [0x68add8]
fcomp st(1)
fnstsw ax
and ah, 0x44
cmp ah, 0x40
jne 0x46c779
fld dword [0x68add8]
fcomp dword [ebx + ecx + 0x2f4]
fnstsw ax
and ah, 0x44
cmp ah, 0x40
jne 0x46c779
fld dword [0x68add8]
fstp dword [esp + 0x1c]
jmp 0x46e0f9
push dword [ebx + ecx + 0x2f4]
push eax
fst dword [esp]
fstp st(0)
call fcn.004a55e0
fstp dword [esp + 0x24]
pop ecx
pop ecx
movzx ecx, byte [ebx + 0x76]
imul ecx, ecx, 0x1cc
add ecx, ebx
add ecx, 0x188
call fcn.0048351a
movzx ecx, byte [ebx + 0x76]
imul ecx, ecx, 0x1cc
add ecx, ebx
add ecx, 0x188
call fcn.004745c6
movzx edx, byte [ebx + 0x76]
imul edx, edx, 0x1cc
fld dword [ebx + edx + 0x2f0]
fld dword [0x68add8]
fcomp st(1)
fnstsw ax
and ah, 0x44
cmp ah, 0x40
jne 0x46c808
fld dword [0x68add8]
fcomp dword [ebx + edx + 0x2f4]
fnstsw ax
and ah, 0x44
cmp ah, 0x40
jne 0x46c808
fld dword [0x68add8]
fstp dword [esp + 0x20]
jmp 0x46e100
push dword [ebx + edx + 0x2f4]
push eax
fst dword [esp]
fstp st(0)
call fcn.004a55e0
fstp dword [esp + 0x28]
pop ecx
pop ecx
cmp byte [ebx + 0x89], 0
je 0x46c852
mov eax, dword [ebx + 0x98]
add eax, dword [ebx + 0x9c]
cmp dword [0x974b2c], eax
jbe 0x46c852
xor al, al
mov byte [ebx + 0x89], al
xor al, al
mov byte [ebx + 0x869], al
xor al, al
mov byte [ebx + 0x6a], al
cmp byte [ebx + 0x61], 0
je 0x46c86b
push dword [ebx + 0x13c]
push dword [0x8100bc]
call fcn.0064a860
pop ecx
pop ecx
fldz
fldz
fldz
fldz
fldz
fld dword [esp + 0x20]
fsub dword [esp + 0x1c]
fstp st(5)
jmp 0x46c889
fld dword [0x68ae74]
fsubp st(5)
fld st(4)
fcomp dword [0x68ae70]
fnstsw ax
test ah, 5
je 0x46c881
jmp 0x46c8a2
fld dword [0x68ae74]
faddp st(5)
fld st(4)
fcomp dword [0x68ae78]
fnstsw ax
and ah, 5
cmp ah, 1
je 0x46c89a
fld st(4)
fabs
fstp dword [esp + 0x50]
fld dword [esp + 0x50]
fstp st(5)
fld st(4)
fcomp dword [0x68ae84]
fnstsw ax
test ah, 0x45
jne 0x46c8d5
mov byte [ebx + 0x5a], 1
movzx eax, byte [ebx + 0x76]
imul eax, eax, 0x1cc
cmp dword [ebx + eax + 0x1b0], 3
je 0x46c8fe
mov esi, dword [ebx + 0x80c]
mov cl, byte [esi + 0x50]
and cl, 7
cmp cl, 2
jne 0x46c8fe
mov byte [esp], 1
cmp byte [ebx + 0x89], 0
je 0x46c911
cmp byte [esp], 0
je 0x46cabe
lea edi, [eax + ebx + 0x2fc]
fld dword [edi]
fstp dword [esp + 0x5c]
fld dword [edi + 4]
fstp dword [esp + 0x60]
fld dword [edi + 8]
fstp dword [esp + 0x64]
movzx eax, byte [ebx + 0x76]
imul eax, eax, 0x1cc
add eax, ebx
add eax, 0x314
fld dword [eax]
fstp dword [esp + 0x74]
fld dword [eax + 4]
fstp dword [esp + 0x78]
fld dword [eax + 8]
fstp dword [esp + 0x7c]
cmp byte [ebx + 0x5d], 0
je 0x46ca4d
fld dword [esp + 0x5c]
fadd dword [ebx + 0x7cc]
fstp dword [esp + 0x5c]
fld dword [esp + 0x60]
fadd dword [ebx + 0x7d0]
fstp dword [esp + 0x60]
fld dword [esp + 0x64]
fadd dword [ebx + 0x7d4]
fstp dword [esp + 0x64]
movzx eax, byte [ebx + 0x76]
imul eax, eax, 0x1cc
add eax, ebx
add eax, 0x2a8
fld dword [eax + 8]
fsub dword [esp + 0x64]
fstp st(4)
fld dword [eax + 4]
fsub dword [esp + 0x60]
fstp st(5)
fld dword [eax]
fsub dword [esp + 0x5c]
fstp dword [esp + 0x68]
fld st(4)
fstp dword [esp + 0x6c]
fld st(3)
fstp dword [esp + 0x70]
fcompp
fcompp
lea ecx, [esp + 0x68]
fstp st(0)
call fcn.004dfea0
lea eax, [esp + 0x74]
lea edx, [esp + 0x68]
push eax
lea eax, [esp + 0x110]
push edx
push eax
call fcn.004e00b0
lea esi, [esp + 0x118]
lea edi, [esp + 0xa8]
movsd dword es:[edi], dword [esi]
add esp, 0xc
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x9c]
call fcn.004dfea0
lea eax, [esp + 0x68]
lea edi, [esp + 0x9c]
push eax
lea eax, [esp + 0x11c]
push edi
push eax
call fcn.004e00b0
mov eax, dword [esp + 0x124]
add esp, 0xc
mov esi, dword [esp + 0x11c]
mov dword [esp + 0x74], eax
lea ecx, [esp + 0x74]
mov eax, dword [esp + 0x120]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x78], esi
call fcn.004dfea0
jmp 0x46ca9d
movzx eax, byte [ebx + 0x76]
imul eax, eax, 0x1cc
add eax, ebx
add eax, 0x2f0
fld dword [eax]
fstp dword [esp + 0x68]
fld dword [eax + 4]
fstp dword [esp + 0x6c]
fld dword [eax + 8]
fstp dword [esp + 0x70]
movzx eax, byte [ebx + 0x76]
imul eax, eax, 0x1cc
add eax, ebx
add eax, 0x314
fld dword [eax]
fstp dword [esp + 0x74]
fld dword [eax + 4]
fstp dword [esp + 0x78]
fld dword [eax + 8]
fstp dword [esp + 0x7c]
fcompp
fcompp
fstp st(0)
movzx eax, byte [ebx + 0x76]
imul eax, eax, 0x73
fld dword [ebx + eax*4 + 0x23c]
xor al, al
fstp dword [esp + 0x98]
mov byte [0x7038d1], al
jmp 0x46d73a
mov ecx, dword [0x974b2c]
mov edx, dword [ebx + 0x9c]
sub ecx, dword [ebx + 0x98]
cmp ecx, edx
jb 0x46cad6
mov ecx, edx
mov eax, edx
mov dword [esp + 0x50], edx
mov dword [esp + 0x50], eax
mov eax, ecx
mov dword [esp + 0x54], 0
fild qword [esp + 0x50]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], 0
mov eax, dword [ebx + 0xa0]
fild qword [esp + 0x50]
mov dword [esp + 0x50], eax
mov eax, ecx
mov dword [esp + 0x54], 0
fdivrp st(1)
fstp st(5)
fild qword [esp + 0x50]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], 0
fild qword [esp + 0x50]
fdivrp st(1)
fstp st(4)
fld st(3)
fcomp dword [0x68add8]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x46cb50
fld dword [0x68add8]
jmp 0x46cb65
fld st(3)
fcomp dword [0x68ae2c]
fnstsw ax
test ah, 0x45
jne 0x46cb67
fld dword [0x68ae2c]
fstp st(4)
fld dword [ebx + 0x928]
fstp st(3)
fld st(3)
fcomp st(3)
fnstsw ax
test ah, 4
jne 0x46cc49
and ah, 0x45
test ah, 0x41
je 0x46cc49
fld dword [0x68add8]
fcomp st(3)
fnstsw ax
and ah, 0x44
cmp ah, 0x40
jne 0x46cba4
fld dword [0x68add8]
jmp 0x46cbaa
fld st(2)
fsub st(4)
fdiv st(3)
fstp st(4)
fld dword [0x68ae70]
fmul st(4)
fcos
fnstsw ax
test eax, 0x400
je 0x46cbc6
call fcn.00642920
fcos
fstp dword [esp + 0x50]
fld dword [esp + 0x50]
fstp st(4)
fld dword [0x68ae08]
fmul st(4)
fsubr dword [0x68ae08]
fstp st(2)
fld st(1)
fmul dword [ebx + 0x798]
fadd dword [ebx + 0x774]
fstp st(3)
fld st(1)
fmul dword [ebx + 0x794]
fadd dword [ebx + 0x770]
fstp st(4)
fld st(1)
fmul dword [ebx + 0x790]
fadd dword [ebx + 0x76c]
fstp dword [ebx + 0x7b4]
fld st(3)
fstp dword [ebx + 0x7b8]
fld st(2)
fstp dword [ebx + 0x7bc]
fld dword [ebx + 0x7b4]
fstp dword [esp + 0x8c]
fld dword [ebx + 0x7b8]
fstp dword [esp + 0x90]
fld dword [ebx + 0x7bc]
jmp 0x46cd5a
fld st(3)
fcomp st(3)
fnstsw ax
test ah, 0x45
jne 0x46cd61
fld dword [ebx + 0x92c]
fstp st(2)
fld dword [0x68add8]
fcomp st(2)
fnstsw ax
and ah, 0x44
cmp ah, 0x40
jne 0x46cc7a
fld dword [0x68ae2c]
jmp 0x46cc80
fld st(3)
fsub st(3)
fdiv st(2)
fstp st(4)
fld dword [0x68ae70]
fmul st(4)
fcos
fnstsw ax
test eax, 0x400
je 0x46cc9c
call fcn.00642920
fcos
fstp dword [esp + 0x50]
fld dword [esp + 0x50]
fstp st(4)
fld dword [0x68ae08]
fmul st(4)
fsubr dword [0x68ae08]
fstp st(1)
fld dword [0x68add8]
fcomp dword [ebx + 0x928]
fnstsw ax
and ah, 0x44
cmp ah, 0x40
jne 0x46ccf0
fld dword [ebx + 0x76c]
fstp dword [ebx + 0x7b4]
fld dword [ebx + 0x770]
fstp dword [ebx + 0x7b8]
fld dword [ebx + 0x774]
fstp dword [ebx + 0x7bc]
movzx edx, byte [ebx + 0x76]
fld dword [ebx + 0x7bc]
fstp st(4)
imul edx, edx, 0x1cc
add edx, ebx
add edx, 0x2a8
fld dword [edx + 8]
fsub st(4)
fstp dword [esp + 0x18]
fld dword [ebx + 0x7b8]
fstp st(3)
fld dword [edx + 4]
fsub st(3)
fstp dword [esp + 0x14]
fld dword [ebx + 0x7b4]
fstp st(2)
fld dword [edx]
fsub st(2)
fstp dword [esp + 0xc]
fld st(0)
fmul dword [esp + 0xc]
fadd st(2)
fstp dword [esp + 0x8c]
fld st(0)
fmul dword [esp + 0x14]
fadd st(3)
fstp dword [esp + 0x90]
fld st(0)
fmul dword [esp + 0x18]
fadd st(4)
fstp dword [esp + 0x94]
fld dword [ebx + 0x920]
fstp st(4)
fld st(4)
fcomp st(4)
fnstsw ax
test ah, 4
jne 0x46d1ab
and ah, 0x45
test ah, 0x41
je 0x46d1ab
fld dword [0x68add8]
fcomp st(4)
fnstsw ax
and ah, 0x44
cmp ah, 0x40
jne 0x46cd9e
fld dword [0x68add8]
jmp 0x46cda4
fld st(3)
fsub st(5)
fdiv st(4)
fstp st(5)
fld dword [0x68ae70]
fmul st(5)
fcos
fnstsw ax
test eax, 0x400
je 0x46cdc0
call fcn.00642920
fcos
fstp dword [esp + 0x50]
fld dword [esp + 0x50]
fstp st(5)
fld dword [0x68ae08]
fmul st(5)
fsubr dword [0x68ae08]
fstp dword [esp + 0x4c]
fld dword [esp + 0x4c]
fmul dword [ebx + 0x78c]
fadd dword [ebx + 0x768]
fstp st(4)
fld dword [esp + 0x4c]
fmul dword [ebx + 0x788]
fadd dword [ebx + 0x764]
fstp st(5)
fld dword [esp + 0x4c]
fmul dword [ebx + 0x784]
fadd dword [ebx + 0x760]
fstp dword [ebx + 0x7a8]
fld st(4)
fstp dword [ebx + 0x7ac]
fld st(3)
fstp dword [ebx + 0x7b0]
cmp byte [ebx + 0x5b], 0
je 0x46e107
fld dword [ebx + 0x7a8]
fsub dword [esp + 0x8c]
lea edi, [esp + 0xa8]
fstp dword [esp + 0x124]
fld dword [ebx + 0x7ac]
fsub dword [esp + 0x90]
lea esi, [esp + 0x124]
fstp dword [esp + 0x128]
fld dword [ebx + 0x7b0]
fsub dword [esp + 0x94]
fstp dword [esp + 0x12c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
fld dword [esp + 0xac]
fstp st(4)
fld st(3)
fmul st(0)
fld dword [esp + 0xa8]
fmul st(0)
faddp st(1)
fsqrt
fstp dword [esp + 0x50]
fld dword [esp + 0x50]
fstp st(5)
fld st(4)
fcomp dword [0x7038cc]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x46e107
push eax
fld st(3)
fstp dword [esp]
fcompp
fcompp
push dword [esp + 0xac]
fstp st(0)
call fcn.004a55e0
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fcos
fnstsw ax
pop ecx
pop ecx
test eax, 0x400
je 0x46ceeb
call fcn.00642920
fcos
fstp dword [esp + 0x50]
mov eax, dword [esp + 0x50]
fld dword [0x7038cc]
mov dword [esp + 0x2c], eax
fmul dword [esp + 0x2c]
fadd dword [esp + 0x8c]
fstp dword [ebx + 0x7a8]
fld dword [esp + 0x24]
fsin
fnstsw ax
test eax, 0x400
je 0x46cf24
call fcn.00642920
fsin
fstp dword [esp + 0x50]
mov eax, dword [esp + 0x50]
fld dword [0x7038cc]
mov dword [esp + 0x30], eax
fmul dword [esp + 0x30]
fadd dword [esp + 0x90]
fstp dword [ebx + 0x7ac]
fldz
fldz
fld dword [esp + 0x4c]
fmul dword [ebx + 0x7a4]
fadd dword [ebx + 0x780]
fstp st(1)
fld dword [esp + 0x4c]
fmul dword [ebx + 0x7a0]
fadd dword [ebx + 0x77c]
fstp st(2)
fld dword [esp + 0x4c]
fmul dword [ebx + 0x79c]
fadd dword [ebx + 0x778]
fstp dword [ebx + 0x7c0]
fld st(1)
fstp dword [ebx + 0x7c4]
fst dword [ebx + 0x7c8]
fld dword [ebx + 0x114]
fmul dword [esp + 0x4c]
fadd dword [ebx + 0x184]
fstp dword [ebx + 0x110]
fld dword [ebx + 0x7a8]
fstp dword [esp + 0x5c]
fld dword [ebx + 0x7ac]
fstp dword [esp + 0x60]
fld dword [ebx + 0x7b0]
fstp dword [esp + 0x64]
fld dword [esp + 0x8c]
fsub dword [esp + 0x5c]
fstp dword [esp + 0x68]
fld dword [esp + 0x90]
fsub dword [esp + 0x60]
fstp dword [esp + 0x6c]
fld dword [esp + 0x94]
fsub dword [esp + 0x64]
fstp dword [esp + 0x70]
lea eax, [ebx + 0x7c0]
lea ecx, [ebx + 0x110]
fcompp
lea edx, [ebx + 0x7b4]
push ecx
push eax
lea eax, [esp + 0x64]
mov ecx, ebx
push edx
push eax
call fcn.0046aa01
lea ecx, [esp + 0x68]
call fcn.004dfea0
cmp byte [ebx + 0x5b], 1
jne 0x46d040
mov dword [esp + 0x7c], 0x3f800000
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
jmp 0x46d05e
fld dword [ebx + 0x7c0]
fstp dword [esp + 0x74]
fld dword [ebx + 0x7c4]
fstp dword [esp + 0x78]
fld dword [ebx + 0x7c8]
fstp dword [esp + 0x7c]
lea ecx, [esp + 0x74]
call fcn.004dfea0
movzx eax, byte [ebx + 0x76]
imul eax, eax, 0x73
mov dx, word [ebx + eax*4 + 0x194]
cmp dx, 1
je 0x46d128
cmp dx, 0x25
je 0x46d128
lea ecx, [esp + 0x68]
call fcn.004dfea0
lea ecx, [esp + 0x74]
call fcn.004dfea0
lea eax, [esp + 0x74]
lea esi, [esp + 0x68]
push eax
lea eax, [esp + 0x134]
push esi
push eax
call fcn.004e00b0
mov eax, dword [esp + 0x13c]
add esp, 0xc
mov edi, dword [esp + 0x134]
mov dword [esp + 0x80], eax
lea ecx, [esp + 0x80]
mov eax, dword [esp + 0x138]
mov dword [esp + 0x88], eax
mov dword [esp + 0x84], edi
call fcn.004dfea0
lea eax, [esp + 0x68]
lea ecx, [esp + 0x80]
push eax
lea eax, [esp + 0x140]
push ecx
push eax
call fcn.004e00b0
mov edx, dword [esp + 0x14c]
add esp, 0xc
mov eax, dword [esp + 0x13c]
mov dword [esp + 0x78], edx
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x144]
jmp 0x46d18c
lea ecx, [esp + 0x68]
call fcn.004dfea0
mov dword [esp + 0x80], 0xbf800000
lea eax, [esp + 0x80]
lea esi, [esp + 0x68]
push eax
lea eax, [esp + 0x14c]
push esi
push eax
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
call fcn.004e00b0
mov ecx, dword [esp + 0x158]
add esp, 0xc
mov eax, dword [esp + 0x148]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x150]
lea ecx, [esp + 0x74]
mov dword [esp + 0x7c], eax
call fcn.004dfea0
fld dword [ebx + 0x110]
fstp dword [esp + 0x98]
jmp 0x46e117
fld st(4)
fcomp st(4)
fnstsw ax
test ah, 0x45
jne 0x46e11e
fld st(4)
fcomp dword [0x68ae2c]
fnstsw ax
test ah, 4
jne 0x46e11e
and ah, 0x45
test ah, 0x41
je 0x46e11e
fld dword [ebx + 0x924]
fstp st(3)
fld dword [0x68add8]
fcomp st(3)
fnstsw ax
and ah, 0x44
cmp ah, 0x40
jne 0x46d1fb
fld dword [0x68ae2c]
jmp 0x46d201
fld st(4)
fsub st(4)
fdiv st(3)
fstp st(5)
fld dword [0x68ae70]
fmul st(5)
fcos
fnstsw ax
test eax, 0x400
je 0x46d21d
call fcn.00642920
fcos
fstp dword [esp + 0x50]
fld dword [esp + 0x50]
fstp st(5)
fld dword [0x68ae08]
fmul st(5)
fsubr dword [0x68ae08]
fstp dword [esp + 0x48]
movzx edx, byte [ebx + 0x76]
fld dword [ebx + 0x7b0]
fstp st(3)
imul edx, edx, 0x1cc
add edx, ebx
add edx, 0x2fc
fld dword [edx + 8]
fsub st(3)
fstp dword [esp + 0x10]
fld dword [ebx + 0x7ac]
fstp st(2)
fld dword [edx + 4]
fsub st(2)
fstp st(4)
fld dword [ebx + 0x7a8]
fstp st(1)
fld dword [edx]
fsub st(1)
fstp st(5)
fld dword [esp + 0x48]
fmul st(5)
fadd st(1)
fstp dword [esp + 0x5c]
fld dword [esp + 0x48]
fmul st(4)
fadd st(2)
fstp dword [esp + 0x60]
fld dword [esp + 0x48]
fmul dword [esp + 0x10]
fadd st(3)
fstp dword [esp + 0x64]
cmp byte [ebx + 0x5b], 0
je 0x46e110
fld dword [esp + 0x5c]
fsub dword [esp + 0x8c]
lea edi, [esp + 0xb4]
fstp dword [esp + 0x154]
fld dword [esp + 0x60]
fsub dword [esp + 0x90]
lea esi, [esp + 0x154]
fstp dword [esp + 0x158]
fld dword [esp + 0x64]
fsub dword [esp + 0x94]
fstp dword [esp + 0x15c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
fld dword [esp + 0xb8]
fstp st(4)
fld st(3)
fmul st(0)
fld dword [esp + 0xb4]
fmul st(0)
faddp st(1)
fsqrt
fstp dword [esp + 0x50]
fld dword [esp + 0x50]
fstp st(5)
fld st(4)
fcomp dword [0x7038cc]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x46e110
push eax
fld st(3)
fstp dword [esp]
fcompp
fcompp
push dword [esp + 0xb8]
fstp st(0)
call fcn.004a55e0
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fcos
fnstsw ax
pop ecx
pop ecx
test eax, 0x400
je 0x46d35e
call fcn.00642920
fcos
fstp dword [esp + 0x50]
mov eax, dword [esp + 0x50]
fld dword [0x7038cc]
mov dword [esp + 0x34], eax
fmul dword [esp + 0x34]
fadd dword [esp + 0x8c]
fstp dword [esp + 0x5c]
fld dword [esp + 0x28]
fsin
fnstsw ax
test eax, 0x400
je 0x46d395
call fcn.00642920
fsin
fstp dword [esp + 0x50]
mov eax, dword [esp + 0x50]
fld dword [0x7038cc]
mov dword [esp + 0x38], eax
fmul dword [esp + 0x38]
fadd dword [esp + 0x90]
fstp dword [esp + 0x60]
fldz
fldz
fldz
fldz
fldz
fldz
movzx eax, byte [ebx + 0x76]
fld dword [ebx + 0x110]
fstp st(6)
imul eax, eax, 0x73
fld dword [ebx + eax*4 + 0x23c]
fsub st(6)
fmul dword [esp + 0x48]
fadd st(6)
fstp dword [esp + 0x98]
movzx ecx, byte [ebx + 0x76]
fld dword [ebx + 0x7c8]
fstp st(3)
imul ecx, ecx, 0x1cc
add ecx, ebx
add ecx, 0x314
fld dword [ecx + 8]
fsub st(3)
fstp st(4)
fld dword [ebx + 0x7c4]
fstp st(2)
fld dword [ecx + 4]
fsub st(2)
fstp st(5)
fld dword [ebx + 0x7c0]
fstp st(1)
fld dword [ecx]
fsub st(1)
fstp st(6)
fld dword [esp + 0x48]
fmul st(6)
fadd st(1)
fstp dword [esp + 0x74]
fld dword [esp + 0x48]
fmul st(5)
fadd st(2)
fstp dword [esp + 0x78]
fld dword [esp + 0x48]
fmul st(4)
fadd st(3)
fstp dword [esp + 0x7c]
movzx eax, byte [ebx + 0x76]
imul eax, eax, 0x73
fld dword [ebx + eax*4 + 0x228]
fsub dword [ebx + 0x10c]
fstp st(6)
jmp 0x46d469
fld dword [0x68ae74]
fsubp st(6)
fld st(5)
fcomp dword [0x68ae70]
fnstsw ax
test ah, 5
je 0x46d461
jmp 0x46d482
fld dword [0x68ae74]
faddp st(6)
fld st(5)
fcomp dword [0x68ae78]
fnstsw ax
and ah, 5
cmp ah, 1
je 0x46d47a
fld dword [esp + 0x8c]
fsub dword [esp + 0x5c]
lea eax, [esp + 0x74]
lea edx, [esp + 0x98]
lea edi, [esp + 0x8c]
push edx
fstp dword [esp + 0x6c]
fld dword [esp + 0x94]
fsub dword [esp + 0x64]
push eax
lea eax, [esp + 0x64]
mov ecx, ebx
push edi
fstp dword [esp + 0x78]
fld dword [esp + 0xa0]
fsub dword [esp + 0x70]
push eax
fstp dword [esp + 0x80]
fcompp
fcompp
fcompp
call fcn.0046aa01
lea ecx, [esp + 0x68]
call fcn.004dfea0
cmp byte [ebx + 0x5b], 1
jne 0x46d512
mov dword [esp + 0x7c], 0x3f800000
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
movzx eax, byte [ebx + 0x76]
imul eax, eax, 0x73
mov dx, word [ebx + eax*4 + 0x194]
cmp dx, 1
je 0x46d5d3
cmp dx, 0x25
je 0x46d5d3
lea ecx, [esp + 0x68]
call fcn.004dfea0
lea ecx, [esp + 0x74]
call fcn.004dfea0
lea eax, [esp + 0x74]
lea ecx, [esp + 0x68]
push eax
lea eax, [esp + 0x164]
push ecx
push eax
call fcn.004e00b0
mov eax, dword [esp + 0x16c]
add esp, 0xc
mov esi, dword [esp + 0x164]
mov dword [esp + 0x80], eax
lea ecx, [esp + 0x80]
mov eax, dword [esp + 0x168]
mov dword [esp + 0x88], eax
mov dword [esp + 0x84], esi
call fcn.004dfea0
lea eax, [esp + 0x68]
lea edx, [esp + 0x80]
push eax
lea eax, [esp + 0x170]
push edx
push eax
call fcn.004e00b0
mov edi, dword [esp + 0x17c]
add esp, 0xc
mov eax, dword [esp + 0x16c]
mov dword [esp + 0x78], edi
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x174]
jmp 0x46d637
lea ecx, [esp + 0x68]
call fcn.004dfea0
mov dword [esp + 0x80], 0xbf800000
lea eax, [esp + 0x80]
lea ecx, [esp + 0x68]
push eax
lea eax, [esp + 0x17c]
push ecx
push eax
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
call fcn.004e00b0
mov edx, dword [esp + 0x188]
add esp, 0xc
mov eax, dword [esp + 0x178]
mov dword [esp + 0x78], edx
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x180]
lea ecx, [esp + 0x74]
mov dword [esp + 0x7c], eax
call fcn.004dfea0
fld dword [ebx + 0x110]
fstp dword [esp + 0x98]
fldz
fld dword [esp + 0x5c]
fsub dword [esp + 0x8c]
lea edi, [esp + 0xc0]
fstp dword [esp + 0x184]
fld dword [esp + 0x60]
fsub dword [esp + 0x90]
lea esi, [esp + 0x184]
fstp dword [esp + 0x188]
fld dword [esp + 0x64]
fsub dword [esp + 0x94]
fstp dword [esp + 0x18c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x40], eax
fld dword [esp + 0x40]
fmul st(0)
fld dword [esp + 0xc0]
fmul st(0)
faddp st(1)
fsqrt
fstp dword [esp + 0x50]
fld dword [esp + 0x50]
fstp st(1)
push dword [esp + 0xc8]
push eax
fst dword [esp]
fstp st(0)
call fcn.004a55e0
pop ecx
pop ecx
fstp dword [esp + 0xcc]
push dword [esp + 0x40]
push dword [esp + 0xc4]
call fcn.004a55e0
lea edi, [esp + 0xa0]
pop ecx
pop ecx
lea ecx, [esp + 0xcc]
fstp dword [esp + 0xd0]
lea eax, [esp + 0xd0]
push edi
push eax
push ecx
movzx ecx, byte [ebx + 0x76]
lea eax, [esp + 0x80]
lea edx, [esp + 0x98]
push eax
lea eax, [esp + 0x6c]
imul ecx, ecx, 0x1cc
push edx
push eax
add ecx, ebx
add ecx, 0x188
call fcn.004840fc
cmp byte [ebx + 0x89], 0
je 0x46d7e2
cmp byte [ebx + 0x5c], 0
jne 0x46d7e2
cmp byte [ebx + 0x5b], 1
jne 0x46d7e2
call fcn.0057e1a0
test al, al
jne 0x46d7e2
cmp byte [ebx + 0x56], 0
jne 0x46d7e2
xor eax, eax
lea edi, [esp + 0x5c]
mov dword [esp + 0xfc], eax
lea esi, [esp + 0xfc]
lea eax, [esp + 0xd4]
push 0
push 1
push 1
push 0
push 1
push 0
push 0
push 1
push esi
push eax
mov eax, dword [ebx + 0x80c]
push edi
add eax, 0x34
push eax
call fcn.004d92d0
add esp, 0x30
test al, al
je 0x46d7e2
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0xd8]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0xdc]
push dword [0x68ae9c]
push dword [0x8100bc]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x68], ecx
call fcn.0064a860
pop ecx
pop ecx
fldz
fld dword [0x983b38]
fcomp dword [0x68add8]
fnstsw ax
test ah, 0x45
jne 0x46e127
fld dword [0x68ae70]
fmul dword [0x703680]
fmul dword [0x68aea0]
fmul dword [0x68aea4]
fmul dword [0x68aea8]
fnstcw word [esp + 8]
mov eax, dword [esp + 8]
or byte [esp + 9], 0xc
fldcw word [esp + 8]
mov dword [esp + 8], eax
fistp dword [esp + 0x50]
fldcw word [esp + 8]
fld dword [0x703680]
fadd dword [0x68adcc]
mov edi, dword [esp + 0x50]
and edi, 0x3ff
fstp dword [0x703680]
movzx eax, byte [ebx + 0x76]
fld dword [0x68ae2c]
fadd dword [0x983b38]
imul eax, eax, 0x73
fmul dword [ebx + eax*4 + 0x23c]
fstp dword [ebx + eax*4 + 0x23c]
fld dword [0x68aeac]
fmul dword [0x983b38]
lea ecx, [esp + 0x74]
fstp st(1)
fld st(0)
fmul dword [edi*4 + 0x7efe50]
fadd dword [esp + 0x5c]
fstp dword [esp + 0x5c]
fld st(0)
fmul dword [edi*4 + 0x943088]
fadd dword [esp + 0x64]
fstp dword [esp + 0x64]
fstp st(0)
call fcn.004dfea0
fldz
fld dword [0x68ae9c]
fmul dword [0x983b38]
fst st(1)
fmul dword [edi*4 + 0x7efe50]
fadd dword [esp + 0x74]
fstp dword [esp + 0x74]
fld st(0)
fmul dword [edi*4 + 0x943088]
lea ecx, [esp + 0x74]
fadd dword [esp + 0x78]
fstp dword [esp + 0x78]
fstp st(0)
call fcn.004dfea0
lea ecx, [esp + 0x68]
call fcn.004dfea0
fldz
fld dword [0x68aeb0]
fmul dword [0x983b38]
fst st(1)
fmul dword [edi*4 + 0x7efe50]
fadd dword [esp + 0x68]
fstp dword [esp + 0x68]
fld st(0)
fmul dword [edi*4 + 0x943088]
lea ecx, [esp + 0x68]
fadd dword [esp + 0x6c]
fstp dword [esp + 0x6c]
fstp st(0)
call fcn.004dfea0
lea eax, [esp + 0x74]
lea ecx, [esp + 0x68]
push eax
lea eax, [esp + 0x194]
push ecx
push eax
call fcn.004e00b0
mov eax, dword [esp + 0x19c]
add esp, 0xc
mov esi, dword [esp + 0x194]
mov dword [esp + 0x80], eax
lea ecx, [esp + 0x80]
mov eax, dword [esp + 0x198]
mov dword [esp + 0x88], eax
mov dword [esp + 0x84], esi
call fcn.004dfea0
lea eax, [esp + 0x68]
lea edx, [esp + 0x80]
push eax
lea eax, [esp + 0x1a0]
push edx
push eax
call fcn.004e00b0
mov eax, dword [esp + 0x1a8]
add esp, 0xc
mov edi, dword [esp + 0x1a0]
mov dword [esp + 0x74], eax
lea ecx, [esp + 0x74]
mov eax, dword [esp + 0x1a4]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x78], edi
call fcn.004dfea0
lea eax, [esp + 0x68]
lea ecx, [esp + 0x74]
push eax
lea eax, [esp + 0x1ac]
push ecx
push eax
call fcn.004e00b0
fld dword [esp + 0x1b8]
fld dword [esp + 0x1bc]
fld dword [esp + 0x1b4]
fstp dword [ebx]
fld dword [esp + 0x74]
fstp dword [ebx + 0x10]
fld dword [esp + 0x80]
fstp dword [ebx + 0x20]
fld st(1)
fstp dword [ebx + 4]
fld dword [esp + 0x78]
fstp dword [ebx + 0x14]
fld dword [esp + 0x84]
fstp dword [ebx + 0x24]
fst dword [ebx + 8]
fld dword [esp + 0x7c]
fstp dword [ebx + 0x18]
fld dword [esp + 0x88]
fstp dword [ebx + 0x28]
fld dword [esp + 0x68]
fstp dword [ebx + 0x30]
fld dword [esp + 0x6c]
fstp dword [ebx + 0x34]
fld dword [esp + 0x70]
fstp dword [ebx + 0x38]
mov edx, dword [0x974b2c]
mov dword [esp + 0x60], 0
sub edx, dword [ebx + 0x78]
add esp, 0xc
mov eax, edx
mov dword [esp + 0x50], edx
mov dword [esp + 0x50], eax
fild qword [esp + 0x50]
fmul dword [0x68aeb4]
fsubr dword [ebx + 0x12c]
fstp st(2)
fld st(1)
fcomp dword [0x68ade4]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x46da88
fld st(1)
jmp 0x46da8e
fld dword [0x68ade4]
fstp st(2)
fld st(1)
fcomp dword [0x68add8]
fnstsw ax
test ah, 0x45
jne 0x46daa3
fld st(1)
jmp 0x46daa9
fld dword [0x68add8]
fstp dword [esp + 0x3c]
fcompp
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x44], eax
call fcn.006499f0
movzx eax, ax
fld dword [esp + 0x44]
fmul dword [0x68aeb8]
mov ecx, eax
mov edi, eax
and ecx, 0xf
and edi, 0xf0
add ecx, 0xfffffff9
sar edi, 4
mov dword [esp + 0x50], ecx
add edi, 0xfffffff9
fstp dword [esp + 0x44]
fild dword [esp + 0x50]
and eax, 0xf00
sar eax, 8
fmul dword [esp + 0x44]
add eax, 0xfffffff9
fadd dword [ebx + 0x30]
fstp dword [ebx + 0x30]
mov dword [esp + 0x50], edi
fild dword [esp + 0x50]
fmul dword [esp + 0x44]
fadd dword [ebx + 0x34]
fstp dword [ebx + 0x34]
mov dword [esp + 0x50], eax
fild dword [esp + 0x50]
fmul dword [esp + 0x44]
fadd dword [ebx + 0x38]
fstp dword [ebx + 0x38]
fld dword [esp + 0x44]
fcomp dword [0x68add8]
fnstsw ax
test ah, 0x45
jne 0x46db7e
cmp dword [0x7e4738], 1
je 0x46db7e
fld dword [0x68ae8c]
fmul dword [esp + 0x3c]
fnstcw word [esp + 8]
mov eax, dword [esp + 8]
or byte [esp + 9], 0xc
fldcw word [esp + 8]
mov dword [esp + 8], eax
fistp dword [esp + 0x50]
fldcw word [esp + 8]
mov eax, dword [esp + 0x50]
add eax, 0x19
cmp eax, 0x96
jle 0x46db78
mov eax, 0x96
mov dword [ebx + 0xc4], eax
cmp byte [0x7038d4], 0
jne 0x46db95
xor al, al
mov byte [0x7038d4], 1
mov byte [0x7038d3], al
movzx eax, byte [0x7e46fe]
imul eax, eax, 0x73
cmp word [eax*4 + 0x7e481c], 0x10
jne 0x46dc09
call fcn.004bc1e0
test eax, eax
je 0x46dc09
call fcn.004bc1e0
fld dword [eax + 0x2c]
fcomp dword [0x68aebc]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x46dc09
mov dword [ebx + 0xac], 0xff
mov dword [ebx + 0xa8], 0xff
mov dword [ebx + 0xa4], 0xff
mov dword [ebx + 0xb0], 1
mov dword [ebx + 0xc0], 0xf0
mov byte [0x7038d3], 1
jmp 0x46dcba
cmp byte [0x7038d3], 0
je 0x46dcba
fld dword [0x9787a4]
mov edx, dword [ebx + 0xc0]
fnstcw word [esp + 8]
mov eax, dword [esp + 8]
or byte [esp + 9], 0xc
fldcw word [esp + 8]
mov dword [esp + 8], eax
fistp dword [esp + 0x50]
mov eax, dword [esp + 0x50]
fldcw word [esp + 8]
fld dword [0xa0d064]
fnstcw word [esp + 8]
mov esi, dword [esp + 8]
or byte [esp + 9], 0xc
fldcw word [esp + 8]
mov dword [esp + 8], esi
fistp dword [esp + 0x50]
mov esi, dword [esp + 0x50]
fldcw word [esp + 8]
fld dword [0x9b6aac]
fnstcw word [esp + 8]
mov ecx, dword [esp + 8]
or byte [esp + 9], 0xc
fldcw word [esp + 8]
mov dword [esp + 8], ecx
fistp dword [esp + 0x50]
fldcw word [esp + 8]
mov edi, dword [esp + 0x50]
mov dword [ebx + 0xac], edi
mov dword [ebx + 0xa8], esi
mov dword [ebx + 0xa4], eax
xor al, al
mov dword [ebx + 0xb0], 2
mov dword [ebx + 0xc0], edx
mov byte [0x7038d3], al
mov ecx, ebx
call fcn.0046c3b6
push dword [esp + 0x98]
call fcn.0054a2e0
mov eax, dword [ebx + 0x808]
pop ecx
mov edi, dword [eax + 4]
fld dword [ebx + 0x30]
lea eax, [edi + 0x10]
fstp dword [eax + 0x30]
fld dword [eax + 0x30]
fstp dword [ebx + 0x7d8]
fld dword [ebx + 0x34]
fstp dword [eax + 0x34]
fld dword [eax + 0x34]
fstp dword [ebx + 0x7dc]
fld dword [ebx + 0x38]
fstp dword [eax + 0x38]
fld dword [eax + 0x38]
fstp dword [ebx + 0x7e0]
fld dword [ebx + 0x10]
fstp dword [eax + 0x20]
fld dword [ebx + 0x14]
fstp dword [eax + 0x24]
fld dword [ebx + 0x18]
fstp dword [eax + 0x28]
fld dword [ebx + 0x20]
fstp dword [eax + 0x10]
fld dword [ebx + 0x24]
fstp dword [eax + 0x14]
fld dword [ebx + 0x28]
fstp dword [eax + 0x18]
fld dword [ebx]
fstp dword [eax]
fld dword [ebx + 4]
fstp dword [eax + 4]
fld dword [ebx + 8]
push eax
fstp dword [eax + 8]
call fcn.006437b0
pop ecx
push edi
call fcn.00644d00
pop ecx
push edi
call fcn.00645320
pop ecx
mov ecx, ebx
call fcn.0046a885
mov eax, dword [0xa0d898]
and eax, 0xf
cmp eax, 3
jne 0x46dd7c
lea eax, [ebx + 0x30]
lea esi, [ebx + 0x30]
push dword [esi + 4]
push dword [eax]
call fcn.005bce00
fstp dword [ebx + 0xe8]
pop ecx
pop ecx
cmp byte [0xa10ab2], 0
je 0x46dd9d
cmp byte [0xa10b27], 0
jne 0x46dd9d
mov dword [ebx + 0xf0], 0x3f800000
jmp 0x46deaf
fld dword [0x68aec0]
fdiv dword [0x696658]
fstp dword [ebx + 0xf0]
fld dword [ebp + 8]
fcomp dword [0x68adec]
fnstsw ax
test ah, 0x45
jne 0x46dde0
call fcn.004bc1e0
test eax, eax
je 0x46dde0
call fcn.004bc1e0
mov edi, dword [eax + 0x120]
mov eax, dword [edi + 0xcc]
and eax, 0x60000
jne 0x46ddf2
call fcn.004bc120
cmp dword [eax + 0x5a0], 0
je 0x46de92
fldz
fld dword [ebp + 8]
fsub dword [0x68adec]
fmul dword [0x68aec4]
fst st(1)
fcomp dword [0x68add8]
fnstsw ax
test ah, 0x45
je 0x46de1a
fld dword [0x68add8]
fstp st(1)
fld dword [0x68ae2c]
fadd st(1)
fmul dword [ebx + 0xf0]
fstp dword [ebx + 0xf0]
fld dword [ebp + 8]
fsub dword [0x68adec]
fmul dword [0x68aec4]
fst st(1)
fcomp dword [0x68ae2c]
fnstsw ax
and ah, 5
cmp ah, 1
je 0x46de57
fld dword [0x68ae2c]
fstp st(1)
fld dword [0x68ae2c]
fadd st(1)
fmul dword [0x68adc8]
mov ecx, dword [0x8100bc]
fstp st(1)
fld dword [ecx + 0x80]
fcomp dword [0x68adc8]
fnstsw ax
test ah, 5
jne 0x46e12e
push eax
fst dword [esp]
push ecx
fstp st(0)
call fcn.0064a860
pop ecx
pop ecx
fld dword [ebx + 0xf0]
fcomp dword [0x68aec8]
fnstsw ax
test ah, 0x45
jne 0x46deaf
mov dword [ebx + 0xf0], 0x400ccccd
fldz
fld dword [ebx + 0xf0]
fstp dword [ebx + 0xf4]
fld dword [ebx + 0xf0]
fmul dword [0x690220]
fstp dword [ebx + 0xf0]
mov eax, dword [ebx + 0x808]
fld dword [eax + 0x80]
fstp dword [0x978534]
mov eax, dword [ebx + 0x808]
fld dword [eax + 0x84]
fstp dword [0xa10678]
cmp byte [ebx + 0x59], 1
je 0x46deff
cmp byte [ebx + 0x5a], 1
jne 0x46df21
fld dword [ebx + 0x30]
fstp dword [ebx + 0x70c]
fld dword [ebx + 0x34]
fstp dword [ebx + 0x710]
fld dword [ebx + 0x38]
xor al, al
fstp dword [ebx + 0x714]
mov byte [0x7e46e1], al
fld dword [ebx + 0x30]
fsub dword [ebx + 0x70c]
lea edi, [esp + 0x100]
fstp dword [esp + 0x1b4]
fld dword [ebx + 0x34]
fsub dword [ebx + 0x710]
lea esi, [esp + 0x1b4]
fstp dword [esp + 0x1b8]
fld dword [ebx + 0x38]
fsub dword [ebx + 0x714]
fstp dword [esp + 0x1bc]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
fld dword [esp + 0x104]
fst st(1)
fmul st(0)
fld dword [esp + 0x100]
fmul st(0)
faddp st(1)
fld dword [esp + 0x108]
fstp st(2)
fld st(1)
fmul st(0)
faddp st(1)
fsqrt
fstp dword [esp + 0x50]
fld dword [esp + 0x50]
fstp st(1)
fld dword [ebx + 0x128]
fadd st(1)
fstp dword [ebx + 0x128]
inc dword [ebx + 0xb8]
mov eax, dword [ebx + 0xb4]
cmp dword [ebx + 0xb8], eax
jne 0x46dfdb
mov dword [esp + 0x50], eax
xor eax, eax
fild dword [esp + 0x50]
fdivr dword [ebx + 0x128]
fstp dword [ebx + 0x124]
mov dword [ebx + 0x128], 0
mov dword [ebx + 0xb8], eax
fld dword [ebx + 0x30]
fstp dword [ebx + 0x70c]
fld dword [ebx + 0x34]
fstp dword [ebx + 0x710]
fld dword [ebx + 0x38]
fstp dword [ebx + 0x714]
movzx ecx, byte [ebx + 0x76]
fld dword [0x68ae70]
fadd dword [ebx + 0x160]
imul ecx, ecx, 0x1cc
fstp st(1)
cmp dword [ebx + ecx + 0x1b0], 3
je 0x46e047
cmp word [ebx + ecx + 0x194], 0x25
je 0x46e047
lea eax, [ecx + ebx]
lea edx, [eax + 0x308]
add eax, 0x2fc
fld dword [edx]
fstp dword [eax]
fld dword [edx + 4]
fstp dword [eax + 4]
fld dword [edx + 8]
fstp dword [eax + 8]
fst dword [ebx + 0x160]
cmp byte [0x7e4711], 0
je 0x46e0eb
mov al, byte [ebx + 0x76]
mov byte [esp + 4], al
movzx ecx, byte [esp + 4]
mov eax, ecx
inc eax
cdq
and eax, 1
xor eax, edx
sub eax, edx
imul eax, eax, 0x1cc
mov esi, eax
mov edi, dword [ebx + esi + 0x338]
test edi, edi
je 0x46e0eb
mov ebp, dword [0x7e4e94]
test ebp, ebp
je 0x46e0eb
mov al, byte [ebp + 0x50]
and al, 7
cmp al, 3
jne 0x46e0eb
mov al, byte [edi + 0x50]
and al, 7
cmp al, 2
je 0x46e0eb
movzx eax, byte [esp + 4]
imul eax, eax, 0x73
cmp word [ebx + eax*4 + 0x194], 0x25
je 0x46e0eb
cmp dword [ebx + esi + 0x1b0], 3
je 0x46e0eb
mov eax, ecx
lea edi, [esi + ebx + 0x2fc]
cdq
and eax, 1
xor eax, edx
sub eax, edx
imul eax, eax, 0x1cc
add eax, ebx
add eax, 0x308
fld dword [eax]
fstp dword [edi]
fld dword [eax + 4]
fstp dword [edi + 4]
fld dword [eax + 8]
fstp dword [edi + 8]
fst dword [ebx + 0x160]
xor al, al
mov byte [ebx + 0x4c], al
xor al, al
fstp st(0)
mov byte [ebx + 0x5d], al
jmp 0x46e135
fstp st(0)
jmp 0x46c791
fstp st(0)
jmp 0x46c820
fcompp
fstp st(0)
jmp 0x46cf4b
fldz
jmp 0x46d3c2
fldz
jmp 0x46d653
fcompp
fcompp
jmp 0x46d653
fstp st(0)
jmp 0x46d9c4
fstp st(0)
jmp 0x46de92
add esp, 0x1c0
pop ebp
pop edi
pop esi
pop ebx
ret