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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0xa73f6c
mov eax, dword fs:[0]
push eax
sub esp, 0x1e8
push ebx
push esi
push edi
mov eax, dword [0xcdc190]
xor eax, esp
push eax
lea eax, [esp + 0x1f8]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0x58], esi
mov edi, dword [ebp + 8]
xor ebx, ebx
mov eax, edi
mov dword [esp + 0x80], 0xf
mov dword [esp + 0x7c], ebx
mov byte [esp + 0x6c], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x97e525
sub eax, edx
push eax
push edi
lea ecx, [esp + 0x70]
call fcn.00413190
lea eax, [esp + 0x68]
mov dword [esp + 0x200], ebx
push eax
lea ecx, [esp + 0x60]
lea ebx, [esi + 0x11c]
push ecx
mov ecx, ebx
call fcn.0097ac00
cmp dword [esp + 0x80], 0x10
mov dword [esp + 0x200], 0xffffffff
jb 0x97e579
mov edx, dword [esp + 0x6c]
push edx
call fcn.00a29d75
add esp, 4
mov eax, dword [esi + 0x138]
mov esi, dword [esi + 0x124]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x97e595
cmp eax, esi
je 0x97e59a
call fcn.00a2c47b
mov esi, dword [esp + 0x60]
cmp esi, dword [esp + 0x54]
je 0x97f423
mov eax, dword [esp + 0x5c]
test eax, eax
jne 0x97e716
call fcn.00a2c47b
xor eax, eax
cmp esi, dword [eax + 0x14]
jne 0x97e5c5
call fcn.00a2c47b
xor eax, eax
cmp byte [esi + 0x78], 1
mov dword [esi + 0x44], eax
jne 0x97ed8a
mov ebx, dword [esi + 0x88]
mov dword [esp + 0x44], eax
cmp ebx, dword [esi + 0x8c]
jbe 0x97e5eb
call fcn.00a2c47b
mov edi, dword [esi + 0x7c]
mov dword [esp + 0x50], edi
mov dword [esp + 0x54], ebx
jmp 0x97e600
mov eax, dword [esi + 0x8c]
mov dword [esp + 0x1c], eax
cmp dword [esi + 0x88], eax
jbe 0x97e617
call fcn.00a2c47b
mov eax, dword [esi + 0x7c]
test edi, edi
je 0x97e622
cmp edi, eax
je 0x97e627
call fcn.00a2c47b
cmp ebx, dword [esp + 0x1c]
je 0x97ed45
test edi, edi
jne 0x97e71d
call fcn.00a2c47b
cmp ebx, dword [edi + 0x10]
jb 0x97e648
call fcn.00a2c47b
mov ecx, dword [esi + 0x70]
sub ecx, dword [esi + 0x6c]
mov eax, 0x38e38e39
imul ecx
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
jne 0x97e666
call fcn.00a2c47b
mov ecx, dword [esi + 0x6c]
mov esi, dword [esp + 0x58]
fild dword [esi + 0x50]
fdiv qword [0xa905c0]
fmul dword [ebx + 0x18]
fadd dword [ebx + 0x10]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fst dword [ebx + 0x10]
fld dword [ebx + 0x14]
fcompp
fnstsw ax
test ah, 0x41
jp 0x97e69d
fld dword [ebx + 0x14]
inc dword [esp + 0x44]
fstp dword [ebx + 0x10]
fld dword [ebp + 0x18]
mov edx, dword [ecx + 0x1c]
fstp dword [esp + 0x68]
add esi, 0x58
fld dword [ebp + 0x1c]
fstp dword [esp + 0x6c]
fld dword [ebp + 0x20]
fstp dword [esp + 0x70]
fld dword [ebx + 0x10]
fmul dword [ebp + 0x24]
mov dword [ebx + 0xc], edx
mov eax, dword [ecx + 0x1c]
mov edx, dword [ecx + 0x18]
push eax
fstp dword [esp + 0x78]
mov eax, dword [ebx + 0xc]
push edx
mov edx, dword [ebx + 8]
push eax
mov eax, dword [ebx + 4]
push edx
mov edx, dword [ebx]
push eax
mov eax, dword [ecx + 0x20]
push edx
push eax
push 0xd39c0c
mov ecx, esi
call fcn.00579f60
fld1
fld dword [esp + 0x68]
fcom st(1)
fnstsw ax
test ah, 1
jne 0x97e724
fld qword [0xa93158]
mov ecx, 0xff
fld qword [0xa93198]
mov dword [esp + 0x34], ecx
fldz
xor edi, edi
jmp 0x97e788
mov eax, dword [eax]
jmp 0x97e5bb
mov edi, dword [edi]
jmp 0x97e63e
fldz
fcom st(1)
fnstsw ax
test ah, 1
jne 0x97e743
fld qword [0xa93158]
xor edi, edi
fld qword [0xa93198]
mov dword [esp + 0x34], edi
jmp 0x97e77f
fnstcw word [esp + 0x12]
movzx eax, word [esp + 0x12]
fld st(1)
fld qword [0xa93198]
or eax, 0xc00
fmul st(1), st(0)
mov dword [esp + 0x1c], eax
fld qword [0xa93158]
xor edi, edi
fadd st(2), st(0)
fldcw word [esp + 0x1c]
fxch st(2)
fistp qword [esp + 0x14]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x34], ecx
fldcw word [esp + 0x12]
fxch st(1)
mov ecx, 0xff
fxch st(2)
fld dword [esp + 0x6c]
fcom st(5)
fnstsw ax
test ah, 1
jne 0x97e79b
mov dword [esp + 0x48], ecx
jmp 0x97e7d6
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x97e7aa
mov dword [esp + 0x48], edi
jmp 0x97e7d6
fnstcw word [esp + 0x12]
movzx eax, word [esp + 0x12]
fld st(0)
fmul st(3)
or eax, 0xc00
mov dword [esp + 0x1c], eax
fadd st(4)
fldcw word [esp + 0x1c]
fistp qword [esp + 0x14]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x48], edx
fldcw word [esp + 0x12]
fld dword [esp + 0x70]
fcom st(6)
fnstsw ax
test ah, 1
jne 0x97e7e9
mov dword [esp + 0x1c], ecx
jmp 0x97e824
fcom st(2)
fnstsw ax
test ah, 0x41
jp 0x97e7f8
mov dword [esp + 0x1c], edi
jmp 0x97e824
fnstcw word [esp + 0x12]
movzx eax, word [esp + 0x12]
fld st(0)
fmul st(4)
or eax, 0xc00
mov dword [esp + 0x1c], eax
fadd st(5)
fldcw word [esp + 0x1c]
fistp qword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x1c], eax
fldcw word [esp + 0x12]
fld dword [esp + 0x74]
fcom st(7)
fnstsw ax
fstp st(7)
test ah, 1
jne 0x97e839
mov dword [esp + 0x30], ecx
jmp 0x97e878
fxch st(6)
fcom st(2)
fnstsw ax
test ah, 0x41
jp 0x97e84a
mov dword [esp + 0x30], edi
jmp 0x97e876
fnstcw word [esp + 0x12]
movzx eax, word [esp + 0x12]
fld st(0)
fmul st(4)
or eax, 0xc00
mov dword [esp + 0x30], eax
fadd st(5)
fldcw word [esp + 0x30]
fistp qword [esp + 0x14]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x30], edx
fldcw word [esp + 0x12]
fxch st(6)
fld1
fcomp st(6)
fnstsw ax
test ah, 0x41
jp 0x97e889
mov dword [esp + 0x4c], ecx
jmp 0x97e8c8
fxch st(5)
fcom st(2)
fnstsw ax
test ah, 0x41
jp 0x97e89a
mov dword [esp + 0x4c], edi
jmp 0x97e8c6
fnstcw word [esp + 0x12]
movzx eax, word [esp + 0x12]
fld st(0)
fmul st(4)
or eax, 0xc00
mov dword [esp + 0x24], eax
fadd st(5)
fldcw word [esp + 0x24]
fistp qword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x4c], eax
fldcw word [esp + 0x12]
fxch st(5)
fld1
fcomp st(2)
fnstsw ax
test ah, 0x41
jp 0x97e8d9
mov dword [esp + 0x40], ecx
jmp 0x97e918
fxch st(1)
fcom st(2)
fnstsw ax
test ah, 0x41
jp 0x97e8ea
mov dword [esp + 0x40], edi
jmp 0x97e916
fnstcw word [esp + 0x12]
movzx eax, word [esp + 0x12]
fld st(0)
fmul st(4)
or eax, 0xc00
mov dword [esp + 0x24], eax
fadd st(5)
fldcw word [esp + 0x24]
fistp qword [esp + 0x14]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x40], edx
fldcw word [esp + 0x12]
fxch st(1)
fld1
fcomp st(1)
fnstsw ax
test ah, 0x41
jp 0x97e929
mov dword [esp + 0x24], ecx
jmp 0x97e964
fcom st(2)
fnstsw ax
test ah, 0x41
jp 0x97e938
mov dword [esp + 0x24], edi
jmp 0x97e964
fnstcw word [esp + 0x12]
movzx eax, word [esp + 0x12]
fld st(0)
fmul st(4)
or eax, 0xc00
mov dword [esp + 0x24], eax
fadd st(5)
fldcw word [esp + 0x24]
fistp qword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x24], eax
fldcw word [esp + 0x12]
fld1
fcomp st(7)
fnstsw ax
test ah, 0x41
jp 0x97e975
mov dword [esp + 0x2c], ecx
jmp 0x97e9b4
fxch st(6)
fcom st(2)
fnstsw ax
test ah, 0x41
jp 0x97e986
mov dword [esp + 0x2c], edi
jmp 0x97e9b2
fnstcw word [esp + 0x12]
movzx eax, word [esp + 0x12]
fld st(0)
fmul st(4)
or eax, 0xc00
mov dword [esp + 0x2c], eax
fadd st(5)
fldcw word [esp + 0x2c]
fistp qword [esp + 0x14]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x2c], edx
fldcw word [esp + 0x12]
fxch st(6)
fld1
fcomp st(6)
fnstsw ax
test ah, 0x41
jp 0x97e9c5
mov dword [esp + 0x38], ecx
jmp 0x97ea04
fxch st(5)
fcom st(2)
fnstsw ax
test ah, 0x41
jp 0x97e9d6
mov dword [esp + 0x38], edi
jmp 0x97ea02
fnstcw word [esp + 0x12]
movzx eax, word [esp + 0x12]
fld st(0)
fmul st(4)
or eax, 0xc00
mov dword [esp + 0x20], eax
fadd st(5)
fldcw word [esp + 0x20]
fistp qword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x38], eax
fldcw word [esp + 0x12]
fxch st(5)
fld1
fcomp st(2)
fnstsw ax
test ah, 0x41
jp 0x97ea15
mov dword [esp + 0x3c], ecx
jmp 0x97ea54
fxch st(1)
fcom st(2)
fnstsw ax
test ah, 0x41
jp 0x97ea26
mov dword [esp + 0x3c], edi
jmp 0x97ea52
fnstcw word [esp + 0x12]
movzx eax, word [esp + 0x12]
fld st(0)
fmul st(4)
or eax, 0xc00
mov dword [esp + 0x20], eax
fadd st(5)
fldcw word [esp + 0x20]
fistp qword [esp + 0x14]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x3c], edx
fldcw word [esp + 0x12]
fxch st(1)
fld1
fcomp st(1)
fnstsw ax
test ah, 0x41
jp 0x97ea65
mov dword [esp + 0x20], ecx
jmp 0x97eaa0
fcom st(2)
fnstsw ax
test ah, 0x41
jp 0x97ea74
mov dword [esp + 0x20], edi
jmp 0x97eaa0
fnstcw word [esp + 0x12]
movzx eax, word [esp + 0x12]
fld st(0)
fmul st(4)
or eax, 0xc00
mov dword [esp + 0x20], eax
fadd st(5)
fldcw word [esp + 0x20]
fistp qword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x20], eax
fldcw word [esp + 0x12]
fld1
fcomp st(7)
fnstsw ax
test ah, 0x41
jp 0x97eaaf
mov ebx, ecx
jmp 0x97eae8
fxch st(6)
fcom st(2)
fnstsw ax
test ah, 0x41
jp 0x97eabe
xor ebx, ebx
jmp 0x97eae6
fnstcw word [esp + 0x12]
movzx eax, word [esp + 0x12]
fld st(0)
fmul st(4)
or eax, 0xc00
mov dword [esp + 0x28], eax
fadd st(5)
fldcw word [esp + 0x28]
fistp qword [esp + 0x14]
mov ebx, dword [esp + 0x14]
fldcw word [esp + 0x12]
fxch st(6)
fld1
fcomp st(6)
fnstsw ax
test ah, 0x41
jp 0x97eafb
fstp st(5)
mov dword [esp + 0x28], ecx
jmp 0x97eb38
fxch st(5)
fcom st(2)
fnstsw ax
test ah, 0x41
jp 0x97eb0e
fstp st(0)
mov dword [esp + 0x28], edi
jmp 0x97eb38
fnstcw word [esp + 0x12]
movzx eax, word [esp + 0x12]
fmul st(3)
or eax, 0xc00
mov dword [esp + 0x28], eax
fadd st(4)
fldcw word [esp + 0x28]
fistp qword [esp + 0x14]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x28], edx
fldcw word [esp + 0x12]
fld1
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x97eb49
fstp st(1)
mov edx, ecx
jmp 0x97eb80
fxch st(1)
fcom st(2)
fnstsw ax
test ah, 0x41
jp 0x97eb5a
fstp st(0)
xor edx, edx
jmp 0x97eb80
fnstcw word [esp + 0x12]
movzx eax, word [esp + 0x12]
fmul st(3)
or eax, 0xc00
mov dword [esp + 0x14], eax
fadd st(4)
fldcw word [esp + 0x14]
fistp qword [esp + 0x14]
mov edx, dword [esp + 0x14]
fldcw word [esp + 0x12]
fcom st(4)
fnstsw ax
test ah, 0x41
jp 0x97eb8d
fstp st(4)
jmp 0x97ebc4
fxch st(4)
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x97eb9e
fstp st(0)
xor ecx, ecx
jmp 0x97ebc4
fnstcw word [esp + 0x12]
movzx eax, word [esp + 0x12]
fmul st(2)
or eax, 0xc00
mov dword [esp + 0x14], eax
fadd st(3)
fldcw word [esp + 0x14]
fistp qword [esp + 0x14]
mov ecx, dword [esp + 0x14]
fldcw word [esp + 0x12]
fxch st(3)
fcomp st(4)
fnstsw ax
test ah, 0x41
jp 0x97ebde
fstp st(0)
mov edi, 0xff
fstp st(0)
fstp st(1)
fstp st(0)
jmp 0x97ec1b
fxch st(2)
fcomp st(3)
fnstsw ax
test ah, 1
jne 0x97ebf3
fstp st(1)
xor edi, edi
fstp st(0)
fstp st(0)
jmp 0x97ec1b
fnstcw word [esp + 0x12]
movzx eax, word [esp + 0x12]
fxch st(2)
fmulp st(1)
or eax, 0xc00
mov dword [esp + 0x14], eax
faddp st(1)
fldcw word [esp + 0x14]
fistp qword [esp + 0x14]
mov edi, dword [esp + 0x14]
fldcw word [esp + 0x12]
mov eax, dword [esi]
shl edi, 8
or edi, dword [esp + 0x28]
push 0
shl edi, 8
or edi, edx
mov edx, dword [eax + 4]
shl edi, 8
or edi, ecx
mov ecx, esi
mov dword [esi + 4], 3
call edx
shl ebx, 8
or ebx, dword [esp + 0x38]
mov dword [eax + 0x10], edi
mov eax, dword [esi]
mov edx, dword [eax + 4]
shl ebx, 8
or ebx, dword [esp + 0x3c]
push 1
shl ebx, 8
or ebx, dword [esp + 0x24]
mov ecx, esi
call edx
mov edi, dword [esp + 0x2c]
shl edi, 8
or edi, dword [esp + 0x4c]
mov dword [eax + 0x10], ebx
mov eax, dword [esi]
mov edx, dword [eax + 4]
shl edi, 8
or edi, dword [esp + 0x40]
push 2
shl edi, 8
or edi, dword [esp + 0x28]
mov ecx, esi
call edx
mov dword [eax + 0x10], edi
mov edi, dword [esp + 0x30]
mov eax, dword [esi]
mov edx, dword [eax + 4]
shl edi, 8
or edi, dword [esp + 0x34]
push 3
shl edi, 8
or edi, dword [esp + 0x4c]
mov ecx, esi
shl edi, 8
or edi, dword [esp + 0x20]
call edx
fld dword [0xa91840]
sub esp, 8
fst dword [esp + 4]
mov dword [eax + 0x10], edi
mov edi, dword [esp + 0x5c]
fstp dword [esp]
fldz
push 0
sub esp, 0xc
fstp dword [esp + 8]
fild dword [edi + 4]
mov ecx, esi
fadd dword [ebp + 0x10]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp + 4]
fild dword [edi]
fadd dword [ebp + 0xc]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
call fcn.0057a060
fld dword [edi + 0x10]
fcomp qword [0xaa1bb8]
fnstsw ax
test ah, 0x41
jne 0x97ed41
mov eax, dword [esp + 0x50]
test eax, eax
jne 0x97ed3d
call fcn.00a2c47b
xor eax, eax
mov ecx, dword [esp + 0x54]
cmp ecx, dword [eax + 0x10]
jb 0x97ed27
call fcn.00a2c47b
add dword [esp + 0x54], 0x1c
mov ebx, dword [esp + 0x54]
mov esi, dword [esp + 0x60]
mov edi, dword [esp + 0x50]
jmp 0x97e600
mov eax, dword [eax]
jmp 0x97ed19
mov esi, dword [esp + 0x60]
mov ecx, dword [esi + 0x8c]
sub ecx, dword [esi + 0x88]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [esp + 0x44], eax
jl 0x97f58d
mov byte [esi + 0x78], 0
mov ecx, dword [esp + 0x1f8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x20
mov ebx, dword [esi + 0x6c]
cmp ebx, dword [esi + 0x70]
jbe 0x97ed97
call fcn.00a2c47b
mov edi, dword [esi + 0x60]
add ebx, 0x18
mov dword [esp + 0x50], edi
mov dword [esp + 0x28], ebx
mov eax, dword [esi + 0x70]
mov dword [esp + 0x14], eax
cmp dword [esi + 0x6c], eax
jbe 0x97edb6
call fcn.00a2c47b
mov esi, dword [esi + 0x60]
test edi, edi
je 0x97edc1
cmp edi, esi
je 0x97edc6
call fcn.00a2c47b
lea esi, [ebx - 0x18]
cmp esi, dword [esp + 0x14]
je 0x97f58d
test edi, edi
jne 0x97ee31
call fcn.00a2c47b
cmp esi, dword [edi + 0x10]
jb 0x97ede6
call fcn.00a2c47b
mov eax, dword [ebx + 4]
mov ecx, dword [ebx]
mov esi, dword [esp + 0x58]
push eax
push ecx
push eax
push ecx
mov ecx, dword [ebx + 8]
xor edi, edi
push edi
push edi
push ecx
add esi, 0x58
push 0xd39c0c
mov ecx, esi
call fcn.00579f60
fld1
fld dword [ebp + 0x18]
mov ecx, 0xff
fcom st(1)
fnstsw ax
test ah, 1
jne 0x97ee35
fld qword [0xa93158]
mov dword [esp + 0x20], ecx
fld qword [0xa93198]
fldz
jmp 0x97ee90
mov edi, dword [edi]
jmp 0x97eddc
fldz
fcom st(1)
fnstsw ax
test ah, 1
jne 0x97ee52
fld qword [0xa93158]
mov dword [esp + 0x20], edi
fld qword [0xa93198]
jmp 0x97ee8c
fnstcw word [esp + 0x12]
movzx eax, word [esp + 0x12]
fld st(1)
fld qword [0xa93198]
or eax, 0xc00
fmul st(1), st(0)
mov dword [esp + 0x14], eax
fld qword [0xa93158]
fadd st(2), st(0)
fldcw word [esp + 0x14]
fxch st(2)
fistp qword [esp + 0x14]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x20], edx
fldcw word [esp + 0x12]
fxch st(1)
fxch st(2)
fld dword [ebp + 0x1c]
fcom st(5)
fnstsw ax
test ah, 1
jne 0x97eea2
mov dword [esp + 0x3c], ecx
jmp 0x97eedd
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x97eeb1
mov dword [esp + 0x3c], edi
jmp 0x97eedd
fnstcw word [esp + 0x12]
movzx eax, word [esp + 0x12]
fld st(0)
fmul st(3)
or eax, 0xc00
mov dword [esp + 0x14], eax
fadd st(4)
fldcw word [esp + 0x14]
fistp qword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x3c], eax
fldcw word [esp + 0x12]
fld dword [ebp + 0x20]
fcom st(6)
fnstsw ax
test ah, 1
jne 0x97eeef
mov dword [esp + 0x38], ecx
jmp 0x97ef2a
fcom st(2)
fnstsw ax
test ah, 0x41
jp 0x97eefe
mov dword [esp + 0x38], edi
jmp 0x97ef2a
fnstcw word [esp + 0x12]
movzx eax, word [esp + 0x12]
fld st(0)
fmul st(4)
or eax, 0xc00
mov dword [esp + 0x14], eax
fadd st(5)
fldcw word [esp + 0x14]
fistp qword [esp + 0x14]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x38], edx
fldcw word [esp + 0x12]
fld dword [ebp + 0x24]
fcom st(7)
fnstsw ax
fstp st(7)
test ah, 1
jne 0x97ef3e
mov dword [esp + 0x2c], ecx
jmp 0x97ef7d
fxch st(6)
fcom st(2)
fnstsw ax
test ah, 0x41
jp 0x97ef4f
mov dword [esp + 0x2c], edi
jmp 0x97ef7b
fnstcw word [esp + 0x12]
movzx eax, word [esp + 0x12]
fld st(0)
fmul st(4)
or eax, 0xc00
mov dword [esp + 0x14], eax
fadd st(5)
fldcw word [esp + 0x14]
fistp qword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x2c], eax
fldcw word [esp + 0x12]
fxch st(6)
fld1
fcomp st(6)
fnstsw ax
test ah, 0x41
jp 0x97ef8e
mov dword [esp + 0x24], ecx
jmp 0x97efcd
fxch st(5)
fcom st(2)
fnstsw ax
test ah, 0x41
jp 0x97ef9f
mov dword [esp + 0x24], edi
jmp 0x97efcb
fnstcw word [esp + 0x12]
movzx eax, word [esp + 0x12]
fld st(0)
fmul st(4)
or eax, 0xc00
mov dword [esp + 0x14], eax
fadd st(5)
fldcw word [esp + 0x14]
fistp qword [esp + 0x14]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x24], edx
fldcw word [esp + 0x12]
fxch st(5)
fld1
fcomp st(2)
fnstsw ax
test ah, 0x41
jp 0x97efde
mov dword [esp + 0x40], ecx
jmp 0x97f01d
fxch st(1)
fcom st(2)
fnstsw ax
test ah, 0x41
jp 0x97efef
mov dword [esp + 0x40], edi
jmp 0x97f01b
fnstcw word [esp + 0x12]
movzx eax, word [esp + 0x12]
fld st(0)
fmul st(4)
or eax, 0xc00
mov dword [esp + 0x14], eax
fadd st(5)
fldcw word [esp + 0x14]
fistp qword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x40], eax
fldcw word [esp + 0x12]
fxch st(1)
fld1
fcomp st(1)
fnstsw ax
test ah, 0x41
jp 0x97f02e
mov dword [esp + 0x4c], ecx
jmp 0x97f069
fcom st(2)
fnstsw ax
test ah, 0x41
jp 0x97f03d
mov dword [esp + 0x4c], edi
jmp 0x97f069
fnstcw word [esp + 0x12]
movzx eax, word [esp + 0x12]
fld st(0)
fmul st(4)
or eax, 0xc00
mov dword [esp + 0x14], eax
fadd st(5)
fldcw word [esp + 0x14]
fistp qword [esp + 0x14]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x4c], edx
fldcw word [esp + 0x12]
fld1
fcomp st(7)
fnstsw ax
test ah, 0x41
jp 0x97f07a
mov dword [esp + 0x30], ecx
jmp 0x97f0b9
fxch st(6)
fcom st(2)
fnstsw ax
test ah, 0x41
jp 0x97f08b
mov dword [esp + 0x30], edi
jmp 0x97f0b7
fnstcw word [esp + 0x12]
movzx eax, word [esp + 0x12]
fld st(0)
fmul st(4)
or eax, 0xc00
mov dword [esp + 0x14], eax
fadd st(5)
fldcw word [esp + 0x14]
fistp qword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x30], eax
fldcw word [esp + 0x12]
fxch st(6)
fld1
fcomp st(6)
fnstsw ax
test ah, 0x41
jp 0x97f0ca
mov dword [esp + 0x1c], ecx
jmp 0x97f109
fxch st(5)
fcom st(2)
fnstsw ax
test ah, 0x41
jp 0x97f0db
mov dword [esp + 0x1c], edi
jmp 0x97f107
fnstcw word [esp + 0x12]
movzx eax, word [esp + 0x12]
fld st(0)
fmul st(4)
or eax, 0xc00
mov dword [esp + 0x14], eax
fadd st(5)
fldcw word [esp + 0x14]
fistp qword [esp + 0x14]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x1c], edx
fldcw word [esp + 0x12]
fxch st(5)
fld1
fcomp st(2)
fnstsw ax
test ah, 0x41
jp 0x97f11a
mov dword [esp + 0x48], ecx
jmp 0x97f159
fxch st(1)
fcom st(2)
fnstsw ax
test ah, 0x41
jp 0x97f12b
mov dword [esp + 0x48], edi
jmp 0x97f157
fnstcw word [esp + 0x12]
movzx eax, word [esp + 0x12]
fld st(0)
fmul st(4)
or eax, 0xc00
mov dword [esp + 0x14], eax
fadd st(5)
fldcw word [esp + 0x14]
fistp qword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x48], eax
fldcw word [esp + 0x12]
fxch st(1)
fld1
fcomp st(1)
fnstsw ax
test ah, 0x41
jp 0x97f16a
mov dword [esp + 0x34], ecx
jmp 0x97f1a5
fcom st(2)
fnstsw ax
test ah, 0x41
jp 0x97f179
mov dword [esp + 0x34], edi
jmp 0x97f1a5
fnstcw word [esp + 0x12]
movzx eax, word [esp + 0x12]
fld st(0)
fmul st(4)
or eax, 0xc00
mov dword [esp + 0x14], eax
fadd st(5)
fldcw word [esp + 0x14]
fistp qword [esp + 0x14]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x34], edx
fldcw word [esp + 0x12]
fld1
fcomp st(7)
fnstsw ax
test ah, 0x41
jp 0x97f1b4
mov ebx, ecx
jmp 0x97f1ed
fxch st(6)
fcom st(2)
fnstsw ax
test ah, 0x41
jp 0x97f1c3
xor ebx, ebx
jmp 0x97f1eb
fnstcw word [esp + 0x12]
movzx eax, word [esp + 0x12]
fld st(0)
fmul st(4)
or eax, 0xc00
mov dword [esp + 0x14], eax
fadd st(5)
fldcw word [esp + 0x14]
fistp qword [esp + 0x14]
mov ebx, dword [esp + 0x14]
fldcw word [esp + 0x12]
fxch st(6)
fld1
fcomp st(6)
fnstsw ax
test ah, 0x41
jp 0x97f200
fstp st(5)
mov dword [esp + 0x44], ecx
jmp 0x97f23d
fxch st(5)
fcom st(2)
fnstsw ax
test ah, 0x41
jp 0x97f213
fstp st(0)
mov dword [esp + 0x44], edi
jmp 0x97f23d
fnstcw word [esp + 0x12]
movzx eax, word [esp + 0x12]
fmul st(3)
or eax, 0xc00
mov dword [esp + 0x14], eax
fadd st(4)
fldcw word [esp + 0x14]
fistp qword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x44], eax
fldcw word [esp + 0x12]
fld1
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x97f24e
fstp st(1)
mov edx, ecx
jmp 0x97f285
fxch st(1)
fcom st(2)
fnstsw ax
test ah, 0x41
jp 0x97f25f
fstp st(0)
xor edx, edx
jmp 0x97f285
fnstcw word [esp + 0x12]
movzx eax, word [esp + 0x12]
fmul st(3)
or eax, 0xc00
mov dword [esp + 0x14], eax
fadd st(4)
fldcw word [esp + 0x14]
fistp qword [esp + 0x14]
mov edx, dword [esp + 0x14]
fldcw word [esp + 0x12]
fcom st(4)
fnstsw ax
test ah, 0x41
jp 0x97f292
fstp st(4)
jmp 0x97f2c9
fxch st(4)
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x97f2a3
fstp st(0)
xor ecx, ecx
jmp 0x97f2c9
fnstcw word [esp + 0x12]
movzx eax, word [esp + 0x12]
fmul st(2)
or eax, 0xc00
mov dword [esp + 0x14], eax
fadd st(3)
fldcw word [esp + 0x14]
fistp qword [esp + 0x14]
mov ecx, dword [esp + 0x14]
fldcw word [esp + 0x12]
fxch st(3)
fcomp st(4)
fnstsw ax
test ah, 0x41
jp 0x97f2e3
fstp st(0)
mov edi, 0xff
fstp st(0)
fstp st(1)
fstp st(0)
jmp 0x97f320
fxch st(2)
fcomp st(3)
fnstsw ax
test ah, 1
jne 0x97f2f8
fstp st(1)
xor edi, edi
fstp st(0)
fstp st(0)
jmp 0x97f320
fnstcw word [esp + 0x12]
movzx eax, word [esp + 0x12]
fxch st(2)
fmulp st(1)
or eax, 0xc00
mov dword [esp + 0x14], eax
faddp st(1)
fldcw word [esp + 0x14]
fistp qword [esp + 0x14]
mov edi, dword [esp + 0x14]
fldcw word [esp + 0x12]
shl edi, 8
or edi, dword [esp + 0x44]
push 0
shl edi, 8
or edi, edx
mov edx, dword [esi]
mov eax, dword [edx + 4]
shl edi, 8
or edi, ecx
mov ecx, esi
mov dword [esi + 4], 3
call eax
shl ebx, 8
or ebx, dword [esp + 0x1c]
mov dword [eax + 0x10], edi
mov edx, dword [esi]
mov eax, dword [edx + 4]
shl ebx, 8
or ebx, dword [esp + 0x48]
push 1
shl ebx, 8
or ebx, dword [esp + 0x38]
mov ecx, esi
call eax
mov edi, dword [esp + 0x30]
shl edi, 8
or edi, dword [esp + 0x24]
mov dword [eax + 0x10], ebx
mov edx, dword [esi]
mov eax, dword [edx + 4]
shl edi, 8
or edi, dword [esp + 0x40]
push 2
shl edi, 8
or edi, dword [esp + 0x50]
mov ecx, esi
call eax
mov dword [eax + 0x10], edi
mov edi, dword [esp + 0x2c]
mov edx, dword [esi]
mov eax, dword [edx + 4]
shl edi, 8
or edi, dword [esp + 0x20]
push 3
shl edi, 8
or edi, dword [esp + 0x40]
mov ecx, esi
shl edi, 8
or edi, dword [esp + 0x3c]
call eax
fld dword [0xa91840]
sub esp, 8
fst dword [esp + 4]
mov ecx, esi
fstp dword [esp]
push 0
fldz
sub esp, 0xc
fstp dword [esp + 8]
mov dword [eax + 0x10], edi
fld dword [ebp + 0x10]
fstp dword [esp + 4]
fld dword [ebp + 0xc]
fstp dword [esp]
call fcn.0057a060
cmp dword [esp + 0x50], 0
jne 0x97f41b
call fcn.00a2c47b
xor eax, eax
mov ecx, dword [esp + 0x28]
add ecx, 0xffffffe8
cmp ecx, dword [eax + 0x10]
jb 0x97f405
call fcn.00a2c47b
add dword [esp + 0x28], 0x24
mov esi, dword [esp + 0x60]
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x50]
jmp 0x97eda5
mov ecx, dword [esp + 0x50]
mov eax, dword [ecx]
jmp 0x97f3f4
lea ecx, [esp + 0x84]
call fcn.0097c370
mov edx, dword [ebp + 0x14]
mov esi, dword [esp + 0x58]
push edi
lea eax, [esp + 0x88]
push eax
mov ecx, esi
mov dword [esp + 0x208], 1
mov dword [esp + 0xac], 0
mov dword [esp + 0x9c], edx
call fcn.00979f90
push edi
lea ecx, [esp + 0x88]
push ecx
mov ecx, esi
call fcn.0097c8b0
lea edx, [esp + 0x84]
push edx
mov ecx, esi
call fcn.0097cb50
fldz
mov ecx, dword [esi + 0x24]
mov edx, dword [esi + 0x28]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esi + 0x2c]
mov dword [eax + 4], edx
mov edx, dword [esi + 0x30]
mov dword [eax + 8], ecx
sub esp, 8
mov dword [eax + 0xc], edx
fst dword [esp + 4]
lea eax, [esp + 0x9c]
fstp dword [esp]
push eax
mov ecx, esi
call fcn.0097a720
test byte [esi + 0x48], 2
je 0x97f4ce
lea ecx, [esp + 0x84]
push ecx
mov ecx, esi
call fcn.0097cbf0
sub esp, 0x70
lea edx, [esp + 0xf4]
mov ecx, esp
mov dword [esp + 0x84], esp
push edx
call fcn.0097c3d0
lea eax, [esp + 0x1f0]
push edi
push eax
call fcn.0097cf40
add esp, 0x78
push eax
lea ecx, [esp + 0xf8]
mov byte [esp + 0x204], 2
call fcn.0097c750
mov eax, dword [ebx + 0x1c]
mov ecx, dword [ebx + 8]
push eax
push ecx
lea ecx, [esp + 0xfc]
push ecx
lea edx, [esp + 0x68]
push edx
mov ecx, ebx
mov byte [esp + 0x210], 3
call fcn.0097e050
lea ecx, [esp + 0x110]
call fcn.0097b040
cmp dword [esp + 0x10c], 0x10
jb 0x97f557
mov eax, dword [esp + 0xf8]
push eax
call fcn.00a29d75
add esp, 4
lea ecx, [esp + 0x184]
mov dword [esp + 0x10c], 0xf
mov dword [esp + 0x108], 0
mov byte [esp + 0xf8], 0
call fcn.0097b040
lea ecx, [esp + 0x84]
call fcn.0097b040
mov ecx, dword [esp + 0x1f8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x20