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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x1bc
mov edi, dword [ebp + 8]
mov eax, dword [ebp + 8]
mov ebx, dword [ebp + 8]
mov esi, dword [edi + 0x84]
mov edx, dword [ebp + 8]
add ebx, 0x2538
mov ecx, dword [edx]
mov dword [ebp - 0x8c], esi
mov esi, dword [eax + 0xab0]
add eax, 0x7a0
test byte [0x128f610], 1
mov dword [ebp - 0x108], ebx
mov dword [ebp - 0x9c], ecx
mov ebx, ecx
mov dword [ebp - 0x104], eax
je 0x934a1c
emms
mov eax, dword [ebp + 8]
mov ebx, dword [eax]
mov ecx, dword [ebp + 8]
mov edi, dword [ecx + 0x3c]
test edi, 0x400
je 0x934a34
cmp dword [ebx + 0x78], 1
je 0x935780
mov eax, dword [ebx + 0x238]
mov edx, dword [ebx + 0x23c]
cmp eax, edx
jg 0x935a6f
cmp esi, 3
je 0x93559b
cmp esi, 1
je 0x9356ea
cmp eax, 1
mov ecx, 1
jl 0x934a70
mov cx, 0x7fff
cmp eax, 0x8000
cmovl ecx, eax
cmp edx, 1
mov eax, 1
jl 0x934a87
mov ax, 0x7fff
cmp edx, 0x8000
cmovl eax, edx
cmp eax, ecx
mov dword [ebp - 0x70], ecx
fld1
cmovl eax, ecx
fld1
fxch st(1)
mov dword [ebp - 0x74], eax
mov edx, dword [ebx + 0x24]
mov eax, dword [ebx + 0x20]
push edx
fidiv dword [esp]
mov dword [esp], eax
fimul dword [esp]
add esp, 4
cmp dword [ebp - 0x8c], 2
setg cl
xor ebx, ebx
cmp dword [ebp + 0xc], 0
sete bl
fdivp st(1)
test ebx, ecx
fstp qword [ebp - 0x88]
je 0x934b6b
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0xab4]
cmp eax, 1
je 0x9359d3
mov edx, dword [ebp - 0x108]
mov ecx, dword [edx + 0xe0]
cvtsi2sd xmm5, ecx
mov ebx, dword [ebp + 8]
fld1
movsd qword [ebp - 0x170], xmm5
mov ecx, dword [ebp - 0x108]
fld1
fld qword [ebp - 0x170]
cvtsi2sd xmm4, dword [ebx + 0x2530]
mov edx, dword [ebp - 0x108]
fsqrt
movsd qword [ebp - 0x170], xmm4
lea eax, [eax + eax*2]
fld qword [ebp - 0x170]
fxch st(3)
fadd st(1)
lea eax, [edx + eax*8]
fdivr st(2)
fxch st(3)
fmul qword [ecx + 0xb0]
lea edx, [eax + 0x18]
fmulp st(3)
fld dword [0xd31fe0]
fcompi st(1)
fstp st(0)
ja 0x9356e1
fld qword [edx + 0x10]
fld qword [edx + 8]
fmul st(1)
fxch st(1)
fmul qword [eax + 0x18]
fxch st(1)
faddp st(2)
faddp st(2)
fstp qword [edx + 8]
fstp qword [eax + 0x18]
test edi, 0x400
je 0x93512e
mov ecx, dword [ebp - 0x8c]
test ecx, ecx
js 0x935aa7
mov ebx, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x108]
cmp dword [eax + 4], ebx
jle 0x935a8b
mov ecx, dword [ebp - 0x8c]
mov ebx, dword [ebp - 0x108]
lea edx, [ecx + ecx*8]
mov eax, dword [ebx + 8]
lea ebx, [eax + edx*8]
mov ecx, dword [ebx + 0x20]
mov edx, dword [ebx + 0x24]
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0x94], edx
mov ecx, dword [ebp + 8]
fld1
fld dword [0xd31fe4]
mov eax, dword [ecx + 0x2528]
mov edx, dword [ecx + 0x252c]
sub eax, dword [ebp - 0x98]
sbb edx, dword [ebp - 0x94]
push edx
push eax
mov edx, dword [ebp - 0x9c]
fild qword [esp]
add esp, 8
cvtsi2sd xmm7, dword [edx + 8]
movsd qword [ebp - 0x170], xmm7
fld qword [ebp - 0x170]
fsubr st(1), st(0)
fdivp st(3)
fmulp st(2)
fxch st(1)
fstp dword [ebp - 0x6c]
fldz
fld dword [ebp - 0x6c]
fcomi st(1)
fstp st(1)
fcmovbe st(0), st(1)
fstp st(1)
cmp esi, 1
fstp dword [ebp - 0x10c]
je 0x9355f0
mov ecx, dword [ebp - 0x104]
mov edx, dword [ecx + 0x220]
fldz
and edi, 0x400
fstp qword [ebp - 0x80]
je 0x9351b2
cmp esi, 1
je 0x934c57
cmp dword [ebx + 0x28], esi
jne 0x935af8
fld dword [ebp - 0x10c]
fdivr dword [ebx + 0x2c]
fstp dword [ebp - 0x110]
mov edx, dword [ebp + 8]
mov eax, dword [edx]
test byte [eax + 0x194], 2
jne 0x935601
cvtsi2ss xmm0, dword [ebp - 0x70]
comiss xmm0, dword [ebp - 0x110]
ja 0x934c93
cvtsi2ss xmm0, dword [ebp - 0x74]
minss xmm0, dword [ebp - 0x110]
mov ecx, dword [ebp + 8]
mov esi, dword [ecx + 0xaa4]
test esi, esi
je 0x935514
mov esi, dword [ecx]
mov ebx, dword [ecx + 0xb4]
fld dword [0xd32008]
fld dword [esi + 0x158]
lea edx, [ebx*4 + 0x1e]
fldz
fxch st(1)
fmul st(2)
fxch st(2)
and edx, 0xfffffff0
fmul dword [esi + 0x168]
fxch st(2)
cvtss2sd xmm6, xmm0
fstp dword [ebp - 0xb0]
fxch st(1)
fstp dword [ebp - 0xb4]
fld dword [esi + 0x15c]
fld dword [esi + 0x160]
fld dword [esi + 0x164]
fld dword [esi + 0x2ac]
fld st(4)
fxch st(4)
mov eax, edx
movsd qword [ebp - 0xa8], xmm6
mov dword [ebp - 0xc8], esp
fstp dword [ebp - 0xb8]
fxch st(2)
fstp dword [ebp - 0xbc]
fstp dword [ebp - 0xc0]
fstp dword [ebp - 0xc4]
call fcn.00a51dc8
lea edi, [esp + 0x5f]
mov eax, edx
and edi, 0xfffffff0
mov dword [ebp - 0xcc], edi
call fcn.00a51dc8
lea eax, [esp + 0x5f]
mov ecx, dword [esi + 0x2b0]
mov edx, dword [ebp + 8]
and eax, 0xfffffff0
mov dword [ebp - 0xd4], ecx
mov edi, dword [esi + 0x2b4]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp + 8]
mov edx, dword [edx + 0x98]
mov ecx, dword [eax + 0x9c]
cmp ebx, 0
mov dword [ebp - 0xd8], edi
mov dword [ebp - 0xdc], edx
mov dword [ebp - 0xe0], ecx
mov dword [ebp - 0xac], 0
jle 0x935794
shl edx, 2
shl ecx, 2
mov dword [ebp - 0xf4], edx
mov dword [ebp - 0xfc], ecx
sar edx, 0x1f
sar ecx, 0x1f
mov dword [ebp - 0xf8], edx
mov dword [ebp - 0x100], ecx
jmp 0x934fe4
fld dword [ebp - 0xb8]
fxch st(1)
fst dword [ebp - 0xe4]
fstp qword [esp]
fchs
fstp qword [esp + 8]
fstp dword [ebp - 0x128]
fstp dword [ebp - 0x138]
fxch st(1)
fstp dword [ebp - 0x148]
fstp dword [ebp - 0x158]
movss dword [ebp - 0x168], xmm0
call fcn.00a5b6c8
movss xmm0, dword [ebp - 0x168]
fld dword [ebp - 0x158]
fxch st(1)
fstp dword [ebp - 0x6c]
fld dword [ebp - 0x148]
fld dword [ebp - 0x138]
fld dword [ebp - 0x6c]
fld dword [ebp - 0x128]
fxch st(1)
fxch st(3)
fxch st(4)
fxch st(3)
fstp qword [ebp - 0xf0]
fld dword [ebp - 0xbc]
fxch st(1)
fstp qword [esp]
fchs
fstp qword [esp + 8]
fstp dword [ebp - 0x138]
fxch st(1)
fstp dword [ebp - 0x148]
fstp dword [ebp - 0x158]
movss dword [ebp - 0x168], xmm0
call fcn.00a5b6c8
cmp ebx, 0x7f
fld dword [ebp - 0x138]
fxch st(1)
fmul qword [ebp - 0xf0]
fld dword [ebp - 0x148]
fld dword [ebp - 0x158]
fxch st(2)
fst dword [ebp - 0x6c]
fstp qword [ebp - 0xf0]
movss xmm0, dword [ebp - 0x6c]
movss dword [ebp - 0x174], xmm0
movss xmm0, dword [ebp - 0x168]
fld dword [ebp - 0x174]
jle 0x935119
lea eax, [ebx - 0x80]
fld dword [ebp - 0xb0]
imul eax, eax
push eax
mov ecx, 0x66666667
fld1
fxch st(1)
mov eax, dword [ebp - 0xdc]
fimul dword [esp]
add esp, 4
imul ecx
fsubp st(1)
mov ebx, edx
mov edx, dword [ebp - 0xdc]
fmulp st(1)
sar ebx, 1
sar edx, 0x1f
fstp dword [ebp - 0x6c]
sub ebx, edx
fld dword [ebp - 0x6c]
cmp ebx, esi
jle 0x9350e5
fstp st(3)
cvtsi2ss xmm3, ebx
mov ecx, ebx
fld1
movss dword [ebp - 0x174], xmm3
sub ecx, esi
fld dword [ebp - 0x174]
push ecx
fdivp st(1)
fimul dword [esp]
add esp, 4
mov ecx, 0x66666667
mov eax, dword [ebp - 0xe0]
mov esi, dword [ebp - 0xe0]
imul ecx
sar esi, 0x1f
mov ebx, edx
sar ebx, 1
sub ebx, esi
cmp ebx, edi
jle 0x9350b1
cvtsi2ss xmm4, ebx
mov ecx, ebx
movss dword [ebp - 0x174], xmm4
sub ecx, edi
fld dword [ebp - 0x174]
push ecx
fdivr dword [0xd31fdc]
fimul dword [esp]
add esp, 4
fcomi st(1)
fcmovb st(0), st(1)
fstp st(1)
fmul dword [ebp - 0xc4]
fld1
fld qword [0xd32010]
fxch st(1)
fsubrp st(2)
fld dword [0xd32018]
fxch st(2)
mov edi, dword [ebp - 0xac]
fmulp st(5)
fxch st(4)
mov ebx, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xcc]
fstp dword [ebp - 0x6c]
fxch st(2)
mov esi, dword [ebp + 8]
fadd dword [ebp - 0xe4]
fld dword [ebp - 0x6c]
fld st(0)
fcompi st(5)
fstp st(4)
fld dword [ebp - 0xe4]
fxch st(4)
fcmovb st(0), st(3)
fstp st(3)
fxch st(3)
fstp dword [ecx + edi*4]
fxch st(1)
fmul dword [ebp - 0xe4]
fst dword [ebx + edi*4]
add edi, 1
mov ebx, dword [esi + 0xb4]
cmp ebx, edi
faddp st(1)
mov dword [ebp - 0xac], edi
jle 0x935796
fxch st(1)
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xac]
fldz
mov ebx, dword [eax + 0x2068]
mov esi, dword [ebx + ecx*4]
mov ebx, dword [ebp - 0x104]
mov dword [ebp - 0x178], esi
mov edi, dword [ebx + 0x228]
mov esi, dword [ebp - 0x178]
movzx edx, word [edi + esi*2]
cvtsi2sd xmm1, edx
movsd qword [ebp - 0x170], xmm1
fld qword [ebp - 0x170]
fsqrt
fstp dword [ebp - 0x6c]
mov eax, dword [ebx + 0x224]
fld dword [ebp - 0x6c]
movzx ecx, word [eax + esi*2]
mov eax, esi
cvtsi2sd xmm7, ecx
cdq
mov ecx, dword [ebp + 8]
movsd qword [ebp - 0x170], xmm7
fld qword [ebp - 0x170]
fsqrt
fstp dword [ebp - 0x6c]
fld dword [0xd3200c]
fld dword [ebp - 0x6c]
idiv dword [ecx + 0xa0]
mov edi, dword [ebx + 0x22c]
fcomi st(1)
movzx ebx, byte [esi + edi]
mov edi, eax
fcmovbe st(0), st(1)
fxch st(2)
mov eax, dword [ecx + 0x2028]
fcomi st(1)
mov ecx, dword [ebp - 0x178]
fcmovbe st(0), st(1)
fstp st(1)
mov esi, edx
test byte [eax + ecx*2], 1
je 0x934dc2
fstp st(0)
fld dword [ebp - 0xc0]
fxch st(1)
fst dword [ebp - 0xe4]
fxch st(1)
fadd dword [0xd31fdc]
jmp 0x934e30
mov eax, dword [ebp - 0xfc]
imul ecx
mov ecx, edx
sar ecx, 1
sub ecx, dword [ebp - 0x100]
cmp ecx, edi
jge 0x934f66
cvtsi2ss xmm5, ebx
sub edi, ecx
movss dword [ebp - 0x174], xmm5
fld dword [ebp - 0x174]
push edi
jmp 0x934f54
mov eax, dword [ebp - 0xf4]
imul ecx
mov ecx, edx
sar ecx, 1
sub ecx, dword [ebp - 0xf8]
cmp ecx, esi
jge 0x935127
fstp st(3)
cvtsi2ss xmm2, ebx
sub esi, ecx
fld1
movss dword [ebp - 0x174], xmm2
fld dword [ebp - 0x174]
push esi
jmp 0x934f11
lea eax, [ebx - 0x80]
fld dword [ebp - 0xb4]
jmp 0x934eba
fxch st(3)
jmp 0x934f19
mov edx, dword [ebp + 8]
lea ebx, [ebp - 0x68]
cmp dword [edx + 0xab0], 3
je 0x93514b
mov edi, dword [edx + 0x2850]
test edi, edi
je 0x935742
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x9e0]
test eax, eax
je 0x93516d
mov ecx, dword [eax + 0x3c]
mov edx, dword [eax + 0x38]
mov eax, ecx
xor eax, 0x80000000
or eax, edx
jne 0x93599e
cvtsi2sd xmm6, dword [ebp - 0x8c]
mov edi, dword [ebp + 8]
fld1
movsd qword [ebp - 0x170], xmm6
fdiv qword [ebp - 0x88]
fld qword [ebp - 0x170]
fimul dword [edi + 0x14]
fmulp st(1)
fstp qword [esp]
call fcn.00a52088
mov dword [ebp - 0x94], edx
mov edx, dword [ebp + 8]
mov dword [ebp - 0x98], eax
mov edi, dword [edx + 0x3c]
jmp 0x934bc1
mov dword [ebx + 0x28], esi
mov dword [ebx], esi
mov ecx, dword [ebp - 0x104]
mov eax, dword [ecx + 0x220]
fld dword [0xd31fe8]
cvtsi2sd xmm1, edx
mov dword [ebx + 0x30], eax
fst dword [ebx + 4]
cmp esi, 1
mov edi, dword [ecx + 0x21c]
mov ecx, dword [ebp + 8]
mov dword [ebx + 0x34], edi
mov eax, dword [ecx + 0x1c88]
mov dword [ebx + 0x40], eax
lea eax, [esi + esi*2]
mov edi, dword [ecx + 0x1c8c]
mov ecx, dword [ebp - 0x108]
mov dword [ebx + 0x14], 1
mov dword [ebx + 0x44], edi
movsd qword [ebp - 0x170], xmm1
lea edi, [ecx + eax*8]
fld qword [ebp - 0x170]
fld qword [edi + 0x20]
fmulp st(2)
fsqrt
fld1
fxch st(1)
fmul qword [edi + 0x18]
fxch st(2)
fdivp st(1)
fmulp st(1)
je 0x9359e4
fld st(0)
mov dword [ebx + 0x38], 0
mov dword [ebx + 0xc], 0
fmul qword [0xd31ff0]
fxch st(1)
fmul qword [0xd31ff8]
fxch st(1)
fstp qword [ebp - 0x170]
movsd xmm2, qword [ebp - 0x170]
cvttsd2si edx, xmm2
mov dword [ebx + 0x10], edx
fstp qword [ebp - 0x170]
movsd xmm3, qword [ebp - 0x170]
cvttsd2si eax, xmm3
mov dword [ebx + 8], eax
mov ecx, dword [ebp - 0x108]
mov edi, dword [ecx + esi*8 + 0xec]
mov eax, dword [ecx + esi*8 + 0xe8]
push edi
push eax
fild qword [esp]
add esp, 8
test edi, edi
js 0x935a43
fstp dword [ebp - 0x6c]
fld dword [ebx + 4]
fld dword [ebp - 0x6c]
fxch st(1)
fimul dword [ebx + 0xc]
faddp st(1)
fstp dword [esp]
call fcn.00a524c8
mov ecx, dword [ebp - 0x108]
mov dword [ecx + esi*8 + 0xec], edx
mov edx, dword [ecx + esi*8 + 0x114]
mov dword [ecx + esi*8 + 0xe8], eax
mov edi, dword [ecx + esi*8 + 0x110]
push edx
push edi
fild qword [esp]
add esp, 8
test edx, edx
js 0x935a4e
fstp dword [ebp - 0x6c]
fld dword [ebx + 4]
fld dword [ebp - 0x6c]
fxch st(1)
fimul dword [ebx + 0x10]
faddp st(1)
fstp dword [esp]
call fcn.00a524c8
mov edi, dword [ebp - 0x108]
fld1
fdiv qword [edi + 0xa0]
mov dword [edi + esi*8 + 0x110], eax
mov eax, dword [ebx + 8]
fmul qword [edi + 0xa8]
mov dword [edi + esi*8 + 0x114], edx
cdq
fmul dword [ebp - 0x10c]
add dword [edi + esi*8 + 0x138], eax
mov eax, dword [ebp - 0x8c]
adc dword [edi + esi*8 + 0x13c], edx
add dword [edi + esi*4 + 0x188], 1
mov dword [esp + 8], eax
fstp qword [esp]
mov edx, ebx
mov eax, dword [ebp + 8]
call fcn.00933ef8
fldz
fxch st(1)
fstp dword [ebp - 0x6c]
fld dword [ebp - 0x6c]
fcomi st(1)
jb 0x935a60
jbe 0x935ad4
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x108]
mov edi, dword [ecx]
mov ecx, dword [ebx + 0x28]
mov edx, eax
fld qword [eax + 0xc8]
cmp ecx, 1
mov eax, dword [eax + 0x19c]
fld qword [edx + eax*8 + 0xb8]
je 0x935a18
fstp st(1)
cmp ecx, 3
je 0x935766
fstp st(0)
fld1
fcomi st(1)
fxch st(1)
fcmovnbe st(0), st(1)
cmp eax, ecx
sete dl
cmp ecx, 1
setne al
or eax, edx
test al, 1
je 0x935404
mov eax, dword [edi + 0x6c]
mov edx, dword [ebp - 0x108]
mov edi, eax
fld qword [edx + ecx*8 + 0xb8]
shl edi, 4
sub edi, eax
shl edi, 2
sub edi, eax
add edi, edi
cvtsi2sd xmm4, edi
movsd qword [ebp - 0x170], xmm4
fld qword [ebp - 0x170]
fld st(0)
fadd st(2)
fcomi st(3)
jae 0x935757
fstp st(1)
fstp st(1)
fstp st(1)
mov eax, dword [ebp - 0x108]
cmp ecx, 3
fst qword [eax + ecx*8 + 0xb8]
je 0x93541c
mov dword [eax + 0x19c], ecx
fstp dword [ebp - 0x6c]
fld dword [ebp - 0x6c]
fcomi st(2)
jbe 0x935ae5
cmp esi, 2
je 0x93543d
mov edi, dword [ebp + 8]
mov ecx, dword [edi + 0x10]
test ecx, ecx
je 0x935750
fxch st(1)
mov eax, dword [ebp - 0x108]
mov edx, dword [ebp - 0x9c]
fst qword [ebp - 0x80]
fld dword [edx + 0x60]
fld qword [eax + 0x90]
fmul st(1)
fxch st(1)
fmul qword [eax + 0x98]
faddp st(2)
faddp st(2)
fst qword [eax + 0x98]
fdivr qword [ebp - 0x80]
fxch st(1)
fst qword [eax + 0x90]
fmulp st(1)
fst dword [ebp - 0x6c]
fstp qword [ebp - 0x80]
movss xmm5, dword [ebp - 0x6c]
movss dword [ebp - 0x174], xmm5
fld dword [ebp - 0x174]
fcomi st(1)
jbe 0x935ac3
mov edi, dword [ebp - 0x8c]
fstp qword [esp]
mov edx, ebx
mov dword [esp + 8], edi
fstp dword [ebp - 0x158]
mov eax, dword [ebp + 8]
call fcn.00934428
mov ecx, dword [ebp + 8]
mov ebx, dword [ebp - 0x108]
fstp dword [ebp - 0x110]
fld qword [ebp - 0x88]
fld dword [ebp - 0x158]
fxch st(1)
fdivr qword [0xd32028]
fimul dword [ecx + 0x14]
fadd qword [ebx + 0xa8]
fstp qword [ebx + 0xa8]
fld dword [ebp - 0x110]
fcompi st(1)
fstp st(0)
ja 0x934c66
mov dword [esp + 8], 0x312
mov dword [esp + 4], 0xd31ede
mov dword [esp], 0xd31f20
call fcn.00a5b730
movss dword [ebp - 0x174], xmm0
fld dword [0xd31fd8]
fld dword [ebp - 0x174]
faddp st(1)
fstp qword [ebp - 0x170]
movsd xmm0, qword [ebp - 0x170]
cvttsd2si esi, xmm0
cvtsi2ss xmm0, esi
mov ecx, dword [ebp + 0xc]
test ecx, ecx
jne 0x935585
movss dword [ebp - 0x174], xmm0
mov edx, dword [ebp - 0x104]
mov edi, dword [ebp - 0x108]
mov eax, dword [edx + 0x220]
fld dword [ebp - 0x174]
mov esi, dword [ebp - 0x108]
mov dword [edi + 0xe0], eax
fstp qword [esi + 0xb0]
mov ebx, dword [edx + 0x21c]
mov dword [edi + 0xe4], ebx
movss dword [ebp - 0x174], xmm0
fld dword [ebp - 0x174]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
fld dword [ebx + 0x74]
push eax
fld dword [0xd31fd8]
fxch st(1)
fabs
fld dword [ebx + 0xf8]
fld st(1)
fimul dword [esp]
fadd st(1)
fadd st(3)
fstp qword [ebp - 0x170]
fxch st(1)
movsd xmm0, qword [ebp - 0x170]
mov dword [esp], edx
fimul dword [esp]
cvttsd2si eax, xmm0
add esp, 4
faddp st(1)
faddp st(1)
fstp qword [ebp - 0x170]
movsd xmm1, qword [ebp - 0x170]
cvttsd2si edx, xmm1
jmp 0x934a5a
mov eax, dword [ebp - 0x104]
mov edx, dword [eax + 0x21c]
jmp 0x934c38
mov dword [esp], esi
call fcn.00672abb
cvttsd2si ecx, qword [ebp - 0x88]
mov dword [esp + 0x4c], ecx
movsx esi, al
mov edi, dword [ebp + 8]
mov ebx, dword [edi + 0x14]
mov edi, 0x10624dd3
mov eax, ebx
sar ebx, 0x1f
imul edi
sar edx, 6
sub edx, ebx
mov dword [esp + 0x48], edx
mov eax, dword [ebp - 0x104]
mov ecx, dword [eax + 0x220]
mov dword [esp + 0x44], ecx
mov ebx, dword [eax + 0x21c]
mov dword [esp + 0x40], ebx
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x2530]
mov dword [esp + 0x3c], edx
fld qword [ebp - 0x80]
fstp qword [esp + 0x34]
fld dword [ebp - 0x10c]
fstp qword [esp + 0x2c]
mov ebx, dword [ecx + 0x2528]
mov eax, ebx
sar ebx, 0x1f
imul edi
sar edx, 6
sub edx, ebx
mov dword [esp + 0x28], edx
mov ecx, dword [ebp - 0x98]
mov eax, ecx
imul edi
mov eax, ecx
mov ebx, edx
cdq
sar ebx, 6
sub ebx, edx
mov dword [esp + 0x24], ebx
mov eax, dword [ebp - 0x8c]
mov dword [esp + 0x20], eax
mov edi, dword [ebp - 0x74]
mov dword [esp + 0x1c], edi
fld dword [ebp - 0x110]
fstp qword [esp + 0x14]
mov ecx, dword [ebp - 0x70]
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0xd31f28
mov dword [esp + 0x10], ecx
mov dword [esp + 4], 0x30
mov ebx, dword [ebp + 8]
mov esi, dword [ebx]
mov dword [esp], esi
call fcn.00961b69
jmp 0x934c78
fstp st(0)
fstp st(0)
jmp 0x934b6b
fld dword [ebx + 0x148]
push eax
fld dword [0xd31fd8]
fxch st(1)
fabs
fld dword [ebx + 0x14c]
fld st(1)
fimul dword [esp]
fadd st(1)
fadd st(3)
fstp qword [ebp - 0x170]
fxch st(1)
movsd xmm2, qword [ebp - 0x170]
mov dword [esp], edx
fimul dword [esp]
cvttsd2si eax, xmm2
add esp, 4
faddp st(1)
faddp st(1)
fstp qword [ebp - 0x170]
movsd xmm3, qword [ebp - 0x170]
cvttsd2si edx, xmm3
jmp 0x934a5a
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x9d8]
jmp 0x935154
fstp st(1)
jmp 0x935491
fstp st(0)
fsubp st(1)
fcomi st(1)
fcmovbe st(0), st(1)
fstp st(1)
jmp 0x935404
fld dword [edi + 0x74]
fcomi st(3)
jbe 0x935a29
fstp st(2)
fmulp st(1)
fadd dword [edi + 0xf8]
jmp 0x9353a9
mov edx, dword [ebp + 0xc]
mov dword [esp], ecx
mov dword [esp + 4], edx
call fcn.0095eb02
jmp 0x935593
fxch st(1)
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x3c]
test edx, 0x20000
je 0x9358e3
fld st(0)
xor eax, eax
cmp ebx, 0
fdiv st(2)
jle 0x935a59
cvtsi2sd xmm7, dword [ebp - 0xd8]
cvtsi2sd xmm6, dword [ebp - 0xd4]
fld1
movsd qword [ebp - 0x170], xmm7
cvtsi2ss xmm1, dword [ebp - 0xd8]
cvtsi2ss xmm2, dword [ebp - 0xd4]
fld qword [ebp - 0x170]
movsd qword [ebp - 0x170], xmm6
fld qword [ebp - 0x170]
jmp 0x935848
movss dword [ebp - 0x174], xmm2
fld dword [ebp - 0x174]
fcompi st(1)
fstp st(0)
jbe 0x935997
mov edi, dword [ebp - 0xd0]
fld qword [ebp - 0xa8]
mov ecx, dword [ebp - 0xcc]
fld1
fxch st(6)
fsub dword [edi + eax*4]
fxch st(1)
fmul dword [ecx + eax*4]
fxch st(6)
fdiv st(2)
fmulp st(6)
fxch st(5)
fsubp st(6)
fxch st(5)
fstp dword [ebp - 0x6c]
fld dword [ebp - 0x6c]
add eax, 1
cmp ebx, eax
jle 0x9358aa
fxch st(5)
fld qword [ebp - 0xa8]
mov edi, dword [ebp - 0xcc]
fld st(3)
fxch st(1)
mov ecx, dword [ebp - 0xd0]
fmul dword [edi + eax*4]
fxch st(1)
fdiv dword [ecx + eax*4]
movss dword [ebp - 0x174], xmm1
fmulp st(1)
fld dword [ebp - 0x174]
fxch st(1)
fstp dword [ebp - 0x6c]
fld dword [ebp - 0x6c]
fmul st(5)
fcomi st(1)
fstp st(1)
jbe 0x9357f7
fstp st(0)
fld qword [ebp - 0xa8]
mov esi, dword [ebp - 0xcc]
fld st(3)
fxch st(6)
fsub dword [ecx + eax*4]
fxch st(1)
fmul dword [esi + eax*4]
fxch st(6)
fdiv st(3)
jmp 0x935831
fstp st(1)
fstp st(1)
fstp st(1)
fstp st(2)
mov eax, 0x3a83126f
fld st(0)
fld qword [0xd32020]
mov dword [ebp - 0x174], eax
fcomi st(1)
fstp st(1)
fld dword [ebp - 0x174]
fcmovbe st(0), st(2)
fstp st(2)
fld st(2)
fcompi st(1)
fstp st(0)
fld dword [ebp - 0x174]
fcmovnb st(0), st(2)
fstp st(2)
xor ecx, ecx
cmp ebx, 0
jle 0x935988
mov ebx, dword [ebp + 8]
fld dword [0xd31fd8]
fld1
mov edi, dword [ebx + 0x2068]
mov esi, dword [ebx + 0xaa0]
jmp 0x93590d
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x3c]
mov eax, dword [ebp - 0xcc]
fld qword [ebp - 0xa8]
fld st(1)
fxch st(1)
fmul dword [eax + ecx*4]
fxch st(1)
mov eax, dword [ebp - 0xd0]
mov ebx, dword [edi + ecx*4]
fdiv dword [eax + ecx*4]
and edx, 0x20000
fmulp st(1)
fstp dword [ebp - 0x6c]
fld dword [ebp - 0x6c]
je 0x935944
fld st(3)
fdiv st(5)
fmulp st(1)
fld st(2)
mov edx, dword [ebp - 0xd8]
faddp st(1)
fstp qword [ebp - 0x170]
movsd xmm1, qword [ebp - 0x170]
cvttsd2si eax, xmm1
cmp eax, edx
jg 0x935973
cmp eax, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xd4]
cmovge edx, eax
mov dword [esi + ebx*4], edx
add ecx, 1
mov edx, dword [ebp + 8]
cmp dword [edx + 0xb4], ecx
jg 0x935907
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
mov esp, dword [ebp - 0xc8]
jmp 0x935540
fxch st(5)
jmp 0x93583f
push ecx
fld1
push edx
fild qword [esp]
fxch st(1)
mov eax, dword [ebp + 8]
fdiv qword [ebp - 0x88]
fxch st(1)
fimul dword [eax + 0x14]
add esp, 8
fmulp st(1)
fstp qword [esp]
call fcn.00a52088
mov ecx, dword [ebp + 8]
mov edi, dword [ecx + 0x3c]
mov dword [ebp - 0x98], eax
jmp 0x934bbb
mov ebx, dword [ebp - 0x108]
mov ecx, dword [ebx + 0xe4]
jmp 0x934aec
mov ecx, dword [ebp + 8]
mov edi, dword [ecx + 0xb4]
mov dword [ebx + 0x38], edi
fstp qword [ebp - 0x170]
movsd xmm0, qword [ebp - 0x170]
mov dword [ebx + 0x10], 0
mov dword [ebx + 8], 0
cvttsd2si edx, xmm0
mov dword [ebx + 0xc], edx
jmp 0x935279
fstp st(0)
fld dword [edi + 0x148]
fcomi st(3)
ja 0x935a30
cmp eax, 2
je 0x935a30
fstp st(0)
jmp 0x9353a7
fstp st(2)
fxch st(1)
fabs
fmulp st(1)
fadd dword [edi + 0x14c]
jmp 0x9353a9
fadd dword [0xd32000]
jmp 0x93529d
fadd dword [0xd32000]
jmp 0x9352e7
fstp st(0)
jmp 0x9358b2
fstp st(0)
fstp st(0)
fld dword [0xd32004]
jmp 0x935593
mov dword [esp + 8], 0x19d
mov dword [esp + 4], 0xd31ede
mov dword [esp], 0xd31eec
call fcn.00a5b730
mov dword [esp + 8], 0x2b5
mov dword [esp + 4], 0xd31ede
mov dword [esp], 0xd31f84
call fcn.00a5b730
mov dword [esp + 8], 0x2b4
mov dword [esp + 4], 0xd31ede
mov dword [esp], 0xd31fa4
call fcn.00a5b730
fstp st(0)
fstp st(0)
mov dword [esp + 8], 0x30c
jmp 0x935500
fstp st(0)
fstp st(0)
mov dword [esp + 8], 0x2fc
jmp 0x935500
fstp st(0)
fstp st(0)
fstp st(0)
mov dword [esp + 8], 0x300
jmp 0x935500
mov dword [esp + 8], 0x2d5
mov dword [esp + 4], 0xd31ede
mov dword [esp], 0xd31fb8
call fcn.00a5b730