Function at 0x62edaba0
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x30c
mov edi, dword [esp + 0x370]
mov eax, dword [esp + 0x378]
mov ebp, dword [esp + 0x340]
mov esi, dword [esp + 0x338]
lea edx, [edi - 4]
mov ebx, dword [esp + 0x33c]
sub eax, 4
mov dword [esp + 0x190], eax
mov eax, dword [esp + 0x380]
lea ecx, [ebp - 4]
mov dword [esp + 0x168], edx
mov edx, dword [esp + 0x320]
mov dword [esp + 0x198], ecx
mov dword [eax], 0
movzx eax, byte [edx]
mov dword [esp + 0x12c], 1
movzx eax, byte [eax + 0x62f35a60]
cmp al, byte [0x62f35aa1]
je 0x62edac42
cmp al, byte [0x62f35ab6]
je 0x62edc9bd
cmp al, byte [0x62f35aa9]
mov eax, 2
cmovne eax, dword [esp + 0x12c]
mov dword [esp + 0x12c], eax
movzx eax, byte [0x62f35bb3]
mov ecx, dword [esp + 0x358]
fld qword [eax*8 + 0x62f35c60]
movzx eax, byte [0x62f35bb0]
mov dword [ecx], 0
fld qword [eax*8 + 0x62f35c60]
fstp dword [esp + 0x140]
mov eax, dword [esp + 0x324]
fld dword [esp + 0x140]
fmul dword [0x62f36788]
mov edx, dword [eax]
fst dword [esp + 0x16c]
cmp edx, 1
fstp dword [esp + 0x270]
fld dword [esp + 0x140]
fstp qword [esp + 0x160]
fld qword [esp + 0x160]
fsqrt
fmul dword [0x62f3678c]
fstp dword [esp + 0x200]
je 0x62edbe7f
mov eax, dword [esp + 0x364]
mov ecx, dword [esp + 0x360]
sub eax, 4
sub ecx, 4
test edx, edx
mov dword [esp + 0x18c], eax
lea eax, [ebx - 4]
mov dword [esp + 0x174], ecx
lea ecx, [esi - 4]
mov dword [esp + 0x154], eax
mov eax, dword [esi]
mov dword [esp + 0x178], ecx
mov ecx, dword [esp + 0x154]
mov dword [esp + 0x2c0], eax
mov dword [esp + 0x290], eax
mov dword [ecx + edx*4], 0
jle 0x62edd2e2
mov dword [esp + 0x8c], eax
mov ecx, dword [esp + 0x360]
mov eax, 1
fld dword [esp + 0x8c]
fld st(0)
fldz
mov dword [esp + 0xfc], edx
fld st(0)
mov edx, dword [esp + 0x168]
mov dword [esp + 0x100], ebp
mov ebp, dword [esp + 0x364]
jmp 0x62edad64
fstp st(0)
fxch st(1)
mov dword [ecx + eax*4 - 4], 0
mov dword [ebp + eax*4 - 4], 0
fld dword [ebx + eax*4 - 4]
fabs
fxch st(2)
fcomi st(2)
fcmovb st(0), st(2)
fxch st(1)
fadd st(2)
fld dword [esi + eax*4 - 4]
fsub st(1)
fst dword [edx + eax*8 - 4]
fcomi st(5)
fcmovnb st(0), st(5)
fstp st(5)
fld dword [esi + eax*4 - 4]
fadd st(1)
fst dword [edi + eax*8 - 4]
fxch st(4)
fcomi st(4)
fcmovb st(0), st(4)
fstp st(4)
add eax, 1
cmp dword [esp + 0xfc], eax
jge 0x62edad60
fstp st(2)
fxch st(1)
fstp dword [esp + 0x240]
fxch st(2)
mov ebp, dword [esp + 0x100]
fstp dword [esp + 0x2c0]
fstp dword [esp + 0x290]
fmul st(0)
fld1
fxch st(1)
fcomi st(1)
fcmovb st(0), st(1)
fstp st(1)
mov eax, dword [esp + 0x36c]
mov edx, dword [esp + 0x368]
mov ecx, dword [esp + 0x35c]
fmulp st(1)
sub eax, 4
mov dword [esp + 0x188], eax
mov eax, dword [esp + 0x374]
sub edx, 4
sub ecx, 4
mov dword [esp + 0x184], edx
lea edx, [esp + 0x21c]
mov dword [esp + 0x170], ecx
mov ecx, dword [esp + 0x354]
fstp dword [eax]
mov eax, dword [esp + 0x350]
fld dword [esp + 0x290]
fsub dword [esp + 0x2c0]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x324]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x34c]
mov dword [esp + 0x20], edx
lea edx, [esp + 0x210]
mov dword [esp + 0x14], edx
fstp dword [esp + 0x210]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ebp
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp], ecx
call fcn.62ed87a0
cmp dword [esp + 0x12c], 1
je 0x62edb2b7
mov eax, dword [esp + 0x37c]
lea ecx, [esp + 0x21c]
mov edx, dword [esp + 0x378]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x36c]
mov dword [esp + 0x2c], ebp
mov ebp, dword [esp + 0x330]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x368]
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x32c]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x328]
mov dword [esp + 0x14], ebp
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x360]
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x35c]
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x354]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x44], eax
lea eax, [esp + 0x2a0]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x350]
mov dword [esp + 0x40], edx
mov edx, dword [esp + 0x374]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x334]
mov dword [esp + 0x24], esi
mov dword [esp + 0x34], eax
lea eax, [esp + 0x200]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x32c]
mov dword [esp + 0x30], edx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x324]
mov edx, dword [esp + 0x328]
mov ebp, dword [esp + 0x320]
mov dword [esp + 4], 0x62f36780
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp], ebp
call fcn.62ed93f0
mov ecx, dword [esp + 0x21c]
test ecx, ecx
jne 0x62edcb7a
mov edx, dword [esp + 0x324]
mov eax, dword [esp + 0x2a0]
mov edx, dword [edx]
mov dword [esp + 0x124], edx
lea edx, [eax + 1]
cmp dword [esp + 0x124], edx
jl 0x62edb2d8
mov ecx, dword [esp + 0x124]
mov ebp, dword [esp + 0x35c]
sub ecx, eax
mov dword [esp + 0x128], ecx
lea ecx, [eax*4]
mov eax, dword [esp + 0x360]
add ebp, ecx
add eax, ecx
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0x368]
add eax, ecx
add ecx, dword [esp + 0x36c]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x110], ecx
lea ecx, [ebp + 0x10]
mov dword [esp + 0x100], ecx
mov ecx, dword [esp + 0xfc]
add eax, 0x10
mov dword [esp + 0x134], eax
mov eax, dword [esp + 0x110]
add ecx, 0x10
mov dword [esp + 0x11c], ecx
mov ecx, dword [esp + 0x128]
add eax, 0x10
mov dword [esp + 0x148], eax
shr ecx, 2
mov dword [esp + 0x150], ecx
shl ecx, 2
test ecx, ecx
mov dword [esp + 0x138], ecx
je 0x62edd480
cmp dword [esp + 0x128], 8
mov ecx, dword [esp + 0xe0]
seta al
cmp dword [esp + 0x100], ecx
setb byte [esp + 0x130]
cmp dword [esp + 0x134], ebp
setb cl
or byte [esp + 0x130], cl
mov ecx, dword [esp + 0x100]
and al, byte [esp + 0x130]
cmp dword [esp + 0xfc], ecx
seta byte [esp + 0x130]
cmp ebp, dword [esp + 0x11c]
seta cl
or byte [esp + 0x130], cl
mov ecx, dword [esp + 0x100]
and al, byte [esp + 0x130]
cmp dword [esp + 0x110], ecx
seta byte [esp + 0x100]
cmp ebp, dword [esp + 0x148]
seta cl
or byte [esp + 0x100], cl
mov ecx, dword [esp + 0x134]
and al, byte [esp + 0x100]
cmp dword [esp + 0xfc], ecx
mov ecx, dword [esp + 0x11c]
seta byte [esp + 0x100]
cmp dword [esp + 0xe0], ecx
seta cl
or byte [esp + 0x100], cl
mov ecx, dword [esp + 0x134]
and al, byte [esp + 0x100]
cmp dword [esp + 0x110], ecx
mov ecx, dword [esp + 0x148]
seta byte [esp + 0x100]
cmp dword [esp + 0xe0], ecx
seta cl
or byte [esp + 0x100], cl
mov ecx, dword [esp + 0x11c]
and al, byte [esp + 0x100]
cmp dword [esp + 0x110], ecx
mov ecx, dword [esp + 0x148]
seta byte [esp + 0x100]
cmp dword [esp + 0xfc], ecx
seta cl
or byte [esp + 0x100], cl
test byte [esp + 0x100], al
je 0x62edd480
mov dword [esp + 0x100], esi
mov ecx, dword [esp + 0xe0]
xor eax, eax
mov esi, dword [esp + 0x110]
pxor xmm0, xmm0
mov dword [esp + 0x110], ebx
mov ebx, dword [esp + 0xfc]
mov dword [esp + 0xfc], edi
mov edi, dword [esp + 0x150]
mov dword [esp + 0x134], edx
xor edx, edx
lea esi, [esi]
xorps xmm1, xmm1
add edx, 1
movlps qword [ebp + eax], xmm1
movlps qword [ebp + eax + 8], xmm1
movlps qword [ecx + eax], xmm1
movlps qword [ecx + eax + 8], xmm1
movdqu xmmword [ebx + eax], xmm0
movdqu xmmword [esi + eax], xmm0
add eax, 0x10
cmp edx, edi
jb 0x62edb1f0
mov edx, dword [esp + 0x134]
mov eax, dword [esp + 0x138]
add edx, dword [esp + 0x138]
cmp dword [esp + 0x128], eax
mov esi, dword [esp + 0x100]
mov ebx, dword [esp + 0x110]
mov edi, dword [esp + 0xfc]
je 0x62edb2d8
mov dword [esp + 0xfc], esi
mov eax, dword [esp + 0x124]
mov ecx, dword [esp + 0x35c]
mov ebx, dword [esp + 0x360]
mov esi, dword [esp + 0x368]
mov ebp, dword [esp + 0x36c]
nop
lea esi, [esi]
mov dword [ecx + edx*4 - 4], 0
mov dword [ebx + edx*4 - 4], 0
mov dword [esi + edx*4 - 4], 0
mov dword [ebp + edx*4 - 4], 0
add edx, 1
cmp eax, edx
jge 0x62edb280
mov esi, dword [esp + 0xfc]
mov ebx, dword [esp + 0x110]
jmp 0x62edb2d8
mov eax, dword [esp + 0x2c0]
mov ebp, dword [esp + 0x328]
mov edx, dword [esp + 0x32c]
mov dword [ebp], eax
mov eax, dword [esp + 0x290]
mov dword [edx], eax
mov edx, dword [esp + 0x350]
mov edx, dword [edx]
test edx, edx
mov dword [esp + 0x180], edx
jle 0x62edbf23
fld dword [0x62f36790]
xor ecx, ecx
xorps xmm0, xmm0
fld dword [esp + 0x140]
fmul st(1)
cmp dword [esp + 0x12c], 1
mov dword [esp + 0x110], 1
mov dword [esp + 0xfc], 1
sete cl
fstp dword [esp + 0x1a4]
fld qword [esp + 0x160]
fmulp st(1)
mov dword [esp + 0x130], ecx
mov dword [esp + 0x128], 1
mov dword [esp + 0x194], edi
fstp qword [esp + 0x1a8]
fld dword [esp + 0x140]
fadd st(0)
fstp dword [esp + 0x1a0]
mov edx, dword [esp + 0x128]
mov ecx, dword [esp + 0x354]
mov edx, dword [ecx + edx*4 - 4]
mov dword [esp + 0x118], edx
add edx, 1
mov edi, edx
sub edi, dword [esp + 0xfc]
mov dword [esp + 0x134], edx
cmp edi, 1
mov dword [esp + 0x2b0], edi
je 0x62edc920
mov eax, dword [esp + 0x118]
mov edx, dword [esp + 0x154]
mov ecx, dword [esp + 0xfc]
mov ebp, dword [esp + 0x178]
shl eax, 2
add edx, eax
shl ecx, 2
mov dword [esp + 0x158], eax
xor eax, eax
add ebp, ecx
mov dword [esp + 0x150], edx
mov dword [edx], eax
mov edx, dword [esp + 0x118]
mov dword [esp + 0x148], ecx
mov ecx, dword [esp + 0xfc]
fld dword [ebp]
fst dword [esp + 0x2c0]
fst dword [esp + 0x290]
fld st(0)
cmp edx, ecx
mov dword [esp + 0x8c], eax
mov dword [esp + 0x124], ebp
fld dword [esp + 0x8c]
mov dword [esp + 0x2f0], edx
jl 0x62edb473
fstp st(0)
mov eax, ecx
mov edx, dword [esp + 0x168]
mov ecx, dword [esp + 0x118]
mov ebp, dword [esp + 0x194]
lea esi, [esi]
fld dword [edx + eax*8 - 4]
fcomi st(1)
fcmovnb st(0), st(1)
fstp st(1)
fld dword [ebp + eax*8 - 4]
fxch st(2)
fcomi st(2)
fcmovb st(0), st(2)
fstp st(2)
add eax, 1
cmp ecx, eax
jge 0x62edb440
fst dword [esp + 0x2c0]
fxch st(1)
fst dword [esp + 0x290]
fld st(0)
fsub st(2)
jmp 0x62edb480
fxch st(1)
fxch st(2)
fxch st(1)
lea esi, [esi]
cmp dword [esp + 0x12c], 1
fst dword [esp + 0x210]
je 0x62edba99
mov edx, dword [esp + 0x2a0]
cmp edx, dword [esp + 0x110]
mov dword [esp + 0x2f0], edx
jl 0x62edd2e9
mov ebp, dword [esp + 0x110]
mov eax, dword [esp + 0x110]
shl ebp, 2
mov dword [esp + 0x100], ebp
mov ebp, dword [esp + 0x184]
mov ecx, dword [ebp + eax*4]
cmp ecx, dword [esp + 0x128]
mov dword [esp + 0x13c], 0
jne 0x62edc8e8
mov dword [esp + 0xe0], edi
mov ebp, dword [esp + 0x368]
mov edi, dword [esp + 0x13c]
jmp 0x62edb508
cmp dword [ebp + eax*4 - 4], ecx
jne 0x62edb512
add eax, 1
add edi, 1
cmp edx, eax
jge 0x62edb502
mov dword [esp + 0x13c], edi
mov eax, dword [esp + 0x110]
mov edx, dword [esp + 0x13c]
mov edi, dword [esp + 0xe0]
fild dword [esp + 0x13c]
lea eax, [edx + eax - 1]
mov edx, dword [esp + 0x110]
mov dword [esp + 0x1ec], edi
mov dword [esp + 0x144], eax
sub eax, 1
fild dword [esp + 0x1ec]
fmul dword [0x62f36794]
cmp eax, edx
mov dword [esp + 0xe0], eax
mov dword [esp + 0x2f0], eax
jl 0x62edb791
mov ecx, dword [esp + 0x144]
mov edi, dword [esp + 0x35c]
mov ebp, dword [esp + 0x364]
add ebp, dword [esp + 0x100]
add edi, dword [esp + 0x100]
sub ecx, edx
mov dword [esp + 0x138], ecx
mov ecx, dword [esp + 0x360]
mov dword [esp + 0x78], ebp
mov dword [esp + 0x7c], edi
mov edi, ebp
add ebp, 0xc
mov dword [esp + 0x11c], ebp
mov ebp, dword [esp + 0x138]
sub edi, 4
mov eax, dword [esp + 0x7c]
add ecx, dword [esp + 0x100]
shr ebp, 2
mov dword [esp + 0x14c], ebp
shl ebp, 2
sub eax, 4
lea edx, [ecx - 4]
test ebp, ebp
mov dword [esp + 0x15c], eax
mov dword [esp + 0x17c], edx
mov dword [esp + 0x130], ebp
je 0x62edd450
mov edx, dword [esp + 0x7c]
lea ebp, [ecx + 0x10]
cmp dword [esp + 0x138], 4
seta al
add edx, 0x10
cmp edi, edx
mov edx, dword [esp + 0x7c]
seta byte [esp + 0x120]
cmp dword [esp + 0x11c], edx
setb dl
or byte [esp + 0x120], dl
and al, byte [esp + 0x120]
cmp edi, ebp
mov ebp, dword [esp + 0x7c]
seta byte [esp + 0x120]
cmp ecx, dword [esp + 0x11c]
seta dl
add ebp, 0xc
or byte [esp + 0x120], dl
and al, byte [esp + 0x120]
cmp edi, ebp
mov ebp, dword [esp + 0x11c]
seta byte [esp + 0x120]
cmp dword [esp + 0x15c], ebp
lea ebp, [ecx + 0xc]
seta dl
or byte [esp + 0x120], dl
and al, byte [esp + 0x120]
cmp edi, ebp
mov ebp, dword [esp + 0x11c]
seta dl
cmp dword [esp + 0x17c], ebp
mov edi, edx
seta dl
mov ebp, edx
or edi, ebp
mov edx, edi
test al, dl
je 0x62edd450
mov dword [esp + 0x11c], esi
mov edx, dword [esp + 0x7c]
xor eax, eax
mov ebp, dword [esp + 0x78]
xor edi, edi
mov esi, dword [esp + 0x14c]
movaps xmm4, xmmword [0x62f367a0]
movaps xmm1, xmm0
add edi, 1
movlps xmm1, qword [eax + ecx - 4]
movhps xmm1, qword [eax + ecx + 4]
xorps xmm1, xmm4
movaps xmm2, xmm0
movlps xmm2, qword [eax + edx - 4]
movaps xmm3, xmm0
movhps xmm2, qword [eax + edx + 4]
subps xmm1, xmm2
movlps xmm3, qword [eax + ecx]
movhps xmm3, qword [eax + ecx + 8]
movaps xmm2, xmm0
movlps xmm2, qword [eax + edx]
movhps xmm2, qword [eax + edx + 8]
subps xmm2, xmm3
addps xmm1, xmm2
maxps xmm1, xmm0
movlps qword [ebp + eax - 4], xmm1
movhps qword [ebp + eax + 4], xmm1
add eax, 0x10
cmp edi, esi
jb 0x62edb6d7
mov eax, dword [esp + 0x130]
mov ecx, dword [esp + 0x130]
add eax, dword [esp + 0x110]
cmp dword [esp + 0x138], ecx
mov esi, dword [esp + 0x11c]
je 0x62edb791
mov edi, dword [esp + 0xe0]
fldz
mov edx, dword [esp + 0x35c]
mov ecx, dword [esp + 0x360]
mov ebp, dword [esp + 0x364]
nop
fld dword [edx + eax*4 - 4]
fchs
fsub dword [ecx + eax*4]
fadd dword [edx + eax*4]
fsub dword [ecx + eax*4 - 4]
fcomi st(1)
fcmovb st(0), st(1)
fstp dword [ebp + eax*4 - 4]
add eax, 1
cmp edi, eax
jge 0x62edb770
fstp st(0)
mov edi, dword [esp + 0x144]
mov edx, dword [esp + 0x170]
mov ebp, dword [esp + 0x32c]
mov ecx, dword [esp + 0x18c]
lea eax, [edi*4]
add edx, eax
add eax, dword [esp + 0x174]
fld dword [eax]
fchs
fsub dword [edx]
fadd dword [ebp]
mov ebp, dword [esp + 0x188]
fldz
fxch st(1)
fcomi st(1)
fcmovb st(0), st(1)
fstp st(1)
fst dword [esp + 0xdc]
fstp dword [ecx + edi*4]
fxch st(1)
mov edi, dword [esp + 0x100]
fcompi st(1)
fstp st(0)
mov ecx, dword [ebp + edi]
mov edi, dword [esp + 0x144]
mov dword [esp + 0x230], ecx
mov ecx, dword [ebp + edi*4]
mov dword [esp + 0x130], 1
mov dword [esp + 0x220], ecx
ja 0x62edbaa1
mov ecx, dword [esp + 0x100]
mov edi, dword [esp + 0x170]
mov ebp, dword [esp + 0x174]
fld dword [edi + ecx]
fsub dword [ebp + ecx]
fld dword [esp + 0x16c]
fld st(1)
fabs
fmul st(1)
fsubp st(2)
fxch st(4)
fcomi st(1)
fcmovb st(0), st(1)
fstp st(1)
fld dword [eax]
fadd dword [edx]
fld st(0)
fabs
fmulp st(5)
faddp st(4)
fxch st(2)
fcomi st(3)
fcmovnb st(0), st(3)
fstp st(3)
jmp 0x62edb86b
fxch st(1)
fxch st(2)
fxch st(1)
mov ecx, dword [esp + 0x32c]
mov edi, dword [esp + 0x328]
fld dword [ecx]
fcomi st(3)
fcmovnb st(0), st(3)
fld dword [edi]
fxch st(3)
fcomi st(3)
fxch st(3)
fcmovnb st(0), st(3)
cmp dword [esp + 0x13c], 1
fld st(1)
fsub st(1)
mov byte [esp + 0x120], 0
mov dword [esp + 0x130], 0
fst dword [esp + 0x280]
fmul dword [0x62f367b0]
fadd st(1), st(0)
fxch st(1)
fstp dword [esp + 0x2e0]
fsubp st(1)
fstp dword [esp + 0x2d0]
jle 0x62edbcbc
fstp st(0)
jmp 0x62edb8d7
fstp st(0)
fxch st(1)
lea eax, [esp + 0x250]
mov edx, dword [esp + 0x124]
mov dword [esp + 0x24], eax
lea eax, [esp + 0x260]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x28c]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x374]
lea ecx, [esp + 0x2b0]
fstp dword [esp + 0xa0]
lea ebp, [esp + 0x21c]
fstp dword [esp + 0xb0]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x154]
add eax, dword [esp + 0x148]
movaps xmmword [esp + 0x90], xmm0
mov dword [esp + 0x14], eax
lea eax, [esp + 0x2d0]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x2e0]
mov dword [esp + 0x28], ebp
mov dword [esp + 0x10], edx
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp], 0x62f36782
call fcn.62ed91a0
movaps xmm0, xmmword [esp + 0x90]
fld dword [esp + 0x210]
fld dword [esp + 0xa0]
fld dword [esp + 0xb0]
jmp 0x62edb991
fxch st(2)
fxch st(1)
mov eax, dword [esp + 0x260]
mov edx, dword [esp + 0x220]
sub eax, dword [esp + 0x230]
sub edx, dword [esp + 0x250]
cmp eax, edx
jl 0x62edc968
fstp st(0)
cmp dword [esp + 0x12c], 1
je 0x62edca73
mov edi, dword [esp + 0x130]
test edi, edi
jne 0x62edcc6d
fstp st(1)
mov eax, dword [esp + 0x328]
fld dword [eax]
fxch st(1)
fcomi st(1)
fcmovb st(0), st(1)
fstp st(1)
fld1
fld dword [esp + 0x290]
fstp dword [esp + 0x14c]
fld dword [esp + 0x2c0]
fstp dword [esp + 0x17c]
jmp 0x62edba0b
fstp st(2)
fxch st(1)
cmp dword [esp + 0x13c], 1
jle 0x62edcc49
mov eax, dword [esp + 0x144]
mov edx, dword [esp + 0x174]
mov ecx, dword [esp + 0x110]
mov edi, dword [esp + 0x170]
fld dword [edx + eax*4]
fld dword [edx + ecx*4]
fld st(0)
fchs
fsub dword [edi + ecx*4]
fadd dword [edi + eax*4]
sub eax, ecx
mov dword [esp + 0x1ec], eax
fadd st(2)
fild dword [esp + 0x1ec]
fdivp st(1)
fabs
fld1
fcompi st(4)
jne 0x62edcb94
fstp st(2)
fxch st(1)
mov eax, dword [esp + 0x18c]
fld dword [eax + ecx*4]
fxch st(1)
fcomi st(1)
fcmovb st(0), st(1)
fstp st(1)
fmul dword [0x62f36794]
fcomi st(1)
fcmovb st(0), st(1)
fstp st(1)
fld dword [esp + 0x210]
fxch st(3)
fxch st(2)
fxch st(1)
jmp 0x62edbd18
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x62edbaa7
fstp st(0)
fstp st(0)
fstp st(0)
mov eax, dword [esp + 0x374]
lea ebp, [esp + 0x21c]
mov ecx, dword [esp + 0x198]
lea edx, [esp + 0x270]
add ecx, dword [esp + 0x148]
mov dword [esp + 0x28], ebp
lea edi, [esp + 0x240]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x124]
lea ebp, [esp + 0x280]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0xbc], edx
mov dword [esp + 0x10], eax
lea eax, [esp + 0x290]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x2c0]
mov dword [esp + 8], eax
lea eax, [esp + 0x2b0]
mov dword [esp + 0xc0], ecx
movaps xmmword [esp + 0x90], xmm0
mov dword [esp + 0x24], edi
mov dword [esp + 0x20], ebp
mov dword [esp + 4], 0x62f0e11c
mov dword [esp], eax
call fcn.62ede360
mov edx, dword [esp + 0x21c]
mov ecx, dword [esp + 0xc0]
movaps xmm0, xmmword [esp + 0x90]
test edx, edx
mov edx, dword [esp + 0xbc]
jne 0x62edd322
fld dword [esp + 0x2c0]
lea eax, [esp + 0x21c]
fld dword [esp + 0x280]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x374]
fstp dword [esp + 0xe0]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x124]
fld dword [esp + 0x240]
fstp dword [esp + 0x100]
mov dword [esp + 0x28], eax
lea eax, [esp + 0x2b0]
mov dword [esp + 0x24], edi
lea edi, [esp + 0x290]
mov dword [esp + 0x20], ebp
lea ebp, [esp + 0x2c0]
fstp dword [esp + 0xa0]
movaps xmmword [esp + 0x90], xmm0
mov dword [esp + 0x18], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], edi
mov dword [esp + 8], ebp
mov dword [esp + 4], eax
mov dword [esp], eax
call fcn.62ede360
mov eax, dword [esp + 0x21c]
movaps xmm0, xmmword [esp + 0x90]
test eax, eax
fld dword [esp + 0xa0]
jne 0x62edd320
fld dword [esp + 0xe0]
fsub dword [esp + 0x100]
fld dword [esp + 0x16c]
fld st(1)
fabs
fmul st(1)
fsubp st(2)
fxch st(1)
fcomi st(2)
fcmovb st(0), st(2)
fstp st(2)
fld dword [esp + 0x240]
fadd dword [esp + 0x280]
fld st(0)
fabs
fmulp st(2)
faddp st(1)
fld dword [esp + 0x290]
fcomi st(1)
fcmovnb st(0), st(1)
fstp st(1)
cmp dword [esp + 0x12c], 1
fld st(0)
fsub st(2)
fst dword [esp + 0x210]
je 0x62edc9cd
mov ebp, dword [esp + 0x130]
test ebp, ebp
je 0x62edb865
fld dword [0x62f367b0]
fmul st(1)
cmp dword [esp + 0x13c], 1
mov byte [esp + 0x120], 1
mov dword [esp + 0x130], 1
fld st(0)
fadd st(4)
fstp dword [esp + 0x2e0]
fsubr st(2)
fstp dword [esp + 0x2d0]
jg 0x62edb8d3
jmp 0x62edbcc2
fxch st(1)
fxch st(2)
fxch st(1)
jne 0x62edb98d
fstp st(1)
fstp st(1)
fld dword [esp + 0x2c0]
fst dword [esp + 0x17c]
fld1
fld dword [esp + 0x290]
fstp dword [esp + 0x14c]
mov edx, dword [esp + 0x130]
test edx, edx
je 0x62edba07
mov eax, dword [esp + 0x324]
mov edx, dword [esp + 0x374]
fild dword [eax]
fmul dword [esp + 0x140]
fmul st(3)
fld dword [edx]
fadd st(0)
faddp st(1)
fld dword [0x62f367b4]
fmul st(4)
mov ecx, dword [esp + 0x2b0]
mov dword [esp + 0xe0], 2
lea edi, [ecx - 1]
fstp dword [esp + 0x11c]
fxch st(3)
fmul dword [esp + 0x1a0]
mov dword [esp + 0x100], edi
mov edi, dword [esp + 0xfc]
add edi, dword [esp + 0x100]
lea ebp, [ecx + ecx]
fstp dword [esp + 0x15c]
fld dword [esp + 0x280]
fld1
mov eax, dword [esp + 0x124]
mov edx, dword [esp + 0x378]
fld dword [eax]
mov eax, dword [esp + 0x100]
fsub st(4)
fst dword [edx]
test eax, eax
fabs
jle 0x62edbdd6
fstp st(2)
fxch st(1)
mov eax, dword [esp + 0xfc]
jmp 0x62edbda2
fstp st(0)
fld dword [edx]
fdivr st(2)
fst dword [edx + ebp*4]
fmul dword [ebx + eax*4 - 4]
fst dword [edx + ecx*4]
fld dword [esi + eax*4]
fsub st(5)
fld dword [ebx + eax*4 - 4]
fmul st(2)
fsubp st(1)
fst dword [edx + 4]
fabs
fxch st(2)
fcomi st(2)
fcmovb st(0), st(2)
fstp st(2)
add eax, 1
add edx, 4
cmp eax, edi
jne 0x62edbda0
jmp 0x62edbde0
fxch st(1)
fxch st(2)
lea esi, [esi]
fld dword [esp + 0x11c]
fxch st(2)
fcompi st(2)
fstp st(1)
ja 0x62edbe50
cmp byte [esp + 0x120], 0
je 0x62edd45c
test ecx, ecx
jle 0x62edbf30
fstp st(0)
mov dword [esp + 0x138], ebp
mov ebp, dword [esp + 0x378]
xor edx, edx
mov eax, 1
mov dword [esp + 0x7c], ebx
jmp 0x62edbe24
fstp st(0)
fld dword [ebp + eax*4 - 4]
mov ebx, 1
fmul st(2)
fldz
fcompi st(1)
cmova edx, ebx
add eax, 1
cmp eax, ecx
jle 0x62edbe22
test edx, edx
mov ebp, dword [esp + 0x138]
mov ebx, dword [esp + 0x7c]
je 0x62edbf3a
cmp dword [esp + 0xe0], 6
je 0x62edcae0
fld st(4)
fmul st(3)
fsubp st(4)
fxch st(4)
fadd st(0)
jg 0x62edcb21
fxch st(4)
fxch st(1)
add dword [esp + 0xe0], 1
jmp 0x62edbd6d
fstp st(0)
cmp dword [esp + 0x12c], 1
je 0x62edbebc
cmp dword [esp + 0x12c], 3
je 0x62edcaad
cmp dword [esp + 0x12c], 2
jne 0x62edbf1d
mov ebp, dword [esp + 0x330]
cmp dword [ebp], 1
jne 0x62edbf1d
mov eax, dword [esp + 0x334]
cmp dword [eax], 1
jne 0x62edbf1d
fld dword [esi]
mov edx, dword [esp + 0x358]
mov ecx, dword [esp + 0x35c]
mov ebp, dword [esp + 0x360]
mov eax, dword [esp + 0x364]
mov dword [edx], 1
mov edx, dword [esp + 0x368]
fstp dword [ecx]
mov ecx, dword [esp + 0x36c]
mov dword [ebp], 0
mov dword [eax], 0
mov eax, dword [esi]
mov dword [edx], 1
mov dword [ecx], 1
mov dword [edi], eax
mov eax, dword [esi]
mov esi, dword [esp + 0x168]
mov dword [esi + 8], eax
jmp 0x62edbf1d
fstp st(0)
mov dword [ebx], 0
add esp, 0x30c
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret
fstp st(4)
fstp st(0)
fxch st(1)
fxch st(2)
jmp 0x62edbf42
fstp st(4)
fstp st(0)
fxch st(1)
fxch st(2)
mov dword [esp + 0x2f0], ecx
fstp dword [esp + 0x280]
fxch st(1)
mov edi, dword [esp + 0x150]
lea edx, [esp + 0x2b0]
mov ebp, dword [esp + 0x124]
mov eax, dword [esp + 0x378]
fst dword [edi]
fstp dword [esp + 0xa0]
fstp dword [esp + 0xb0]
movaps xmmword [esp + 0x90], xmm0
lea edi, [esp + 0x2f0]
mov dword [esp], edx
mov dword [esp + 0x10], 0x62f0e11c
mov dword [esp + 0xc], ebp
mov dword [esp + 8], 0x62f0e11c
mov dword [esp + 4], eax
call fcn.62ebeeb0
mov edx, dword [esp + 0x2b0]
mov ecx, dword [esp + 0x190]
mov dword [esp + 0x10], 0x62f0e11c
mov dword [esp + 8], 0x62f0e11c
lea eax, [edx - 1]
mov dword [esp + 0x2f0], eax
mov eax, dword [esp + 0x154]
add eax, dword [esp + 0x148]
mov dword [esp], edi
mov dword [esp + 0xc], eax
lea eax, [ecx + edx*4 + 4]
mov dword [esp + 4], eax
call fcn.62ebeeb0
cmp dword [esp + 0x13c], 1
movaps xmm0, xmmword [esp + 0x90]
fld dword [esp + 0xa0]
fld dword [esp + 0xb0]
jle 0x62edc362
fstp st(0)
fstp st(0)
mov eax, dword [esp + 0x2b0]
mov ebp, dword [esp + 0x378]
mov dword [esp + 0x1f0], 1
mov dword [esp + 0x1f4], 1
lea eax, [eax + eax - 1]
mov dword [esp + 0x2f0], eax
lea eax, [esp + 0x2f0]
mov dword [esp + 8], eax
lea eax, [esp + 0x1f0]
mov dword [esp + 0x1f8], 1
mov dword [esp + 0x1fc], 1
mov dword [esp + 0xc], ebp
mov dword [esp + 4], eax
mov dword [esp], 0x62f0e120
call fcn.62ed8460
mov edx, dword [esp + 0x2b0]
movaps xmm0, xmmword [esp + 0x90]
mov dword [esp + 0x138], edx
sub edx, 1
test edx, edx
fld dword [esp + 0xa0]
mov dword [esp + 0x11c], edx
fld dword [esp + 0xb0]
mov dword [esp + 0x2f0], edx
jle 0x62edc332
mov ecx, dword [esp + 0x148]
mov eax, dword [esp + 0x138]
mov edx, dword [esp + 0x378]
lea ecx, [esi + ecx]
lea edi, [ecx - 4]
add ecx, 0xc
mov dword [esp + 0xe0], edi
mov edi, dword [esp + 0x148]
lea edi, [ebx + edi]
lea ebp, [edi - 4]
add edi, 0xc
mov dword [esp + 0x150], ebp
lea ebp, [edx + eax*4]
add edx, 0x10
mov dword [esp + 0x14c], edx
mov edx, dword [esp + 0x11c]
lea eax, [ebp + 0x10]
mov dword [esp + 0x15c], eax
shr edx, 2
mov dword [esp + 0x100], edx
shl edx, 2
test edx, edx
mov dword [esp + 0x120], edx
je 0x62edd446
cmp dword [esp + 0x11c], 4
seta al
cmp ecx, dword [esp + 0x150]
setb dl
cmp edi, dword [esp + 0xe0]
setb byte [esp + 0x17c]
or dl, byte [esp + 0x17c]
and eax, edx
mov edx, dword [esp + 0x14c]
cmp dword [esp + 0xe0], edx
seta dl
cmp dword [esp + 0x378], ecx
seta byte [esp + 0x17c]
or dl, byte [esp + 0x17c]
and eax, edx
mov edx, dword [esp + 0x14c]
cmp dword [esp + 0x150], edx
seta dl
cmp dword [esp + 0x378], edi
seta byte [esp + 0x14c]
or dl, byte [esp + 0x14c]
and eax, edx
cmp ebp, ecx
mov ecx, dword [esp + 0x15c]
seta dl
cmp dword [esp + 0xe0], ecx
seta cl
or edx, ecx
and eax, edx
mov edx, dword [esp + 0x15c]
cmp dword [esp + 0x150], edx
seta dl
cmp ebp, edi
seta cl
or edx, ecx
test al, dl
je 0x62edd446
movss xmm1, dword [esp + 0x1a4]
xor eax, eax
mov dword [esp + 0x14c], esi
mov esi, dword [esp + 0x150]
xor edi, edi
mov dword [esp + 0x15c], ebx
mov ebx, dword [esp + 0x378]
shufps xmm1, xmm1, 0
movaps xmm2, xmmword [0x62f367c0]
movaps xmm3, xmm1
lea esi, [esi]
movaps xmm1, xmm0
mov ecx, dword [esp + 0xe0]
add edi, 1
movlps xmm1, qword [ebx + eax]
movhps xmm1, qword [ebx + eax + 8]
movaps xmm4, xmm0
mulps xmm1, xmm3
add ecx, eax
movlps xmm4, qword [ecx]
movhps xmm4, qword [ecx + 8]
lea edx, [esi + eax]
addps xmm1, xmm2
mulps xmm1, xmm4
movaps xmm4, xmm0
movlps qword [ecx], xmm1
movhps qword [ecx + 8], xmm1
movaps xmm1, xmm0
movlps xmm1, qword [ebp + eax]
movhps xmm1, qword [ebp + eax + 8]
movlps xmm4, qword [edx]
mulps xmm1, xmm3
movhps xmm4, qword [edx + 8]
add eax, 0x10
cmp edi, dword [esp + 0x100]
addps xmm1, xmm2
mulps xmm1, xmm4
movlps qword [edx], xmm1
movhps qword [edx + 8], xmm1
jb 0x62edc230
mov edi, dword [esp + 0x120]
mov eax, dword [esp + 0x120]
mov esi, dword [esp + 0x14c]
mov ebx, dword [esp + 0x15c]
add edi, 1
cmp dword [esp + 0x11c], eax
je 0x62edc332
mov edx, dword [esp + 0xfc]
fld1
mov ebp, dword [esp + 0x138]
mov dword [esp + 0xe0], esi
fld dword [esp + 0x1a4]
lea eax, [edx + edi - 2]
shl eax, 2
lea edx, [esi + eax]
mov esi, dword [esp + 0x11c]
lea ecx, [ebx + eax]
lea eax, [ebp + edi - 1]
mov ebp, dword [esp + 0x378]
lea eax, [ebp + eax*4]
fld dword [ebp + edi*4 - 4]
add edi, 1
fmul st(1)
fadd st(2)
fmul dword [edx]
fstp dword [edx]
add edx, 4
fld dword [eax]
add eax, 4
fmul st(1)
fadd st(2)
fmul dword [ecx]
fstp dword [ecx]
add ecx, 4
cmp esi, edi
jge 0x62edc301
fstp st(0)
fstp st(0)
mov esi, dword [esp + 0xe0]
mov edx, dword [esp + 0x138]
mov ecx, dword [esp + 0x190]
fld dword [esp + 0x1a4]
mov eax, dword [esp + 0x178]
add eax, dword [esp + 0x158]
fmul dword [ecx + edx*4]
fadd dword [0x62f36784]
fmul dword [eax]
fstp dword [eax]
mov ecx, dword [esp + 0x130]
test ecx, ecx
jne 0x62edccf3
fstp st(0)
mov edi, dword [esp + 0x144]
mov ebp, dword [esp + 0x110]
mov dword [esp + 0x2f0], edi
cmp edi, ebp
jl 0x62edc56f
mov eax, ebp
mov edx, dword [esp + 0x35c]
not eax
lea eax, [edi + eax + 2]
mov dword [esp + 0x11c], eax
lea eax, [ebp*4]
mov edi, dword [esp + 0x11c]
add edx, eax
lea ecx, [edx - 4]
mov dword [esp + 0x150], ecx
mov ecx, dword [esp + 0x360]
shr edi, 2
mov dword [esp + 0x100], edi
shl edi, 2
mov dword [esp + 0x138], edi
add ecx, eax
test edi, edi
lea ebp, [ecx - 4]
je 0x62edd41e
cmp dword [esp + 0x11c], 3
seta al
add edx, 0xc
cmp ebp, edx
mov edi, eax
seta al
add ecx, 0xc
cmp dword [esp + 0x150], ecx
seta dl
or eax, edx
mov edx, edi
test dl, al
je 0x62edd41e
fst dword [esp + 0x8c]
xor ecx, ecx
movss xmm1, dword [esp + 0x8c]
xor edi, edi
movaps xmm6, xmmword [0x62f367d0]
mov dword [esp + 0x158], esi
shufps xmm1, xmm1, 0
mov esi, dword [esp + 0x150]
mov dword [esp + 0x120], ebx
mov ebx, dword [esp + 0x100]
movaps xmm7, xmm1
movsd xmm1, qword [esp + 0x160]
unpcklpd xmm1, xmm1
movaps xmmword [esp + 0xe0], xmm7
movapd xmm4, xmm1
movaps xmm3, xmmword [esp + 0x1b0]
movaps xmmword [esp + 0x100], xmm6
movaps xmm5, xmmword [esp + 0x1c0]
lea edx, [esi + ecx]
add edi, 1
movaps xmm6, xmm0
movlps xmm6, qword [edx]
movhps xmm6, qword [edx + 8]
subps xmm6, xmmword [esp + 0xe0]
lea eax, [ebp + ecx]
movaps xmm2, xmm0
add ecx, 0x10
movlps qword [edx], xmm6
movhps qword [edx + 8], xmm6
andps xmm6, xmmword [esp + 0x100]
movlps xmm2, qword [eax]
movhps xmm2, qword [eax + 8]
movhlps xmm5, xmm2
movhlps xmm3, xmm6
cvtps2pd xmm1, xmm6
cvtps2pd xmm7, xmm2
mulpd xmm1, xmm4
cvtps2pd xmm6, xmm3
addpd xmm1, xmm7
mulpd xmm6, xmm4
cvtps2pd xmm2, xmm5
cvtpd2ps xmm1, xmm1
addpd xmm6, xmm2
cmp edi, ebx
cvtpd2ps xmm6, xmm6
movlhps xmm1, xmm6
movlps qword [eax], xmm1
movhps qword [eax + 8], xmm1
jb 0x62edc485
mov eax, dword [esp + 0x138]
mov edx, dword [esp + 0x138]
add eax, dword [esp + 0x110]
cmp dword [esp + 0x11c], edx
mov esi, dword [esp + 0x158]
mov ebx, dword [esp + 0x120]
movaps xmmword [esp + 0x1b0], xmm3
movaps xmmword [esp + 0x1c0], xmm5
je 0x62edc56f
mov edi, dword [esp + 0x144]
mov edx, dword [esp + 0x35c]
mov ecx, dword [esp + 0x360]
fld qword [esp + 0x160]
lea esi, [esi]
fld dword [edx + eax*4 - 4]
fsub st(2)
fst dword [edx + eax*4 - 4]
fabs
fmul st(1)
fadd dword [ecx + eax*4 - 4]
fstp dword [ecx + eax*4 - 4]
add eax, 1
cmp edi, eax
jge 0x62edc550
fstp st(0)
mov ecx, dword [esp + 0x118]
sub ecx, 1
cmp dword [esp + 0xfc], ecx
mov dword [esp + 0xe0], ecx
mov dword [esp + 0x2f0], ecx
jg 0x62edc70c
mov edi, dword [esp + 0x118]
sub edi, dword [esp + 0xfc]
mov ecx, dword [esp + 0x148]
mov dword [esp + 0x118], edi
mov edi, dword [esp + 0x148]
lea ecx, [esi + ecx]
lea edx, [ecx - 4]
lea edi, [ebx + edi]
lea ebp, [edi - 4]
mov dword [esp + 0x120], edx
mov edx, dword [esp + 0x118]
mov dword [esp + 0x158], ebp
mov ebp, dword [esp + 0x378]
add ebp, dword [esp + 0x148]
shr edx, 2
lea eax, [ebp - 4]
mov dword [esp + 0x150], edx
shl edx, 2
mov dword [esp + 0x11c], eax
test edx, edx
lea eax, [ebp + 0xc]
mov dword [esp + 0x138], eax
mov dword [esp + 0x100], edx
je 0x62edd404
cmp dword [esp + 0x118], 5
lea eax, [edi + 0xc]
mov edx, dword [esp + 0x158]
seta byte [esp + 0x14c]
cmp dword [esp + 0x11c], eax
seta al
cmp dword [esp + 0x138], edx
setb dl
or eax, edx
mov edx, dword [esp + 0x138]
and byte [esp + 0x14c], al
lea eax, [ecx + 0xc]
cmp dword [esp + 0x11c], eax
seta al
cmp dword [esp + 0x120], edx
seta dl
or eax, edx
test byte [esp + 0x14c], al
je 0x62edd404
mov dword [esp + 0x11c], esi
mov esi, dword [esp + 0x150]
xor eax, eax
xor edx, edx
lea esi, [esi]
movaps xmm1, xmm0
add edx, 1
movlps xmm1, qword [edi + eax - 4]
movhps xmm1, qword [edi + eax + 4]
movaps xmm2, xmm0
movlps xmm2, qword [ecx + eax - 4]
movhps xmm2, qword [ecx + eax + 4]
mulps xmm1, xmm1
mulps xmm1, xmm2
movlps qword [ebp + eax - 4], xmm1
movhps qword [ebp + eax + 4], xmm1
add eax, 0x10
cmp esi, edx
ja 0x62edc690
mov eax, dword [esp + 0x100]
mov ecx, dword [esp + 0x100]
add eax, dword [esp + 0xfc]
cmp dword [esp + 0x118], ecx
mov esi, dword [esp + 0x11c]
je 0x62edc70c
mov edx, dword [esp + 0xe0]
mov ecx, dword [esp + 0x378]
fld dword [ebx + eax*4 - 4]
fmul st(0)
fmul dword [esi + eax*4 - 4]
fstp dword [ecx + eax*4 - 4]
add eax, 1
cmp edx, eax
jge 0x62edc6f7
mov edi, dword [esp + 0x110]
lea ebp, [esp + 0x21c]
mov eax, dword [esp + 0x230]
lea ecx, [esp + 0x210]
mov dword [esp + 0x40], ebp
mov ebp, dword [esp + 0x37c]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x324]
lea edx, [edi*4]
mov edi, dword [esp + 0x374]
sub eax, 1
mov dword [esp + 0x2f0], eax
lea eax, [esp + 0x2b0]
mov dword [esp + 0x30], ebp
lea ebp, [esp + 0x2f0]
mov dword [esp + 0x34], edi
mov edi, dword [esp + 0x190]
mov dword [esp + 0x3c], eax
mov eax, dword [ecx]
fstp dword [esp + 0xa0]
mov ecx, dword [esp + 0x124]
mov dword [esp + 0x1c], ebp
lea eax, [edi + eax*8 + 4]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x174]
mov dword [esp + 4], ecx
add eax, edx
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x18c]
add eax, edx
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x348]
add edx, dword [esp + 0x170]
mov dword [esp + 0x18], eax
lea eax, [esp + 0x220]
mov dword [esp + 0x10], eax
lea eax, [esp + 0x230]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x148]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x344]
add eax, edi
lea edi, [esp + 0x2b0]
mov dword [esp + 0x14], edx
mov dword [esp + 8], eax
mov dword [esp], edi
movaps xmmword [esp + 0x90], xmm0
call fcn.62ed88e0
mov edx, dword [esp + 0x21c]
movaps xmm0, xmmword [esp + 0x90]
test edx, edx
fld dword [esp + 0xa0]
jne 0x62edd3d7
mov eax, dword [esp + 0x144]
mov edx, dword [esp + 0x174]
mov ecx, dword [esp + 0x170]
mov edi, dword [esp + 0x32c]
mov ebp, dword [esp + 0x18c]
fld dword [edx + eax*4]
fchs
fsub dword [ecx + eax*4]
mov ecx, dword [esp + 0x220]
fadd dword [edi]
fsubrp st(1)
fldz
fxch st(1)
fcomi st(1)
fcmovb st(0), st(1)
fstp st(1)
fstp dword [ebp + eax*4]
mov eax, dword [esp + 0x230]
mov dword [esp + 0x2f0], ecx
cmp ecx, eax
jl 0x62edc8d5
mov dword [esp + 0xfc], esi
mov edi, dword [esp + 0x188]
mov ebp, dword [esp + 0x184]
mov esi, dword [esp + 0x128]
mov edx, dword [esp + 0x358]
mov dword [esp + 0xe0], ebx
lea esi, [esi]
mov ebx, dword [edx]
add ebx, 1
mov dword [edx], ebx
mov dword [ebp + ebx*4], esi
mov ebx, dword [edx]
mov dword [edi + ebx*4], eax
add eax, 1
cmp ecx, eax
jge 0x62edc8b0
mov esi, dword [esp + 0xfc]
mov ebx, dword [esp + 0xe0]
mov ebp, dword [esp + 0x144]
add ebp, 1
mov dword [esp + 0x110], ebp
jmp 0x62edc8f0
fstp st(0)
fstp st(0)
fstp st(0)
nop
add dword [esp + 0x128], 1
mov eax, dword [esp + 0x128]
cmp dword [esp + 0x180], eax
jl 0x62edbf23
mov eax, dword [esp + 0x134]
mov dword [esp + 0xfc], eax
jmp 0x62edb365
cmp dword [esp + 0x12c], 1
je 0x62edcbce
cmp dword [esp + 0x12c], 3
je 0x62edccb5
cmp dword [esp + 0x12c], 2
jne 0x62edc950
jmp 0x62edca04
fstp st(0)
lea esi, [esi]
mov edi, dword [esp + 0x118]
mov ebp, dword [esp + 0x154]
mov dword [ebp + edi*4], 0
jmp 0x62edc8f0
fstp st(1)
cmp dword [esp + 0x12c], 1
je 0x62edca39
mov ecx, dword [esp + 0x130]
test ecx, ecx
jne 0x62edcc90
fstp st(1)
mov eax, dword [esp + 0x32c]
fld dword [eax]
fcomi st(1)
fcmovnb st(0), st(1)
fstp st(1)
fld1
fchs
fld dword [esp + 0x290]
fstp dword [esp + 0x14c]
fld dword [esp + 0x2c0]
fstp dword [esp + 0x17c]
jmp 0x62edba0b
mov dword [esp + 0x12c], 3
jmp 0x62edac42
mov eax, dword [esp + 0x2b0]
mov edx, dword [esp + 0x110]
mov dword [esp + 0x230], 1
mov dword [esp + 0x13c], eax
lea edx, [eax + edx - 1]
mov dword [esp + 0x220], eax
mov dword [esp + 0x144], edx
jmp 0x62edbc7d
mov edi, dword [esp + 0x110]
mov ebp, dword [esp + 0x184]
mov eax, dword [esp + 0x128]
cmp dword [ebp + edi*4], eax
jne 0x62edc950
mov edx, dword [esp + 0xfc]
mov ecx, dword [esp + 0x178]
fld dword [ecx + edx*4]
jmp 0x62edcbdf
fstp st(1)
fld dword [esp + 0x290]
fst dword [esp + 0x14c]
fcomi st(1)
fcmovnb st(0), st(1)
fstp st(1)
fld dword [esp + 0x210]
fld1
fchs
fld dword [esp + 0x2c0]
fstp dword [esp + 0x17c]
fxch st(1)
fxch st(2)
fxch st(1)
jmp 0x62edbcea
fstp st(1)
fld dword [esp + 0x2c0]
fst dword [esp + 0x17c]
fxch st(1)
fcomi st(1)
fcmovb st(0), st(1)
fstp st(1)
fld dword [esp + 0x210]
fld1
fld dword [esp + 0x290]
fstp dword [esp + 0x14c]
fxch st(1)
fxch st(2)
fxch st(1)
jmp 0x62edbcea
mov edx, dword [esp + 0x328]
fld dword [esi]
fld dword [edx]
fxch st(1)
fcomi st(1)
fstp st(1)
jbe 0x62edbf1b
mov ecx, dword [esp + 0x32c]
fld dword [ecx]
fcompi st(1)
jae 0x62edbebe
fstp st(0)
jmp 0x62edbf1d
fstp st(3)
fxch st(1)
fxch st(2)
fld1
fcompi st(3)
jne 0x62edcb45
mov eax, dword [esp + 0x324]
mov edx, dword [esp + 0x374]
fild dword [eax]
fmul dword [esp + 0x15c]
fsubr dword [esp + 0x17c]
fld dword [0x62f36790]
fmul dword [edx]
fsubp st(1)
fxch st(3)
fxch st(2)
fxch st(1)
fxch st(4)
jmp 0x62edbe6e
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
mov ecx, dword [esp + 0x380]
xor eax, eax
mov dword [ecx], 2
add esp, 0x30c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x374]
fld dword [0x62f36790]
mov edx, dword [esp + 0x324]
fmul dword [eax]
fadd dword [esp + 0x14c]
fild dword [edx]
fmul dword [esp + 0x15c]
faddp st(1)
fxch st(3)
fxch st(2)
fxch st(1)
fxch st(4)
jmp 0x62edbe6e
mov eax, dword [esp + 0x380]
mov dword [eax], 0xffffffff
add esp, 0x30c
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret
fstp st(1)
mov edx, dword [esp + 0x144]
mov ecx, dword [esp + 0x18c]
fld dword [ecx + edx*4 - 4]
fxch st(1)
fcomi st(1)
fcmovb st(0), st(1)
fstp st(1)
fmul dword [0x62f36794]
fcomi st(1)
fcmovb st(0), st(1)
fstp st(1)
fld dword [esp + 0x210]
fxch st(3)
fxch st(2)
fxch st(1)
jmp 0x62edbd18
mov ecx, dword [esp + 0xfc]
mov edi, dword [esp + 0x178]
fld dword [edi + ecx*4]
mov edi, dword [esp + 0x358]
mov ebp, dword [esp + 0x170]
mov edx, dword [esp + 0x174]
mov ecx, dword [esp + 0x18c]
mov eax, dword [edi]
add eax, 1
mov dword [edi], eax
fstp dword [ebp + eax*4]
mov edi, dword [esp + 0x184]
mov dword [edx + eax*4], 0
mov ebp, dword [esp + 0x128]
mov edx, dword [esp + 0x358]
mov dword [ecx + eax*4], 0
mov ecx, dword [esp + 0x188]
mov dword [edi + eax*4], ebp
mov eax, dword [edx]
mov dword [ecx + eax*4], 1
add dword [esp + 0x110], 1
jmp 0x62edc950
mov edi, dword [esp + 0x110]
mov ebp, dword [esp + 0x174]
fld dword [ebp + edi*4]
fld dword [esp + 0x210]
fxch st(3)
fxch st(2)
fxch st(1)
jmp 0x62edbd18
fld1
fld dword [esp + 0x290]
fstp dword [esp + 0x14c]
fld dword [esp + 0x2c0]
fstp dword [esp + 0x17c]
jmp 0x62edbcf9
fld1
fchs
fld dword [esp + 0x290]
fstp dword [esp + 0x14c]
fld dword [esp + 0x2c0]
fstp dword [esp + 0x17c]
jmp 0x62edbcf9
mov ebp, dword [esp + 0xfc]
mov eax, dword [esp + 0x178]
mov edx, dword [esp + 0x328]
fld dword [eax + ebp*4]
fld dword [edx]
fxch st(1)
fcomi st(1)
fstp st(1)
jbe 0x62edc94b
mov ecx, dword [esp + 0x32c]
fld dword [ecx]
fcompi st(1)
jae 0x62edcbdf
fstp st(0)
jmp 0x62edc950
mov ecx, dword [esp + 0x2b0]
mov dword [esp + 0x1ec], ecx
lea eax, [ecx - 1]
fild dword [esp + 0x1ec]
test eax, eax
fldln2
fxch st(1)
fyl2x
mov dword [esp + 0x2f0], eax
fstp qword [esp + 0x110]
jle 0x62edcd60
mov edx, dword [esp + 0xfc]
mov eax, 1
mov edi, dword [esp + 0x190]
mov ebp, dword [esp + 0x378]
lea esi, [esi]
fld dword [esi + edx*4 - 4]
fabs
fst dword [edi + eax*8 - 4]
fld dword [ebx + edx*4 - 4]
add edx, 1
fmul st(0)
fmulp st(1)
fstp dword [ebp + eax*8 - 4]
add eax, 1
cmp eax, ecx
jne 0x62edcd40
mov eax, dword [esp + 0x118]
lea ebp, [esp + 0x21c]
mov edx, dword [esp + 0x178]
mov edi, dword [esp + 0x190]
fld dword [edx + eax*4]
lea edx, [esp + 0x2b0]
fabs
mov eax, dword [esp + 0x378]
fstp dword [edi + ecx*8 - 4]
fldz
fst dword [edi + ecx*8]
fxch st(2)
fstp dword [esp + 0xa0]
fstp dword [esp + 0xb0]
fstp dword [esp + 0xc0]
movaps xmmword [esp + 0x90], xmm0
mov dword [esp + 8], ebp
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.62eecb00
mov eax, dword [esp + 0x21c]
movaps xmm0, xmmword [esp + 0x90]
test eax, eax
fld dword [esp + 0xa0]
fld dword [esp + 0xb0]
fld dword [esp + 0xc0]
jne 0x62edd3ec
mov edx, dword [esp + 0x2b0]
test edx, edx
mov dword [esp + 0x2f0], edx
jle 0x62edce3e
mov edi, dword [esp + 0x378]
fld dword [edi]
fxch st(1)
fcomi st(1)
fstp st(1)
ja 0x62edd2ff
mov eax, 1
mov ecx, edi
jmp 0x62edce33
fld dword [ecx + eax*4 - 4]
fxch st(1)
fcomi st(1)
fstp st(1)
ja 0x62edd307
add eax, 1
cmp edx, eax
jge 0x62edce23
fstp st(0)
jmp 0x62edce40
fstp st(0)
fldz
fxch st(1)
fcompi st(1)
fstp st(0)
jbe 0x62edd334
mov ebp, dword [esp + 0x220]
mov ecx, dword [esp + 0x230]
cmp ebp, ecx
jl 0x62edcecb
mov edi, dword [esp + 0x378]
mov eax, edx
mov dword [esp + 0xfc], esi
mov esi, dword [esp + 0x358]
sub eax, ecx
mov dword [esp + 0xe0], ebx
lea edx, [edi + eax*4]
mov eax, dword [esi]
mov edi, dword [edx]
sub edx, 4
mov ebx, dword [esp + 0x170]
add eax, 1
mov dword [esi], eax
mov dword [ebx + eax*4], edi
mov edi, dword [esp + 0x184]
mov ebx, dword [esp + 0x128]
mov dword [edi + eax*4], ebx
mov edi, dword [esp + 0x188]
mov eax, dword [esi]
mov dword [edi + eax*4], ecx
add ecx, 1
cmp ebp, ecx
jge 0x62edce83
mov esi, dword [esp + 0xfc]
mov ebx, dword [esp + 0xe0]
mov edi, dword [esp + 0x358]
mov edi, dword [edi]
mov edx, edi
add edx, 1
sub edx, dword [esp + 0x13c]
mov dword [esp + 0xe0], edi
mov dword [esp + 0x2f0], edi
cmp edi, edx
jl 0x62edd039
fld qword [esp + 0x110]
mov eax, edx
mov ebp, edi
fmul qword [esp + 0x1a8]
not eax
sub ebp, dword [esp + 0x13c]
lea eax, [edi + eax + 2]
mov edi, dword [esp + 0x35c]
mov dword [esp + 0x118], eax
shr eax, 2
shl ebp, 2
mov dword [esp + 0xfc], eax
shl eax, 2
add edi, ebp
add ebp, dword [esp + 0x360]
test eax, eax
mov dword [esp + 0x110], eax
je 0x62edd3bb
cmp dword [esp + 0x118], 4
lea eax, [edi + 0x10]
lea ecx, [ebp + 0x10]
seta byte [esp + 0x124]
cmp ebp, eax
seta al
cmp edi, ecx
seta cl
or eax, ecx
test byte [esp + 0x124], al
je 0x62edd3bb
movaps xmm6, xmmword [0x62f367d0]
fst qword [esp + 0x80]
xor eax, eax
xor ecx, ecx
movsd xmm1, qword [esp + 0x80]
unpcklpd xmm1, xmm1
movaps xmm4, xmmword [esp + 0x1d0]
movapd xmm3, xmm1
movaps xmm1, xmm0
add ecx, 1
movlps xmm1, qword [edi + eax]
movhps xmm1, qword [edi + eax + 8]
andps xmm1, xmm6
movhlps xmm4, xmm1
cvtps2pd xmm2, xmm1
mulpd xmm2, xmm3
cvtps2pd xmm1, xmm4
cvtpd2ps xmm2, xmm2
mulpd xmm1, xmm3
cvtpd2ps xmm1, xmm1
movlhps xmm2, xmm1
movlps qword [ebp + eax], xmm2
movhps qword [ebp + eax + 8], xmm2
add eax, 0x10
cmp ecx, dword [esp + 0xfc]
jb 0x62edcfa5
mov eax, dword [esp + 0x110]
mov ecx, dword [esp + 0x110]
movaps xmmword [esp + 0x1d0], xmm4
add eax, edx
cmp dword [esp + 0x118], ecx
je 0x62edd037
mov ecx, dword [esp + 0xe0]
mov edi, dword [esp + 0x35c]
mov ebp, dword [esp + 0x360]
nop
fld dword [edi + eax*4 - 4]
fabs
fmul st(1)
fstp dword [ebp + eax*4 - 4]
add eax, 1
cmp ecx, eax
jge 0x62edd020
fstp st(0)
jmp 0x62edd039
fstp st(0)
mov edi, dword [esp + 0xe0]
sub edi, 1
cmp edx, edi
mov dword [esp + 0x110], edi
mov dword [esp + 0x2f0], edi
jg 0x62edd2a1
mov ebp, dword [esp + 0xe0]
mov edi, dword [esp + 0xe0]
sub edi, dword [esp + 0x13c]
mov eax, dword [esp + 0x35c]
sub ebp, edx
mov dword [esp + 0x124], ebp
mov ebp, dword [esp + 0x364]
shl edi, 2
add eax, edi
mov dword [esp + 0x120], eax
add eax, 4
add ebp, edi
add edi, dword [esp + 0x360]
lea ecx, [ebp + 0x10]
mov dword [esp + 0x148], eax
mov dword [esp + 0x14c], edi
add edi, 4
mov dword [esp + 0x138], edi
mov edi, dword [esp + 0x124]
mov dword [esp + 0x118], ecx
shr edi, 2
mov dword [esp + 0xfc], edi
shl edi, 2
test edi, edi
mov dword [esp + 0x100], edi
je 0x62edd25c
mov ecx, dword [esp + 0x120]
cmp dword [esp + 0x124], 4
mov edi, dword [esp + 0x14c]
seta al
add ecx, 0x14
cmp ebp, ecx
mov ecx, dword [esp + 0x148]
seta byte [esp + 0x11c]
cmp dword [esp + 0x118], ecx
setb cl
add edi, 0x14
or byte [esp + 0x11c], cl
and eax, dword [esp + 0x11c]
cmp ebp, edi
mov edi, dword [esp + 0x118]
seta byte [esp + 0x11c]
cmp dword [esp + 0x138], edi
mov edi, dword [esp + 0x120]
seta cl
or byte [esp + 0x11c], cl
add edi, 0x10
and eax, dword [esp + 0x11c]
cmp ebp, edi
mov edi, dword [esp + 0x118]
seta byte [esp + 0x11c]
cmp dword [esp + 0x120], edi
mov edi, dword [esp + 0x14c]
seta cl
or byte [esp + 0x11c], cl
add edi, 0x10
and eax, dword [esp + 0x11c]
cmp ebp, edi
mov edi, dword [esp + 0x118]
seta byte [esp + 0x11c]
cmp dword [esp + 0x14c], edi
seta cl
or byte [esp + 0x11c], cl
test byte [esp + 0x11c], al
je 0x62edd25c
xor ecx, ecx
mov edi, dword [esp + 0x14c]
xor eax, eax
mov dword [esp + 0x11c], edx
mov edx, ecx
mov ecx, dword [esp + 0x120]
lea esi, [esi]
movaps xmm1, xmm0
add edx, 1
movlps xmm1, qword [eax + edi]
movhps xmm1, qword [eax + edi + 8]
xorps xmm1, xmmword [0x62f367a0]
movaps xmm2, xmm0
movlps xmm2, qword [eax + ecx]
movaps xmm3, xmm0
movhps xmm2, qword [eax + ecx + 8]
subps xmm1, xmm2
movlps xmm3, qword [edi + eax + 4]
movhps xmm3, qword [edi + eax + 0xc]
movaps xmm2, xmm0
movlps xmm2, qword [ecx + eax + 4]
movhps xmm2, qword [ecx + eax + 0xc]
subps xmm2, xmm3
addps xmm1, xmm2
maxps xmm1, xmm0
movlps qword [ebp + eax], xmm1
movhps qword [ebp + eax + 8], xmm1
add eax, 0x10
cmp edx, dword [esp + 0xfc]
jb 0x62edd1e0
mov edx, dword [esp + 0x11c]
mov edi, dword [esp + 0x100]
add edx, dword [esp + 0x100]
cmp dword [esp + 0x124], edi
je 0x62edd2a1
mov edi, dword [esp + 0x110]
fldz
mov eax, dword [esp + 0x35c]
mov ecx, dword [esp + 0x360]
mov ebp, dword [esp + 0x364]
lea esi, [esi]
fld dword [eax + edx*4 - 4]
fchs
fsub dword [ecx + edx*4]
fadd dword [eax + edx*4]
fsub dword [ecx + edx*4 - 4]
fcomi st(1)
fcmovb st(0), st(1)
fstp dword [ebp + edx*4 - 4]
add edx, 1
cmp edi, edx
jge 0x62edd280
fstp st(0)
mov ebp, dword [esp + 0xe0]
mov eax, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
mov ecx, dword [esp + 0x32c]
mov edi, dword [esp + 0x18c]
fld dword [eax + ebp*4]
fchs
fsub dword [edx + ebp*4]
fadd dword [ecx]
fsubrp st(1)
fldz
fxch st(1)
fcomi st(1)
fcmovb st(0), st(1)
fstp st(1)
fstp dword [edi + ebp*4]
jmp 0x62edc8d5
fld1
jmp 0x62edade0
fstp st(0)
fstp st(0)
fstp st(0)
mov dword [esp + 0x13c], 0
jmp 0x62edc8f0
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x62edd30d
fstp st(0)
fstp st(0)
fstp st(0)
mov ebp, dword [esp + 0x380]
mov dword [ebp], 0xfffffffa
jmp 0x62edbf23
fstp st(0)
mov edx, dword [esp + 0x380]
mov dword [edx], 0xffffffff
jmp 0x62edbf23
mov ecx, dword [esp + 0x220]
mov edx, dword [esp + 0x230]
mov dword [esp + 0x2f0], ecx
cmp ecx, edx
jl 0x62edcecb
mov edi, dword [esp + 0x358]
mov ebp, dword [esp + 0x378]
mov dword [esp + 0xe0], esi
mov dword [esp + 0xfc], ebx
mov eax, dword [edi]
mov ebx, dword [esp + 0x170]
fld dword [ebp + edx*4 - 4]
fchs
mov esi, dword [esp + 0x184]
add eax, 1
mov dword [edi], eax
fstp dword [ebx + eax*4]
mov ebx, dword [esp + 0x128]
mov dword [esi + eax*4], ebx
mov esi, dword [esp + 0x188]
mov eax, dword [edi]
mov dword [esi + eax*4], edx
add edx, 1
cmp ecx, edx
jge 0x62edd36d
mov esi, dword [esp + 0xe0]
mov ebx, dword [esp + 0xfc]
jmp 0x62edcecb
mov eax, edx
mov ecx, dword [esp + 0xe0]
mov edi, dword [esp + 0x35c]
mov ebp, dword [esp + 0x360]
jmp 0x62edd020
fstp st(0)
mov ebp, dword [esp + 0x380]
mov dword [ebp], 0xfffffffc
jmp 0x62edbf23
fstp st(0)
fstp st(0)
fstp st(0)
mov ecx, dword [esp + 0x380]
mov dword [ecx], 0xfffffffb
jmp 0x62edbf23
mov eax, dword [esp + 0xfc]
mov edx, dword [esp + 0xe0]
mov ecx, dword [esp + 0x378]
jmp 0x62edc6f7
mov eax, dword [esp + 0x110]
mov edi, dword [esp + 0x144]
fld qword [esp + 0x160]
mov edx, dword [esp + 0x35c]
mov ecx, dword [esp + 0x360]
jmp 0x62edc550
mov edi, 1
jmp 0x62edc2c0
mov eax, dword [esp + 0x110]
jmp 0x62edb751
fstp st(4)
fstp st(0)
fxch st(1)
fxch st(2)
mov eax, dword [esp + 0x100]
fstp dword [esp + 0x280]
fxch st(1)
mov dword [esp + 0x2f0], eax
jmp 0x62edbf52
mov dword [esp + 0xfc], esi
mov eax, dword [esp + 0x124]
mov dword [esp + 0x110], ebx
mov ecx, dword [esp + 0x35c]
mov ebx, dword [esp + 0x360]
mov esi, dword [esp + 0x368]
mov ebp, dword [esp + 0x36c]
jmp 0x62edb280