Function at 0x4dc160
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
mov eax, 0x60a4
call fcn.004ad330
mov eax, dword [ebp + 0x10]
push ebx
push esi
mov esi, dword [ebp + 0x24]
mov ecx, dword [esi*4 + 0x6af974]
movss xmm0, dword [esi*4 + 0x6af994]
shl esi, 4
mov dword [esp + 0x38], ecx
xor ecx, ecx
mov word [esp + 0x11c], 4
mov word [esp + 0x11e], cx
mov word [esp + 0x120], cx
mov word [esp + 0x122], cx
mov word [esp + 0x124], cx
mov word [esp + 0x126], cx
mov word [esp + 0x128], cx
mov word [esp + 0x12a], cx
mov word [esp + 0x12c], 3
mov word [esp + 0x12e], cx
mov word [esp + 0x130], cx
mov word [esp + 0x132], cx
mov word [esp + 0x134], cx
mov word [esp + 0x136], cx
mov word [esp + 0x138], cx
mov word [esp + 0x13a], cx
mov word [esp + 0x13c], 2
mov word [esp + 0x13e], cx
mov word [esp + 0x140], cx
mov word [esp + 0x142], cx
mov word [esp + 0x144], cx
mov word [esp + 0x146], cx
mov word [esp + 0x148], cx
mov word [esp + 0x14a], cx
mov word [esp + 0x14c], 1
mov word [esp + 0x14e], cx
mov word [esp + 0x150], cx
mov word [esp + 0x152], cx
mov word [esp + 0x154], cx
mov word [esp + 0x156], cx
mov word [esp + 0x158], cx
mov word [esp + 0x15a], cx
movups xmm4, xmmword [esp + esi + 0x11c]
movzx esi, byte [eax + 0x14]
movzx ebx, byte [esi + 0x6afac0]
push edi
movzx edi, byte [edx]
movss dword [esp + 0x68], xmm0
shl ebx, 4
movss xmm0, xmm0
add ebx, 0x6afad0
shr edi, 3
movzx edi, byte [edi + ebx]
shufps xmm0, xmm0, 0
movaps xmmword [esp + 0xb0], xmm0
movaps xmm0, xmmword [eax + 0x20]
shr esi, 2
cmp edi, dword [esi*4 + 0x6f97bc]
movdqa xmm1, xmm0
movdqa xmm5, xmm0
movdqa xmm3, xmm0
psllw xmm0, 9
movaps xmmword [esp + 0xa0], xmm4
psrlw xmm1, 3
psllw xmm5, 1
psllw xmm3, 5
movdqa xmm6, xmm0
mov esi, 0xaac4b0
jb 0x4dc31c
mov esi, 0xaac3a0
fld dword [eax + 0xc]
movaps xmm2, xmmword [esi]
fstp dword [esp + 0x10]
movaps xmm0, xmm2
fld dword [eax + 4]
andps xmm0, xmm1
fld dword [esp + 0x10]
movaps xmm1, xmm2
fld st(0)
andps xmm1, xmm3
fsubp st(2)
movaps xmm3, xmm2
fxch st(1)
andps xmm2, xmm6
psubw xmm2, xmm1
fstp dword [esp + 0x10]
psraw xmm2, xmm4
fld qword [0x6f9b80]
movdqa xmmword [esp + 0xd0], xmm2
fdiv st(1), st(0)
movss xmm2, dword [esp + 0x10]
mov esi, dword [ebp + 0x14]
movss xmm6, dword [eax]
andps xmm3, xmm5
unpcklps xmm6, xmm2
movss xmm2, dword [eax + 8]
psubw xmm3, xmm0
psraw xmm3, xmm4
movdqa xmmword [esp + 0x110], xmm3
movaps xmm7, xmm1
movaps xmmword [esp + 0xc0], xmm7
fxch st(1)
fstp dword [esp + 0x1c]
fld dword [eax + 0x3c]
fstp dword [esp + 0x10]
movss xmm3, dword [esp + 0x1c]
fld dword [eax + 0x34]
unpcklps xmm2, xmm3
fld dword [esp + 0x10]
shufps xmm6, xmm2, 0x44
fld st(0)
movss xmm3, dword [eax + 0x30]
fsubp st(2)
movaps xmmword [esp + 0x1c0], xmm6
fxch st(1)
fstp dword [esp + 0x10]
movss xmm2, dword [esp + 0x10]
unpcklps xmm3, xmm2
fdiv st(1)
movss xmm2, dword [eax + 0x38]
fstp dword [esp + 0x1c]
fld dword [esi + 0xc]
fstp dword [esp + 0x10]
movss xmm4, dword [esp + 0x1c]
fld dword [esi + 4]
unpcklps xmm2, xmm4
fld dword [esp + 0x10]
shufps xmm3, xmm2, 0x44
fld st(0)
movss xmm2, dword [esi]
fsubp st(2)
fxch st(1)
fstp dword [esp + 0x10]
movss xmm4, dword [esp + 0x10]
unpcklps xmm2, xmm4
fdiv st(1)
movss xmm4, dword [esi + 8]
fstp dword [esp + 0x1c]
fld dword [esi + 0x3c]
movss xmm5, dword [esp + 0x1c]
fstp dword [esp + 0x10]
fld dword [esi + 0x34]
unpcklps xmm4, xmm5
fld dword [esp + 0x10]
shufps xmm2, xmm4, 0x44
fld st(0)
movaps xmmword [esp + 0xf0], xmm2
fsubp st(2)
fxch st(1)
fstp dword [esp + 0x10]
fdivrp st(1)
cmp dword [esp + 0x3c], ecx
fstp dword [esp + 0x1c]
movss xmm4, dword [esp + 0x10]
movss xmm5, dword [esp + 0x1c]
subps xmm2, xmm6
mulps xmm2, xmmword [esp + 0xb0]
movaps xmmword [esp + 0x100], xmm2
movss xmm2, dword [esi + 0x30]
unpcklps xmm2, xmm4
movss xmm4, dword [esi + 0x38]
unpcklps xmm4, xmm5
shufps xmm2, xmm4, 0x44
xorps xmm4, xmm4
subps xmm2, xmm3
mulps xmm2, xmmword [esp + 0xb0]
movaps xmmword [esp + 0x1d0], xmm4
movaps xmmword [esp + 0x90], xmm4
jbe 0x4dc55a
mov esi, dword [esp + 0x3c]
xor ecx, ecx
movaps xmm5, xmm4
addps xmm4, xmmword [esp + 0x100]
addps xmm5, xmm6
movaps xmmword [esp + ecx + 0x1e0], xmm5
movaps xmm5, xmmword [esp + 0x90]
movaps xmm7, xmmword [esp + ecx + 0x1e0]
addps xmm5, xmm3
movaps xmmword [esp + ecx + 0x400], xmm5
movaps xmm5, xmmword [esp + ecx + 0x400]
subps xmm5, xmm7
mulps xmm5, xmmword [esp + 0xb0]
movaps xmmword [esp + ecx + 0x2f0], xmm5
movaps xmm5, xmmword [esp + 0x90]
addps xmm5, xmm2
movaps xmmword [esp + 0x90], xmm5
movdqa xmm5, xmm1
paddw xmm1, xmmword [esp + 0xd0]
psubw xmm5, xmm0
psraw xmm5, xmmword [esp + 0xa0]
movaps xmmword [esp + ecx + 0x510], xmm0
paddw xmm0, xmmword [esp + 0x110]
movdqa xmmword [esp + ecx + 0x620], xmm5
add ecx, 0x10
sub esi, 1
jne 0x4dc4b3
movaps xmm7, xmmword [esp + 0xc0]
mov ecx, dword [ebp + 0x24]
fld dword [esp + 0x68]
mov edi, dword [ecx*4 + 0x6af9a4]
fld st(0)
mov ecx, dword [ebp + 8]
fmul dword [ebp + 0x2c]
movzx esi, word [ecx + 0xc]
mov ecx, esi
imul ecx, edi
fstp dword [esp + 0x10]
movss xmm4, dword [esp + 0x10]
mov dword [esp + 0x6c], ecx
mov ecx, dword [ebp + 8]
movzx ecx, word [ecx + 4]
movss xmm3, dword [0x6e5b14]
sub ecx, esi
add ecx, dword [esp + 0x6c]
mov esi, dword [ebp + 0x20]
movzx eax, byte [eax + 0x16]
mov dword [esp + 0x78], ecx
mov ecx, dword [ebp + 8]
movsx ecx, byte [ecx + 0x10]
lea ecx, [ecx + esi - 2]
mov esi, dword [ebp + 8]
mov dword [esp + 0x10], ecx
movss xmm0, xmm3
fild dword [esp + 0x10]
movaps xmm2, xmm0
fld dword [ebp + 0x28]
unpcklps xmm0, xmm2
fld st(0)
movaps xmm1, xmm2
fmulp st(2)
unpcklps xmm1, xmm4
shufps xmm1, xmm0, 0x44
fxch st(1)
movaps xmmword [esp + 0x110], xmm1
fadd qword [0x6fa240]
shl eax, 4
add eax, 0xaac4c0
mov dword [esp + 0x7c], edx
fstp dword [esp + 0x10]
movss xmm1, dword [esp + 0x10]
fld qword [0x6fa238]
movaps xmm4, xmm1
movss xmm1, dword [esi + 0x14]
fld qword [0x6f9d20]
unpcklps xmm4, xmm1
movss xmm1, dword [esi + 0x20]
movss dword [esp + 0xb0], xmm1
movss xmm1, dword [esi + 0x24]
movss dword [esp + 0xb4], xmm1
movss xmm1, dword [esi + 0x28]
movss dword [esp + 0xb8], xmm1
movaps xmm1, xmmword [eax]
mov eax, dword [ebp + 0x18]
test eax, eax
shufps xmm4, xmm0, 0x44
movaps xmmword [esp + 0xc0], xmm4
movss dword [esp + 0xbc], xmm3
movaps xmmword [esp + 0xe0], xmm1
je 0x4dc8f8
test al, 1
je 0x4dc8ae
fld dword [esi + 0x1c]
mov esi, dword [esp + 0x3c]
fstp dword [esp + 0x10]
lea eax, [esi - 1]
fld st(2)
imul eax, esi
fmulp st(4)
fld dword [esp + 0x10]
fld st(0)
fmulp st(5)
fxch st(4)
fstp dword [esp + 0x10]
movss xmm5, dword [esp + 0x10]
fxch st(3)
fmulp st(2)
lea ecx, [eax + eax*4]
mov eax, dword [ebp + 0xc]
fxch st(1)
add edx, 0x10
test esi, esi
fstp dword [esp + 0x10]
movss xmm1, dword [esp + 0x10]
unpcklps xmm1, xmm2
unpcklps xmm5, xmm2
shufps xmm1, xmm0, 0x44
movdqa xmm3, xmm7
shufps xmm5, xmm0, 0x44
lea ecx, [eax + ecx*4]
addps xmm1, xmm4
psrlw xmm3, 5
mov dword [esp + 0x20], 0
jbe 0x4dc8a8
movss xmm0, dword [0x6b02a8]
mov eax, esi
lea eax, [eax + eax*4]
lea eax, [eax*4 - 0x14]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x400]
shufps xmm0, xmm0, 0
movaps xmmword [esp + 0xa0], xmm0
mov dword [esp + 0x40], eax
movaps xmm0, xmmword [0xaac390]
paddw xmm7, xmmword [esp + 0xd0]
packuswb xmm3, xmm0
movdqa xmmword [esp + 0x90], xmm3
mov eax, dword [esp + 0x90]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x94]
mov dword [ecx + 0x10], eax
movzx esi, byte [edx]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x10], esi
movdqa xmm0, xmm7
fld dword [eax + 0xc]
psrlw xmm0, 5
fimul dword [esp + 0x10]
movdqa xmm3, xmm0
movss xmm0, dword [0x6e5b14]
movaps xmm2, xmm0
unpcklps xmm2, xmm2
fstp dword [esp + 0x10]
movss xmm4, dword [esp + 0x10]
unpcklps xmm0, xmm4
movaps xmm4, xmmword [eax]
shufps xmm0, xmm2, 0x44
movaps xmm2, xmmword [esp + 0xb0]
subps xmm4, xmm2
addps xmm0, xmm4
mulps xmm0, xmmword [esp + 0xa0]
movss dword [esp + 0x80], xmm0
movss xmm2, dword [esp + 0x80]
movss dword [esp + 0x1c], xmm2
cvttss2si eax, dword [esp + 0x1c]
movaps xmm2, xmm0
shufps xmm2, xmm0, 0x55
movss dword [esp + 0x80], xmm2
movss xmm2, dword [esp + 0x80]
mov word [ecx], ax
movss dword [esp + 0x68], xmm2
cvttss2si eax, dword [esp + 0x68]
shufps xmm0, xmm0, 0xaa
movss dword [esp + 0x80], xmm0
movss xmm0, dword [esp + 0x80]
mov word [ecx + 2], ax
movss dword [esp + 0x50], xmm0
cvttss2si eax, dword [esp + 0x50]
movss dword [esp + 0x80], xmm1
fld dword [esp + 0x80]
fmul st(1)
mov word [ecx + 4], ax
fstp dword [esp + 0x10]
cvttss2si eax, dword [esp + 0x10]
movaps xmm0, xmm1
shufps xmm0, xmm1, 0x55
movss dword [esp + 0x80], xmm0
fld dword [esp + 0x80]
fmul st(2)
mov word [ecx + 6], ax
fstp dword [esp + 0x10]
cvttss2si eax, dword [esp + 0x10]
addps xmm1, xmmword [esp + 0x110]
shr esi, 3
movzx esi, byte [esi + ebx]
movzx eax, al
shl eax, 0x18
or esi, eax
mov eax, dword [esp + 0x3c]
or esi, 0x7fff00
add eax, 0xfffffffe
mov dword [ecx + 8], esi
add ecx, dword [esp + 0x14]
cmp dword [esp + 0x20], eax
mov eax, dword [esp + 0x78]
je 0x4dc884
mov eax, dword [esp + 0x6c]
add dword [esp + 0x40], 0x10
add edx, eax
mov eax, dword [esp + 0x20]
add eax, 1
cmp eax, dword [esp + 0x3c]
mov dword [esp + 0x20], eax
jb 0x4dc710
movaps xmm4, xmmword [esp + 0xc0]
mov edx, dword [esp + 0x7c]
jmp 0x4dc90f
fld dword [esi + 0x18]
fstp dword [esp + 0x14]
fld st(2)
fmulp st(4)
fld dword [esp + 0x14]
fld st(0)
fmulp st(5)
fxch st(4)
fstp dword [esp + 0x14]
movss xmm5, dword [esp + 0x14]
fld1
fsubrp st(4)
fxch st(3)
fmulp st(2)
fxch st(1)
fstp dword [esp + 0x14]
movss xmm1, dword [esp + 0x14]
unpcklps xmm1, xmm2
shufps xmm1, xmm0, 0x44
addps xmm1, xmm4
movaps xmm4, xmm1
movaps xmmword [esp + 0xc0], xmm4
jmp 0x4dc908
fxch st(3)
fmulp st(2)
fxch st(1)
fstp dword [esp + 0x14]
movss xmm5, dword [esp + 0x14]
unpcklps xmm5, xmm2
shufps xmm5, xmm0, 0x44
mov ecx, dword [esp + 0x3c]
lea eax, [ecx + ecx*2]
shl eax, 4
lea esi, [esp + eax + 0x20f0]
mov dword [esp + 0x1c], eax
xor eax, eax
test byte [ebp + 0x1c], 4
mov dword [esp + 0x10], esi
je 0x4dcad5
movzx ecx, byte [edx]
mov dword [esp + 0x20], ecx
lea ecx, [edi + edi]
add edx, ecx
mov ecx, dword [esp + 0x3c]
add ecx, 0xffffffff
shr ecx, 1
lea eax, [esp + 0x120]
mov dword [esp + 0x40], ecx
je 0x4dc98f
movzx ecx, byte [edx]
mov dword [esp + 0x50], ecx
lea ecx, [edi + edi]
add edx, ecx
mov ecx, dword [esp + 0x20]
mov byte [eax], cl
add eax, edi
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x50]
lea ecx, [eax + ecx + 1]
mov eax, dword [esp + 0x14]
shr ecx, 1
mov byte [eax], cl
mov ecx, dword [esp + 0x50]
add eax, edi
sub dword [esp + 0x40], 1
mov dword [esp + 0x20], ecx
jne 0x4dc956
mov edx, dword [esp + 0x3c]
movaps xmm1, xmmword [esp + 0x510]
movaps xmm3, xmmword [esp + 0x1d0]
add edx, 0xffffffff
test edx, edx
movaps xmm2, xmm1
lea ecx, [esp + 0x120]
movaps xmmword [esp + 0xa0], xmm4
psrlw xmm1, 5
jbe 0x4dcaa4
movss xmm0, dword [0x6e5b14]
fld qword [0x6fa230]
movaps xmm4, xmm0
unpcklps xmm0, xmm4
movaps xmmword [esp + 0xd0], xmm4
movaps xmmword [esp + 0x90], xmm0
jmp 0x4dc9f3
movaps xmm4, xmmword [esp + 0xd0]
mov al, byte [ecx]
movaps xmm0, xmmword [esp + 0x1e0]
movzx eax, al
addps xmm0, xmm3
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
movaps xmm7, xmm0
shufps xmm7, xmm0, 0xff
movss dword [esp + 0x80], xmm7
fmul dword [esp + 0x80]
packuswb xmm1, xmm1
movaps xmmword [esi + 0x20], xmm1
movaps xmm1, xmmword [esp + 0x620]
fadd st(1)
shr eax, 3
movzx eax, byte [eax + ebx]
paddw xmm2, xmm1
fstp dword [esp + 0x14]
movss xmm7, dword [esp + 0x14]
unpcklps xmm4, xmm7
shufps xmm4, xmmword [esp + 0x90], 0x44
addps xmm4, xmm0
movaps xmm0, xmmword [esp + 0xa0]
movaps xmmword [esi], xmm4
movaps xmm4, xmmword [esp + 0x2f0]
movaps xmmword [esi + 0x10], xmm0
mov dword [esi + 0x18], eax
add esi, 0x30
add ecx, edi
sub edx, 1
movdqa xmm1, xmm2
addps xmm4, xmm3
addps xmm0, xmm5
psrlw xmm1, 5
movaps xmm3, xmm4
movaps xmmword [esp + 0xa0], xmm0
jne 0x4dc9eb
movaps xmm4, xmmword [esp + 0xc0]
fstp st(0)
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x7c]
add esi, 0x60
movaps xmm0, xmm4
addps xmm0, xmmword [esp + 0x110]
add edx, 0xfffffff0
movaps xmm4, xmm0
lea edx, [edx + ecx + 0x10]
mov ecx, dword [esp + 0x3c]
movaps xmmword [esp + 0xc0], xmm4
mov eax, 1
add ecx, 0xffffffff
cmp eax, ecx
mov dword [esp + 0x40], ecx
jae 0x4dcc5d
fldz
mov ecx, eax
shl ecx, 4
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x40]
sub ecx, eax
mov dword [esp + 0x50], ecx
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x40]
test ecx, ecx
movaps xmm2, xmmword [esp + eax + 0x510]
movaps xmm0, xmmword [esp + eax + 0x620]
movaps xmm3, xmmword [esp + 0x1d0]
movdqa xmm1, xmm2
movaps xmmword [esp + 0xa0], xmm0
psrlw xmm1, 5
jbe 0x4dcc27
movaps xmm0, xmmword [esp + eax + 0x1e0]
movss xmm6, dword [0x6e5b14]
movaps xmmword [esp + 0x80], xmm0
movaps xmm0, xmm6
unpcklps xmm0, xmm6
movaps xmmword [esp + 0x90], xmm0
movaps xmm0, xmmword [esp + eax + 0x2f0]
movaps xmmword [esp + 0xd0], xmm6
movaps xmmword [esp + 0x1b0], xmm0
jmp 0x4dcb7a
movaps xmm6, xmmword [esp + 0xd0]
mov al, byte [edx]
movaps xmm0, xmm3
addps xmm0, xmmword [esp + 0x80]
addps xmm3, xmmword [esp + 0x1b0]
movaps xmm7, xmm0
shufps xmm7, xmm0, 0xff
movzx eax, al
movss dword [esp + 0x1a0], xmm7
mov dword [esp + 0x14], eax
fld dword [esp + 0x1a0]
packuswb xmm1, xmm1
fimul dword [esp + 0x14]
movaps xmmword [esi + 0x20], xmm1
shr eax, 3
movzx eax, byte [eax + ebx]
movdqa xmm1, xmm2
paddw xmm1, xmmword [esp + 0xa0]
add esi, 0x30
add edx, edi
sub ecx, 1
fadd st(1)
movdqa xmm2, xmm1
psrlw xmm1, 5
fstp dword [esp + 0x14]
movss xmm7, dword [esp + 0x14]
unpcklps xmm6, xmm7
shufps xmm6, xmmword [esp + 0x90], 0x44
addps xmm6, xmm0
movaps xmmword [esi - 0x30], xmm6
movaps xmmword [esi - 0x20], xmm4
mov dword [esi - 0x18], eax
movaps xmm0, xmm4
addps xmm0, xmm5
movaps xmm4, xmm0
jne 0x4dcb72
movaps xmm4, xmmword [esp + 0xc0]
movaps xmm6, xmmword [esp + 0x1c0]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x6c]
add ecx, 0xfffffff0
movaps xmm0, xmm4
addps xmm0, xmmword [esp + 0x110]
add eax, 0x10
add edx, ecx
add esi, 0x60
sub dword [esp + 0x50], 1
movaps xmm4, xmm0
movaps xmmword [esp + 0xc0], xmm4
mov dword [esp + 0x20], eax
jne 0x4dcaf9
fstp st(0)
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x78]
movss xmm0, dword [0x6e5b14]
add eax, 0xfffffff0
sub ecx, eax
test byte [ebp + 0x1c], 8
lea ecx, [edx + ecx - 0x10]
movss dword [esp + 0x68], xmm0
je 0x4dccf6
mov al, byte [ecx]
lea edx, [esp + 0x120]
mov dword [esp + 0x20], edx
lea edx, [edi + edi]
add ecx, edx
mov edx, dword [esp + 0x40]
shr edx, 1
mov dword [esp + 0x50], edx
je 0x4dcce1
mov dl, byte [ecx]
mov byte [esp + 0x1b], dl
lea edx, [edi + edi]
add ecx, edx
mov edx, dword [esp + 0x20]
mov byte [edx], al
add edx, edi
mov dword [esp + 0x20], edx
movzx edx, byte [esp + 0x1b]
movzx eax, al
lea eax, [edx + eax + 1]
cdq
sub eax, edx
mov edx, eax
mov eax, dword [esp + 0x20]
sar edx, 1
mov byte [eax], dl
add eax, edi
sub dword [esp + 0x50], 1
mov dword [esp + 0x20], eax
mov al, byte [esp + 0x1b]
jne 0x4dcca0
movss xmm1, dword [0x6fa22c]
lea ecx, [esp + 0x120]
movss dword [esp + 0x68], xmm1
mov edx, dword [esp + 0x40]
movaps xmm3, xmmword [esp + 0x1d0]
mov eax, edx
shl eax, 4
test edx, edx
movaps xmm1, xmmword [esp + eax + 0x620]
movaps xmm2, xmmword [esp + eax + 0x510]
movaps xmmword [esp + 0x1b0], xmm1
movdqa xmm1, xmm2
movaps xmmword [esp + 0xa0], xmm4
psrlw xmm1, 5
jbe 0x4dce25
movaps xmm4, xmmword [esp + eax + 0x1e0]
fld dword [esp + 0x68]
movss xmm0, xmm0
movaps xmmword [esp + 0x1c0], xmm4
movaps xmm4, xmm0
unpcklps xmm0, xmm4
movaps xmmword [esp + 0x90], xmm0
movaps xmm0, xmmword [esp + eax + 0x2f0]
movaps xmmword [esp + 0xd0], xmm4
movaps xmmword [esp + 0x80], xmm0
jmp 0x4dcd80
movaps xmm4, xmmword [esp + 0xd0]
mov al, byte [ecx]
movaps xmm0, xmm3
addps xmm0, xmmword [esp + 0x1c0]
addps xmm3, xmmword [esp + 0x80]
movaps xmm7, xmm0
shufps xmm7, xmm0, 0xff
movzx eax, al
movss dword [esp + 0x1a0], xmm7
mov dword [esp + 0x14], eax
fld dword [esp + 0x1a0]
packuswb xmm1, xmm1
fimul dword [esp + 0x14]
movaps xmmword [esi + 0x20], xmm1
shr eax, 3
movzx eax, byte [eax + ebx]
movdqa xmm1, xmm2
paddw xmm1, xmmword [esp + 0x1b0]
add esi, 0x30
add ecx, edi
sub edx, 1
fadd st(1)
movdqa xmm2, xmm1
psrlw xmm1, 5
fstp dword [esp + 0x14]
movss xmm7, dword [esp + 0x14]
unpcklps xmm4, xmm7
shufps xmm4, xmmword [esp + 0x90], 0x44
addps xmm4, xmm0
movaps xmm0, xmmword [esp + 0xa0]
movaps xmmword [esi - 0x30], xmm4
movaps xmmword [esi - 0x20], xmm0
mov dword [esi - 0x18], eax
addps xmm0, xmm5
movaps xmmword [esp + 0xa0], xmm0
jne 0x4dcd78
fstp st(0)
mov ecx, dword [ebp + 8]
movsx eax, byte [ecx + 0x12]
mov edx, dword [ebp + 0x20]
add eax, edx
jns 0x4dce3d
mov dword [esp + 0x20], 0x6af9b4
jmp 0x4dce62
movzx esi, word [ecx + 0xe]
mov ebx, dword [esp + 0x3c]
add ebx, 0xfffffffe
imul esi, ebx
movsx ebx, word [ecx + 2]
sub esi, 1
imul esi, edi
add ebx, ecx
shl eax, 4
add ebx, esi
add eax, ebx
mov dword [esp + 0x20], eax
movzx eax, word [ecx + 6]
add eax, ecx
movsx ecx, byte [eax + 0x12]
sub edx, ecx
mov ecx, edx
jns 0x4dce79
mov esi, 0x6af9b4
jmp 0x4dce8c
movzx esi, word [eax + 0xc]
movsx edx, word [eax + 8]
add esi, edx
shl ecx, 4
add esi, ecx
sub esi, edi
add esi, eax
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x3c]
movaps xmm0, xmmword [esp + 0x100]
movaps xmm2, xmmword [esp + 0x2f0]
add eax, 1
add edx, 0x30
shl ebx, 4
movaps xmm1, xmmword [esp + ebx + 0x2e0]
subps xmm6, xmm0
addps xmm0, xmmword [esp + 0xf0]
mov ecx, eax
imul ecx, edx
test eax, eax
subps xmm6, xmm2
mov dword [esp + 0x50], ebx
subps xmm0, xmm1
mov dword [esp + 0x74], edx
mov dword [esp + 0x68], eax
jbe 0x4dcf70
lea eax, [esp + 0x2094]
lea ecx, [esp + ecx + 0x2094]
mov edx, dword [esp + 0x20]
mov dl, byte [edx]
mov bl, byte [esi]
add dword [esp + 0x20], edi
movzx edx, dl
mov dword [esp + 0x14], edx
movaps xmmword [eax - 4], xmm6
fild dword [esp + 0x14]
movaps xmm3, xmm6
shufps xmm3, xmm6, 0xff
movss dword [esp + 0xf0], xmm3
fmul dword [esp + 0xf0]
movaps xmmword [ecx - 4], xmm0
movzx edx, bl
mov dword [esp + 0x14], edx
fadd dword [eax]
movaps xmm3, xmm0
shufps xmm3, xmm0, 0xff
movss dword [esp + 0xf0], xmm3
fstp dword [eax]
add esi, edi
fild dword [esp + 0x14]
add eax, 0x30
add ecx, 0x30
sub dword [esp + 0x68], 1
fmul dword [esp + 0xf0]
mov byte [esp + 0x1b], bl
addps xmm6, xmm2
addps xmm0, xmm1
fadd dword [ecx - 0x30]
fstp dword [ecx - 0x30]
jne 0x4dcef1
mov ebx, dword [esp + 0x50]
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x1c]
lea edx, [ecx + ecx*2]
mov ecx, dword [esp + 0x7c]
mov esi, ecx
shl edx, 5
sub esi, edi
cmp dword [esp + 0x40], 0
lea eax, [esp + eax + 0x20c0]
mov dword [esp + 0x68], eax
lea edx, [esp + edx + 0x20c0]
lea edi, [ecx + 0x10]
jbe 0x4dd02d
mov ebx, dword [esp + 0x40]
xor ecx, ecx
mov dword [esp + 0x1c], ebx
movaps xmm0, xmmword [esp + ecx + 0x2f0]
movaps xmm2, xmmword [esp + ecx + 0x1e0]
subps xmm2, xmm0
movaps xmm0, xmmword [esp + ecx + 0x400]
movaps xmmword [eax], xmm2
movaps xmmword [edx], xmm0
fld dword [eax + 0xc]
movzx ebx, byte [esi]
mov byte [esp + 0x1b], bl
movzx ebx, byte [edi]
mov byte [esp + 0x73], bl
mov ebx, dword [esp + 0x6c]
add esi, ebx
add edi, ebx
movzx ebx, byte [esp + 0x1b]
mov dword [esp + 0x14], ebx
movzx ebx, byte [esp + 0x73]
fild dword [esp + 0x14]
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x74]
fmulp st(1)
add ecx, 0x10
fadd dword [eax + 4]
fstp dword [eax + 4]
add eax, ebx
fld dword [edx + 0xc]
fild dword [esp + 0x14]
fmulp st(1)
fadd dword [edx + 4]
fstp dword [edx + 4]
add edx, ebx
sub dword [esp + 0x1c], 1
jne 0x4dcfb0
mov ebx, dword [esp + 0x50]
sub edi, dword [esp + 0x6c]
movaps xmm0, xmmword [esp + ebx + 0x1d0]
mov ecx, dword [esp + 0x78]
sub esi, dword [esp + 0x6c]
subps xmm0, xmm1
movaps xmmword [eax], xmm0
movaps xmm0, xmmword [esp + ebx + 0x3f0]
movaps xmmword [edx], xmm0
mov cl, byte [edi + ecx]
mov edi, dword [esp + 0x78]
movzx esi, byte [esi + edi]
mov dword [esp + 0x74], esi
mov esi, dword [esp + 0x3c]
fild dword [esp + 0x74]
add esi, 1
mov edi, esi
fmul dword [eax + 0xc]
fadd dword [eax + 4]
fstp dword [eax + 4]
movzx eax, cl
fld dword [edx + 0xc]
mov dword [esp + 0x74], eax
lea ecx, [esp + 0x730]
fild dword [esp + 0x74]
lea eax, [esp + 0x2090]
fmulp st(1)
fadd dword [edx + 4]
fstp dword [edx + 4]
mov edx, dword [esp + 0x68]
je 0x4dd0fd
mov ebx, dword [esp + 0x3c]
test ebx, ebx
jbe 0x4dd0ee
movaps xmm2, xmmword [eax]
movaps xmm0, xmmword [eax + 0x30]
movaps xmm1, xmmword [edx]
subps xmm0, xmm2
subps xmm1, xmm2
movaps xmm3, xmm0
shufps xmm3, xmm0, 0xd2
movaps xmm2, xmm1
shufps xmm2, xmm1, 0xc9
mulps xmm2, xmm3
mov esi, ecx
movaps xmm3, xmm1
shufps xmm3, xmm1, 0xd2
shufps xmm0, xmm0, 0xc9
add ecx, 0x10
mulps xmm3, xmm0
add eax, 0x30
add edx, 0x30
sub ebx, 1
subps xmm2, xmm3
movaps xmmword [esi], xmm2
jne 0x4dd0a9
add eax, 0x30
add edx, 0x30
sub edi, 1
jne 0x4dd0a1
mov ebx, dword [esp + 0x50]
mov esi, dword [esp + 0x3c]
mov ecx, esi
imul ecx, esi
test ecx, ecx
lea eax, [esp + 0x730]
jbe 0x4dd126
movaps xmm0, xmmword [eax + ebx]
movaps xmm1, xmmword [eax]
addps xmm0, xmm1
movaps xmmword [eax], xmm0
add eax, 0x10
sub ecx, 1
jne 0x4dd111
test esi, esi
mov edi, dword [esp + 0x10]
lea edx, [esp + 0x730]
mov dword [esp + 0x1c], esi
jbe 0x4dd1f0
movss xmm5, dword [0x6fa228]
movaps xmm4, xmmword [esp + 0xe0]
mov ecx, dword [esp + 0x40]
test ecx, ecx
jbe 0x4dd1db
movss xmm3, dword [0x6f7b4c]
lea eax, [ecx + ecx*2]
shl eax, 4
movss xmm2, xmm5
lea esi, [edi + 0x1d]
shufps xmm2, xmm2, 0
shufps xmm3, xmm3, 0
add edi, eax
movaps xmm0, xmmword [edx]
movaps xmm1, xmmword [edx + 0x10]
addps xmm1, xmm0
mulps xmm1, xmm4
movaps xmm0, xmm1
mulps xmm0, xmm1
movaps xmm6, xmm0
shufps xmm6, xmm0, 0x55
movaps xmm7, xmm0
shufps xmm7, xmm0, 0
shufps xmm0, xmm0, 0xaa
addps xmm6, xmm7
addps xmm6, xmm0
rsqrtps xmm0, xmm6
mulps xmm0, xmm1
mulps xmm0, xmm2
addps xmm0, xmm3
movups xmmword [esp + 0x100], xmm0
cvttss2si eax, dword [esp + 0x104]
mov ebx, eax
cvttss2si eax, dword [esp + 0x100]
mov byte [esi + 1], al
mov byte [esi], bl
add esi, 0x30
add edx, 0x10
sub ecx, 1
jne 0x4dd178
add edi, 0x60
add edx, 0x10
sub dword [esp + 0x1c], 1
jne 0x4dd14d
mov esi, dword [esp + 0x3c]
test esi, esi
mov edx, dword [ebp + 0xc]
mov ecx, dword [esp + 0x10]
mov edi, esi
jbe 0x4dd2f2
mov esi, dword [esp + 0x40]
test esi, esi
jbe 0x4dd2e6
movss xmm2, dword [0x6b02a8]
shufps xmm2, xmm2, 0
movaps xmm1, xmmword [esp + 0xb0]
movaps xmm0, xmmword [ecx]
subps xmm0, xmm1
mulps xmm0, xmm2
movss dword [esp + 0xe0], xmm0
movss xmm1, dword [esp + 0xe0]
movss dword [esp + 0x74], xmm1
cvttss2si eax, dword [esp + 0x74]
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
movss dword [esp + 0xe0], xmm1
movss xmm1, dword [esp + 0xe0]
mov word [edx], ax
movss dword [esp + 0x14], xmm1
cvttss2si eax, dword [esp + 0x14]
shufps xmm0, xmm0, 0xaa
movss dword [esp + 0xe0], xmm0
movss xmm0, dword [esp + 0xe0]
mov word [edx + 2], ax
movss dword [esp + 0x10], xmm0
cvttss2si eax, dword [esp + 0x10]
fld dword [ecx + 0x10]
fmul st(1)
mov word [edx + 4], ax
fstp dword [esp + 0x1c]
cvttss2si eax, dword [esp + 0x1c]
fld dword [ecx + 0x14]
mov word [edx + 6], ax
fmul st(2)
fstp dword [esp + 0x1c]
cvttss2si eax, dword [esp + 0x1c]
mov bl, byte [ecx + 0x18]
mov byte [ecx + 0x1c], bl
mov byte [ecx + 0x1f], al
mov eax, dword [ecx + 0x20]
mov dword [edx + 0xc], eax
mov eax, dword [ecx + 0x24]
mov dword [edx + 0x10], eax
mov eax, dword [ecx + 0x1c]
mov dword [edx + 8], eax
add ecx, 0x30
add edx, 0x14
sub esi, 1
jne 0x4dd219
add ecx, 0x60
sub edi, 1
jne 0x4dd201
pop edi
fstp st(0)
pop esi
fstp st(0)
pop ebx
mov esp, ebp
pop ebp
ret