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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
push esi
push edi
push ebx
sub esp, 0x1d4
mov edi, 0x80
mov esi, dword [eax]
cmp esi, 2
mov dword [esp + 0x138], ecx
mov ecx, 0
mov dword [esp + 0x134], edx
mov edx, ecx
mov dword [esp + 0x160], esi
lea ebx, [esi - 1]
cmovge edx, ebx
mov esi, 8
mov eax, 1
mov dword [esp + 0x6c], edi
mov dword [esp + 0x70], eax
mov dword [esp + 0x94], edi
mov dword [esp + 0x98], eax
mov dword [esp + 0xbc], edi
mov dword [esp + 0xc0], eax
mov dword [esp + 0xe4], edi
mov dword [esp + 0xe8], eax
mov dword [esp + 0xc], edi
mov edi, 2
mov dword [esp + 0x50], eax
mov dword [esp + 0x5c], eax
lea eax, [edx*8]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], ecx
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], ecx
mov dword [esp + 0x9c], ecx
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xb8], ecx
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xd8], ecx
mov dword [esp + 0xdc], ecx
mov dword [esp + 0xe0], ecx
mov dword [esp + 0xec], ecx
mov dword [esp + 0xf0], ecx
mov dword [esp + 0xf4], ecx
mov dword [esp + 0xf8], ecx
mov dword [esp], ecx
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x3c], 0x85
mov dword [esp + 0x34], esi
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], ecx
lea ecx, [esp + 0xd4]
mov dword [esp + 0x48], edx
mov dword [ecx - 0x80], edx
mov dword [esp + 0x4c], esi
mov dword [ecx - 0x7c], eax
push esi
push edx
push edx
push 3
push ecx
call fcn.005c12c0
mov edx, eax
mov ecx, dword [esp + 0x50]
and edx, 1
and ecx, 0xfffffff
lea edi, [esp + 0x44]
add ecx, 0x40000000
mov eax, ecx
and eax, 1
shl edx, 4
add eax, eax
or eax, edx
mov edx, ecx
shr edx, 8
and edx, 1
shl edx, 0x15
or eax, edx
add eax, 0x40000
mov dword [edi + 0xc], ecx
push eax
push edi
push dword [esp + 0xf0]
call fcn.005c0f80
xor ecx, ecx
mov edi, 1
xor eax, eax
cmp dword [esp + 0x180], 2
movzx edx, byte [esp + 0x2d]
cmovge eax, ebx
and edx, 1
shl edx, 8
add edx, 0x85
mov dword [esp + 0x2c], edx
mov dword [esp + 0x24], esi
lea edx, [eax*8]
mov dword [esp + 0x30], 2
mov dword [esp + 0x28], ecx
lea ecx, [esp + 0x11c]
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], eax
mov dword [esp + 0x4c], edi
mov dword [esp + 0x44], eax
mov dword [esp + 0x3c], esi
mov dword [esp + 0x48], edx
push esi
push eax
push eax
push 3
push ecx
call fcn.005c12c0
mov edx, eax
mov ecx, dword [esp + 0x40]
and edx, 1
and ecx, 0xfffffff
lea edi, [esp + 0x34]
add ecx, 0x40000000
mov eax, ecx
and eax, 1
shl edx, 4
add eax, eax
or eax, edx
mov edx, ecx
shr edx, 8
and edx, 1
shl edx, 0x15
or eax, edx
add eax, 0x40000
mov dword [edi + 0xc], ecx
push eax
push edi
push dword [esp + 0x138]
call fcn.005c0f80
mov edi, ebx
xor ecx, ecx
imul edi, ebx
mov edx, 1
movzx eax, byte [esp + 0x125]
test edi, edi
mov dword [esp + 0x120], ecx
cmovge ecx, edi
and eax, 1
shl eax, 8
add eax, 0x85
mov dword [esp + 0x124], eax
lea eax, [esp + 0x164]
mov dword [eax - 0x48], esi
mov dword [eax - 0x3c], edx
mov dword [eax - 0x2c], edx
mov dword [eax - 0x78], edi
mov dword [eax - 0x34], ecx
mov dword [eax - 0x30], esi
push esi
push ecx
push 2
push eax
call fcn.005c12c0
mov edx, eax
mov ecx, dword [esp + 0x134]
and edx, 1
and ecx, 0xfffffff
lea edi, [esp + 0x128]
add ecx, 0x40000000
mov eax, ecx
and eax, 1
shl edx, 4
add eax, eax
or eax, edx
mov edx, ecx
shr edx, 8
and edx, 1
shl edx, 0x15
or eax, edx
add eax, 0x40000
mov dword [edi + 0xc], ecx
push eax
push edi
push dword [esp + 0x17c]
call fcn.005c0f80
movzx edx, byte [esp + 0xf1]
xor edi, edi
and edx, 1
mov eax, 4
cmp dword [esp + 0x1bc], 2
mov dword [esp + 0xec], edi
cmovge edi, ebx
mov ecx, 1
shl edx, 8
add edx, 0x85
mov dword [esp + 0xf0], edx
lea edx, [esp + 0x184]
mov dword [edx - 0x9c], eax
mov dword [edx - 0x90], ecx
mov dword [edx - 0x80], ecx
mov dword [edx - 0x88], edi
mov dword [edx - 0x84], eax
push eax
push edi
push 2
push edx
call fcn.005c12c0
mov edx, eax
mov ecx, dword [esp + 0x100]
and edx, 1
and ecx, 0xfffffff
lea edi, [esp + 0xf4]
add ecx, 0x40000000
mov eax, ecx
and eax, 1
shl edx, 4
add eax, eax
or eax, edx
mov edx, ecx
shr edx, 8
and edx, 1
shl edx, 0x15
or eax, edx
add eax, 0x40000
mov dword [edi + 0xc], ecx
push eax
push edi
push dword [esp + 0x19c]
call fcn.005c0f80
add esp, 0x78
movzx edx, byte [esp + 0x6d]
xor edi, edi
and edx, 1
mov eax, 4
cmp dword [esp + 0x160], 2
mov dword [esp + 0x68], edi
cmovge edi, ebx
mov ecx, 1
shl edx, 8
add edx, 0x85
mov dword [esp + 0x6c], edx
lea edx, [esp + 0x12c]
mov dword [esp + 0x64], eax
mov dword [esp + 0x70], ecx
mov dword [edx - 0xac], ecx
mov dword [esp + 0x78], edi
mov dword [esp + 0x7c], eax
push eax
push edi
push 2
push edx
call fcn.005c12c0
mov edx, eax
mov ecx, dword [esp + 0x7c]
and edx, 1
and ecx, 0xfffffff
lea edi, [esp + 0x70]
add ecx, 0x40000000
mov eax, ecx
and eax, 1
shl edx, 4
add eax, eax
or eax, edx
mov edx, ecx
shr edx, 8
and edx, 1
shl edx, 0x15
or eax, edx
add eax, 0x40000
mov dword [edi + 0xc], ecx
push eax
push edi
push dword [esp + 0x144]
call fcn.005c0f80
movzx eax, byte [esp + 0xd9]
xor ecx, ecx
mov edi, dword [esp + 0x17c]
and eax, 1
test edi, edi
mov dword [esp + 0xd4], ecx
cmovge ecx, edi
mov edx, 1
shl eax, 8
add eax, 0x85
mov dword [esp + 0xd8], eax
lea eax, [esp + 0x14c]
mov dword [eax - 0x7c], esi
mov dword [eax - 0x70], edx
mov dword [eax - 0x60], edx
mov dword [eax - 0x68], ecx
mov dword [eax - 0x64], esi
push esi
push ecx
push 2
push eax
call fcn.005c12c0
mov edx, dword [esp + 0xe8]
and eax, 1
and edx, 0xfffffff
lea esi, [esp + 0xdc]
add edx, 0x40000000
mov ecx, edx
and ecx, 1
shl eax, 4
add ecx, ecx
or ecx, eax
mov eax, edx
shr eax, 8
and eax, 1
shl eax, 0x15
or ecx, eax
add ecx, 0x40000
mov dword [esi + 0xc], edx
push ecx
push esi
push dword [esp + 0x164]
call fcn.005c0f80
add esp, 0x38
mov eax, edi
lea ecx, [eax - 2]
imul ecx, ebx
mov edx, ecx
shr edx, 0x1f
add ecx, edx
sar ecx, 1
mov dword [esp + 0x144], ecx
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x30]
test ecx, ecx
jle 0x4cc773
mov esi, dword [esp + 0x48]
mov eax, dword [esp + 0x58]
mov dword [esp + 0x104], eax
mov eax, esi
mov dword [esp + 0x84], edx
lea edi, [esi*8]
mov dword [esp + 0x148], ebx
and eax, 0xfffffffc
mov dword [esp + 0x100], 0
mov dword [esp + 0x108], edi
mov dword [esp + 0x11c], edx
mov dword [esp + 0x10c], ecx
mov ebx, dword [esp + 0x84]
test esi, esi
jle 0x4cc745
cmp esi, 0xc
jle 0x4cc70f
mov dword [esp + 0x84], eax
mov edi, dword [esp + 0x100]
push dword [esp + 0x108]
push 0
push ebx
call fcn.0062a5e0
add esp, 0xc
inc edi
add ebx, dword [esp + 0x104]
cmp edi, dword [esp + 0x10c]
jae 0x4cc765
cmp esi, 0xc
jg 0x4cc6d9
mov dword [esp + 0x100], edi
mov eax, dword [esp + 0x84]
cmp esi, 4
jl 0x4cdfe1
mov edx, eax
xor edi, edi
mov ecx, ebx
pxor xmm0, xmm0
add edi, 4
movups xmmword [ecx], xmm0
movups xmmword [ecx + 0x10], xmm0
add ecx, 0x20
cmp edi, eax
jb 0x4cc722
cmp edx, esi
jae 0x4cc745
pxor xmm0, xmm0
movsd qword [ebx + edx*8], xmm0
inc edx
cmp edx, esi
jb 0x4cc73b
lea ecx, [esp + 0x100]
mov edx, dword [ecx]
inc edx
add ebx, dword [esp + 0x104]
mov dword [ecx], edx
cmp edx, dword [esp + 0x10c]
jb 0x4cc6c2
mov edx, dword [esp + 0x11c]
mov ebx, dword [esp + 0x148]
test ebx, ebx
jle 0x4ccccd
mov esi, dword [ebp + 0x14]
mov edi, edx
mov dword [esp + 0x148], ebx
xor eax, eax
mov dword [esp + 0x11c], edx
mov ebx, dword [esi]
mov esi, dword [esi + 0x1c]
mov edx, dword [esp + 0x144]
imul edx, esi
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x14c], ebx
sub ebx, esi
sub edi, ecx
add ebx, edx
add ebx, esi
lea edx, [ecx + ecx*2]
add edx, edi
mov dword [esp + 0x100], edx
lea edx, [ecx*8]
mov dword [esp + 0x84], ebx
lea ebx, [ecx + ecx*4]
sub edx, ecx
add ebx, edi
add edi, edx
mov dword [esp + 0x104], ebx
mov dword [esp + 0x164], esi
mov dword [esp + 0x120], eax
mov esi, dword [esp + 0x84]
mov dword [esp + 0x108], edi
mov dword [esp + 0x168], ecx
mov ecx, dword [esp + 0x164]
imul ecx, eax
mov dword [esp + 0x13c], ecx
movsd xmm0, qword [esi + ecx]
lea ecx, [eax - 1]
imul ecx, eax
mov edx, dword [esp + 0x11c]
mov edi, ecx
mov ebx, dword [esp + 0x120]
shr edi, 0x1f
add ecx, edi
lea edx, [edx + eax*8]
sar ecx, 1
movsd qword [edx + ebx], xmm0
test eax, eax
jle 0x4ccc9c
cmp dword [esp + 0x168], 0
je 0x4cdfd1
cmp eax, 8
jl 0x4cdfd1
mov ebx, dword [esp + 0x11c]
mov edi, dword [esp + 0x120]
add ebx, edi
mov dword [esp + 0x16c], ebx
and ebx, 0xf
je 0x4cc883
test bl, 7
jne 0x4cdfd1
mov ebx, 1
mov dword [esp + 0x150], ecx
lea ecx, [ebx + 8]
cmp eax, ecx
mov ecx, dword [esp + 0x150]
jl 0x4cdfd1
mov edi, eax
sub edi, ebx
and edi, 7
neg edi
add edi, eax
mov dword [esp + 0x15c], edi
test ebx, ebx
jbe 0x4cc982
mov edi, dword [esp + 0x164]
imul edi, ecx
add edi, dword [esp + 0x14c]
mov dword [esp + 0x114], edi
mov edi, dword [esp + 0x13c]
mov dword [esp + 0x170], ebx
xor ebx, ebx
mov dword [esp + 0x118], ebx
mov dword [esp + 0x110], ebx
mov dword [esp + 0x10c], edx
movsd xmm0, qword [edi + esi]
mov dword [esp + 0x150], ecx
mov dword [esp + 0x154], edx
mov dword [esp + 0x158], eax
mov edx, dword [esp + 0x10c]
mov ecx, dword [esp + 0x110]
mov ebx, dword [esp + 0x114]
mov edi, dword [esp + 0x118]
movaps xmm1, xmm0
mov eax, dword [esp + 0x16c]
addsd xmm1, qword [ecx + esi]
subsd xmm1, qword [ecx + ebx]
mulsd xmm1, qword [0x681838]
movsd qword [edx], xmm1
movsd qword [eax + edi*8], xmm1
inc edi
add edx, dword [esp + 0x168]
add ecx, dword [esp + 0x164]
cmp edi, dword [esp + 0x170]
jb 0x4cc929
mov ecx, dword [esp + 0x150]
mov edx, dword [esp + 0x154]
mov ebx, dword [esp + 0x170]
mov eax, dword [esp + 0x158]
mov edi, dword [esp + 0x100]
mov dword [esp + 0x150], ecx
mov dword [esp + 0x154], edx
mov dword [esp + 0x158], eax
lea edi, [edi + eax*8]
mov dword [esp + 0x174], edi
mov edi, dword [esp + 0x104]
lea edi, [edi + eax*8]
mov dword [esp + 0x17c], edi
mov edi, dword [esp + 0x108]
lea edi, [edi + eax*8]
mov dword [esp + 0x178], edi
mov edi, dword [esp + 0x13c]
movsd xmm0, qword [edi + esi]
unpcklpd xmm0, xmm0
mov edx, dword [esp + 0x144]
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x14c]
mov edi, dword [esp + 0x150]
lea esi, [edx + ebx]
imul esi, eax
add esi, ecx
movsd xmm2, qword [esi]
movhpd xmm2, qword [esi + eax]
lea esi, [edi + ebx]
imul esi, eax
addpd xmm2, xmm0
add esi, ecx
mov ecx, dword [esp + 0x168]
movsd xmm1, qword [esi]
movhpd xmm1, qword [esi + eax]
mov eax, ecx
subpd xmm2, xmm1
imul eax, ebx
mulpd xmm2, xmmword [0x681800]
mov esi, dword [esp + 0x154]
lea edi, [esi + eax]
movsd qword [edi], xmm2
movhpd qword [ecx + edi], xmm2
lea edi, [esi + eax]
movsd xmm3, qword [edi]
movhpd xmm3, qword [edi + ecx]
lea edi, [edx + ebx + 2]
mov edx, dword [esp + 0x164]
imul edi, edx
mov esi, dword [esp + 0x16c]
movups xmmword [esi + ebx*8], xmm3
mov esi, dword [esp + 0x14c]
add edi, esi
movsd xmm5, qword [edi]
movhpd xmm5, qword [edi + edx]
mov edi, dword [esp + 0x150]
addpd xmm5, xmm0
lea edi, [edi + ebx + 2]
imul edi, edx
add edi, esi
movsd xmm4, qword [edi]
movhpd xmm4, qword [edi + edx]
subpd xmm5, xmm4
mulpd xmm5, xmmword [0x681800]
mov edi, dword [esp + 0x174]
lea esi, [edi + eax]
movsd qword [esi], xmm5
movhpd qword [ecx + esi], xmm5
lea esi, [edi + eax]
movsd xmm6, qword [esi]
movhpd xmm6, qword [esi + ecx]
mov esi, dword [esp + 0x16c]
mov edi, dword [esp + 0x144]
movups xmmword [esi + ebx*8 + 0x10], xmm6
lea esi, [edi + ebx + 4]
mov edi, dword [esp + 0x14c]
imul esi, edx
add esi, edi
movsd xmm1, qword [esi]
movhpd xmm1, qword [esi + edx]
mov esi, dword [esp + 0x150]
addpd xmm1, xmm0
lea esi, [esi + ebx + 4]
imul esi, edx
add esi, edi
movsd xmm7, qword [esi]
movhpd xmm7, qword [esi + edx]
subpd xmm1, xmm7
mulpd xmm1, xmmword [0x681800]
mov esi, dword [esp + 0x17c]
lea edi, [esi + eax]
movsd qword [edi], xmm1
movhpd qword [ecx + edi], xmm1
lea edi, [esi + eax]
movsd xmm2, qword [edi]
movhpd xmm2, qword [edi + ecx]
mov edi, dword [esp + 0x144]
mov esi, dword [esp + 0x16c]
lea edi, [edi + ebx + 6]
imul edi, edx
movups xmmword [esi + ebx*8 + 0x20], xmm2
mov esi, dword [esp + 0x14c]
add edi, esi
movsd xmm4, qword [edi]
nop
movhpd xmm4, qword [edi + edx]
mov edi, dword [esp + 0x150]
addpd xmm4, xmm0
lea edi, [edi + ebx + 6]
imul edi, edx
add edi, esi
mov esi, dword [esp + 0x178]
movsd xmm3, qword [edi]
movhpd xmm3, qword [edi + edx]
lea edx, [esi + eax]
subpd xmm4, xmm3
mulpd xmm4, xmmword [0x681800]
add eax, esi
movsd qword [edx], xmm4
movhpd qword [ecx + edx], xmm4
movsd xmm5, qword [eax]
movhpd xmm5, qword [eax + ecx]
mov eax, dword [esp + 0x16c]
movups xmmword [eax + ebx*8 + 0x30], xmm5
add ebx, 8
cmp ebx, dword [esp + 0x15c]
jb 0x4cc9da
mov ecx, dword [esp + 0x150]
mov edx, dword [esp + 0x154]
mov esi, dword [esp + 0x84]
mov eax, dword [esp + 0x158]
mov edi, dword [esp + 0x15c]
mov ebx, dword [esp + 0x168]
imul ebx, edi
mov dword [esp + 0x150], ecx
add edx, ebx
mov ecx, dword [esp + 0x164]
imul ecx, edi
mov dword [esp + 0x140], ecx
mov ecx, dword [esp + 0x150]
cmp edi, eax
jae 0x4ccc9c
mov ebx, dword [esp + 0x11c]
mov edi, dword [esp + 0x120]
imul ecx, dword [esp + 0x164]
mov dword [esp + 0x158], eax
add ebx, edi
mov edi, dword [esp + 0x13c]
add ecx, dword [esp + 0x14c]
movsd xmm0, qword [edi + esi]
mov eax, ebx
mov ebx, dword [esp + 0x140]
mov edi, dword [esp + 0x15c]
movaps xmm1, xmm0
addsd xmm1, qword [ebx + esi]
subsd xmm1, qword [ebx + ecx]
mulsd xmm1, qword [0x681838]
movsd qword [edx], xmm1
movsd qword [eax + edi*8], xmm1
inc edi
add edx, dword [esp + 0x168]
add ebx, dword [esp + 0x164]
cmp edi, dword [esp + 0x158]
jb 0x4ccc5f
mov eax, dword [esp + 0x158]
mov edx, dword [esp + 0x120]
inc eax
add edx, dword [esp + 0x168]
mov dword [esp + 0x120], edx
cmp eax, dword [esp + 0x148]
jb 0x4cc7ff
mov edx, dword [esp + 0x11c]
mov ebx, dword [esp + 0x148]
mov eax, dword [esp + 0xac]
lea ecx, [esp + 0x140]
mov dword [ecx - 4], ebx
lea esi, [esp + 0x13c]
mov dword [ecx], eax
push dword [esp + 0x60]
push dword [esp + 0x8c]
push dword [esp + 0xe0]
push ecx
push esi
push dword [esp + 0x14]
push edx
call fcn.0057f9e0
add esp, 0x1c
mov edx, dword [ebp + 0x1c]
mov esi, dword [edx + 0x24]
mov eax, dword [edx + 0x18]
test esi, esi
jle 0x4ccfb3
mov edi, dword [ebp + 0x1c]
mov ecx, dword [edi + 0x28]
mov dword [esp + 0x120], ecx
mov ecx, dword [edi + 0x1c]
mov edx, dword [edi]
xor edi, edi
mov dword [esp + 0x108], edi
mov dword [esp + 0x104], edi
cmp ecx, 8
je 0x4ccf04
mov dword [esp + 0x150], ecx
lea edi, [ecx + ecx*2]
neg edi
add edi, ecx
neg edi
add edi, edx
mov dword [esp + 0x84], edi
lea edi, [ecx + ecx*4]
neg edi
add edi, ecx
neg edi
add edi, edx
mov dword [esp + 0xac], edi
lea edi, [ecx*8]
neg edi
add edi, ecx
add edi, ecx
neg edi
add edi, edx
mov dword [esp + 0x100], edi
mov edi, eax
mov dword [esp + 0x148], ebx
and edi, 0xfffffff8
mov dword [esp + 0x14c], edi
mov dword [esp + 0x114], edx
mov dword [esp + 0x144], esi
mov ecx, dword [esp + 0x104]
mov ebx, dword [esp + 0x108]
test eax, eax
jle 0x4cceea
cmp eax, 8
jl 0x4cdf68
mov edi, dword [esp + 0x114]
xor edx, edx
mov esi, dword [esp + 0x14c]
pxor xmm0, xmm0
mov dword [esp + 0x10c], esi
add edi, ecx
mov dword [esp + 0x158], edi
mov edi, dword [esp + 0x84]
mov dword [esp + 0x104], ecx
mov dword [esp + 0x108], ebx
mov dword [esp + 0x110], eax
add edi, ecx
mov dword [esp + 0x11c], edi
mov edi, dword [esp + 0xac]
mov ebx, edx
add edi, ecx
mov dword [esp + 0x118], edi
mov edi, dword [esp + 0x100]
mov esi, dword [esp + 0x118]
add edi, ecx
mov ecx, dword [esp + 0x11c]
mov dword [esp + 0x154], edi
mov edi, dword [esp + 0x158]
add edx, 8
mov eax, dword [esp + 0x150]
add edi, ebx
movsd qword [edi], xmm0
movhpd qword [eax + edi], xmm0
lea edi, [ebx + ecx]
movsd qword [edi], xmm0
movhpd qword [eax + edi], xmm0
lea edi, [ebx + esi]
movsd qword [edi], xmm0
movhpd qword [eax + edi], xmm0
mov edi, dword [esp + 0x154]
add edi, ebx
movsd qword [edi], xmm0
lea ebx, [ebx + eax*8]
movhpd qword [eax + edi], xmm0
cmp edx, dword [esp + 0x14c]
jb 0x4cce40
mov esi, dword [esp + 0x10c]
mov ecx, dword [esp + 0x104]
mov ebx, dword [esp + 0x108]
mov eax, dword [esp + 0x110]
mov edx, dword [esp + 0x150]
imul edx, esi
cmp esi, eax
jae 0x4cceea
mov edi, dword [esp + 0x114]
mov dword [esp + 0x108], ebx
pxor xmm0, xmm0
mov ebx, dword [esp + 0x150]
add edi, ecx
inc esi
movsd qword [edx + edi], xmm0
add edx, ebx
cmp esi, eax
jb 0x4cced7
mov ebx, dword [esp + 0x108]
inc ebx
add ecx, dword [esp + 0x120]
cmp ebx, dword [esp + 0x144]
jb 0x4ccdb6
jmp 0x4ccfac
mov dword [esp + 0x148], ebx
mov dword [esp + 0x144], esi
mov ebx, dword [esp + 0x108]
test eax, eax
jle 0x4ccf97
cmp eax, 8
jl 0x4cdfca
mov ecx, edx
and ecx, 0xf
je 0x4ccf3b
test cl, 7
jne 0x4cdfca
mov ecx, 1
lea esi, [ecx + 8]
cmp eax, esi
jl 0x4cdfca
mov esi, eax
sub esi, ecx
and esi, 7
neg esi
add esi, eax
test ecx, ecx
jbe 0x4ccf65
xor edi, edi
pxor xmm0, xmm0
movsd qword [edx + edi*8], xmm0
inc edi
cmp edi, ecx
jb 0x4ccf5b
lea edi, [edx + ecx*8]
pxor xmm0, xmm0
add ecx, 8
movups xmmword [edi], xmm0
movups xmmword [edi + 0x10], xmm0
movups xmmword [edi + 0x20], xmm0
movups xmmword [edi + 0x30], xmm0
add edi, 0x40
cmp ecx, esi
jb 0x4ccf6c
cmp esi, eax
jae 0x4ccf97
pxor xmm0, xmm0
movsd qword [edx + esi*8], xmm0
inc esi
cmp esi, eax
jb 0x4ccf8d
inc ebx
add edx, dword [esp + 0x120]
cmp ebx, dword [esp + 0x144]
jb 0x4ccf19
mov ebx, dword [esp + 0x148]
test ebx, ebx
jle 0x4cd1f9
mov edi, dword [ebp + 0x1c]
mov esi, dword [esp]
mov eax, dword [esp + 0x28]
mov ecx, dword [edi]
mov edx, dword [edi + 0x28]
mov edi, dword [edi + 0x1c]
cmp edi, 8
jne 0x4cd0bd
test ebx, ebx
jle 0x4cd1f9
mov edi, 0
mov dword [esp + 0x100], edi
mov dword [esp + 0x84], edx
mov dword [esp + 0xac], eax
jle 0x4cd085
cmp ebx, 2
jl 0x4cdf6f
mov edx, ecx
and edx, 0xf
je 0x4cd01c
test dl, 7
jne 0x4cdf6f
mov edx, 1
lea eax, [edx + 2]
cmp ebx, eax
jl 0x4cdf6f
mov eax, ebx
sub eax, edx
and eax, 1
neg eax
add eax, ebx
test edx, edx
jbe 0x4cd047
xor edi, edi
movsd xmm0, qword [esi + edi*8]
movsd qword [ecx + edi*8], xmm0
inc edi
cmp edi, edx
jb 0x4cd038
lea edi, [esi + edx*8]
test edi, 0xf
je 0x4cd063
movups xmm0, xmmword [esi + edx*8]
movups xmmword [ecx + edx*8], xmm0
add edx, 2
cmp edx, eax
jb 0x4cd052
jmp 0x4cd072
movups xmm0, xmmword [esi + edx*8]
movups xmmword [ecx + edx*8], xmm0
add edx, 2
cmp edx, eax
jb 0x4cd063
cmp eax, ebx
jae 0x4cd085
movsd xmm0, qword [esi + eax*8]
movsd qword [ecx + eax*8], xmm0
inc eax
cmp eax, ebx
jb 0x4cd076
mov eax, dword [esp + 0x100]
inc eax
add esi, dword [esp + 0xac]
add ecx, dword [esp + 0x84]
mov dword [esp + 0x100], eax
cmp eax, ebx
jae 0x4cd0b0
test ebx, ebx
jg 0x4ccffe
jmp 0x4cd085
test ebx, ebx
jg 0x4cd1ff
jmp 0x4cd3a1
test ebx, ebx
jle 0x4cd1f9
mov dword [esp + 0x100], 0
mov dword [esp + 0x108], edi
mov dword [esp + 0x84], edx
mov dword [esp + 0xac], eax
jle 0x4cd1cc
cmp ebx, 2
jl 0x4cdfc3
mov eax, esi
and eax, 0xf
je 0x4cd108
test al, 7
jne 0x4cdfc3
mov eax, 1
lea edx, [eax + 2]
cmp ebx, edx
jl 0x4cdfc3
mov edx, ebx
sub edx, eax
and edx, 1
neg edx
add edx, ebx
test eax, eax
jbe 0x4cd15a
xor edi, edi
mov dword [esp + 0x104], edx
mov dword [esp + 0x148], ebx
mov edx, edi
mov ebx, dword [esp + 0x108]
movsd xmm0, qword [esi + edi*8]
inc edi
movsd qword [edx + ecx], xmm0
add edx, ebx
cmp edi, eax
jb 0x4cd13b
mov edx, dword [esp + 0x104]
mov ebx, dword [esp + 0x148]
mov edi, dword [esp + 0x108]
imul edi, eax
mov dword [esp + 0x104], edx
mov dword [esp + 0x148], ebx
mov ebx, dword [esp + 0x108]
lea edx, [edi + ecx]
movups xmm0, xmmword [esi + eax*8]
add eax, 2
movsd qword [edx], xmm0
movhpd qword [ebx + edx], xmm0
lea edi, [edi + ebx*2]
cmp eax, dword [esp + 0x104]
jb 0x4cd172
mov edx, dword [esp + 0x104]
mov ebx, dword [esp + 0x148]
mov eax, dword [esp + 0x108]
imul eax, edx
cmp edx, ebx
jae 0x4cd1cc
mov edi, dword [esp + 0x108]
movsd xmm0, qword [esi + edx*8]
inc edx
movsd qword [eax + ecx], xmm0
add eax, edi
cmp edx, ebx
jb 0x4cd1bb
mov eax, dword [esp + 0x100]
inc eax
add ecx, dword [esp + 0x84]
add esi, dword [esp + 0xac]
mov dword [esp + 0x100], eax
cmp eax, ebx
jae 0x4cd1f7
test ebx, ebx
jg 0x4cd0eb
jmp 0x4cd1cc
test ebx, ebx
jle 0x4cd3a1
mov esi, dword [ebp + 0x1c]
mov edi, dword [esp + 0x28]
mov edx, dword [esp + 0x160]
mov ecx, dword [esp]
mov eax, edx
mov dword [esp + 0x100], edi
mov dword [esp + 0x148], ebx
mov ebx, edx
mov edi, dword [esi + 0x28]
mov dword [esp + 0xac], ecx
mov ecx, dword [esi]
imul ebx, edi
mov esi, dword [esi + 0x1c]
add ebx, ecx
imul eax, esi
sub ecx, edi
mov dword [esp + 0x108], ebx
sub ebx, edi
mov dword [esp + 0x110], ebx
mov ebx, eax
add eax, edi
sub ebx, esi
add ecx, eax
lea eax, [edx - 1]
shr eax, 1
lea edx, [edi + esi]
mov dword [esp + 0x114], eax
sub ecx, esi
mov eax, dword [esp + 0x108]
sub eax, edx
mov dword [esp + 0x84], 0
add eax, esi
mov dword [esp + 0x10c], ebx
mov edx, dword [esp + 0x84]
mov dword [esp + 0x108], eax
mov dword [esp + 0x104], esi
mov dword [esp + 0x118], edi
cmp dword [esp + 0x148], 0
jle 0x4cd36c
mov eax, dword [esp + 0x118]
imul eax, edx
cmp dword [esp + 0x114], 0
jbe 0x4cdf76
mov esi, dword [esp + 0x100]
xor ebx, ebx
imul esi, edx
add esi, dword [esp + 0xac]
mov edi, dword [esp + 0x114]
mov dword [esp + 0x84], edx
mov edx, ebx
inc ebx
shl edx, 4
movsd xmm0, qword [ecx + eax]
subsd xmm0, qword [esi + edx]
subsd xmm0, qword [esi + edx + 8]
movsd qword [ecx + eax], xmm0
cmp ebx, edi
jb 0x4cd2e4
mov edx, dword [esp + 0x84]
mov edi, dword [esp + 0x104]
imul edi, edx
mov esi, dword [esp + 0x108]
movsd qword [esi + edi], xmm0
lea esi, [ebx + ebx + 1]
lea ebx, [esi - 1]
cmp ebx, dword [esp + 0x148]
jae 0x4cd376
mov ebx, dword [esp + 0x100]
imul ebx, edx
movsd xmm0, qword [ecx + eax]
mov edi, dword [esp + 0xac]
lea esi, [edi + esi*8]
mov edi, dword [esp + 0x104]
imul edi, edx
subsd xmm0, qword [esi + ebx - 8]
mov ebx, dword [esp + 0x108]
movsd qword [ecx + eax], xmm0
movsd qword [ebx + edi], xmm0
jmp 0x4cd376
mov eax, dword [esp + 0x118]
imul eax, edx
mov ebx, dword [esp + 0x10c]
inc edx
mov esi, dword [esp + 0x110]
movsd xmm0, qword [ebx + esi]
subsd xmm0, qword [ecx + eax]
movsd qword [ebx + esi], xmm0
cmp edx, dword [esp + 0x148]
jb 0x4cd29d
mov esi, dword [ebp + 0x18]
xor edx, edx
movzx eax, byte [esp + 0xbd]
mov ecx, 1
and eax, 1
lea edi, [esp + 0x100]
mov ebx, dword [esi + 0x18]
test ebx, ebx
mov esi, dword [esi + 0x1c]
cmovl ebx, edx
shl eax, 0x15
add eax, 0x40000
mov dword [edi + 4], 8
mov dword [edi + 0x10], ecx
mov dword [edi + 8], edx
mov dword [edi + 0x1c], esi
mov dword [edi + 0x20], ecx
mov dword [edi + 0x18], ebx
mov dword [edi], edx
mov dword [edi + 0xc], ecx
push eax
push edi
lea eax, [esp + 0xb8]
push eax
call fcn.005d7540
add esp, 0xc
mov eax, dword [esp + 0xd0]
mov edx, dword [esp + 0xb0]
mov dword [esp + 0x16c], eax
mov dword [esp + 0x144], edx
test ebx, ebx
jle 0x4cd620
mov eax, dword [ebp + 0x18]
mov edx, dword [eax]
mov dword [esp + 0x84], edx
cmp esi, 8
jne 0x4cd53f
cmp ebx, 8
jl 0x4cdf87
mov edx, ebx
xor eax, eax
movups xmm0, xmmword [0x681760]
and edx, 0xfffffff8
mov ecx, dword [esp + 0x84]
mov esi, dword [esp + 0x144]
nop dword [eax + eax]
movups xmm1, xmmword [ecx + eax*8]
movups xmm3, xmmword [ecx + eax*8 + 0x10]
movups xmm5, xmmword [ecx + eax*8 + 0x20]
movups xmm7, xmmword [ecx + eax*8 + 0x30]
movaps xmm2, xmm0
movaps xmm4, xmm0
divpd xmm2, xmm1
movaps xmm6, xmm0
movaps xmm1, xmm0
divpd xmm4, xmm3
divpd xmm6, xmm5
divpd xmm1, xmm7
movups xmmword [esi + eax*8], xmm2
movups xmmword [esi + eax*8 + 0x10], xmm4
movups xmmword [esi + eax*8 + 0x20], xmm6
movups xmmword [esi + eax*8 + 0x30], xmm1
add eax, 8
cmp eax, edx
jb 0x4cd460
lea eax, [edx + 1]
cmp eax, ebx
ja 0x4cd620
sub ebx, edx
cmp ebx, 2
jl 0x4cdf80
mov eax, dword [esp + 0x144]
mov ecx, ebx
mov esi, dword [esp + 0x84]
and ecx, 0xfffffffe
mov dword [esp + 0xac], 0
movups xmm0, xmmword [0x681760]
lea eax, [eax + edx*8]
mov edi, dword [esp + 0xac]
lea esi, [esi + edx*8]
movups xmm1, xmmword [esi + edi*8]
movaps xmm2, xmm0
divpd xmm2, xmm1
movups xmmword [eax + edi*8], xmm2
add edi, 2
cmp edi, ecx
jb 0x4cd4f1
cmp ecx, ebx
jae 0x4cd620
mov esi, dword [esp + 0x144]
mov eax, dword [esp + 0x84]
lea esi, [esi + edx*8]
lea eax, [eax + edx*8]
movsd xmm0, qword [0x681878]
divsd xmm0, qword [eax + ecx*8]
movsd qword [esi + ecx*8], xmm0
inc ecx
cmp ecx, ebx
jb 0x4cd523
jmp 0x4cd620
cmp ebx, 8
jl 0x4cdfbc
mov edi, ebx
xor ecx, ecx
movups xmm0, xmmword [0x681760]
and edi, 0xfffffff8
mov dword [esp + 0xac], ebx
mov eax, dword [esp + 0x144]
nop dword [eax + eax]
nop dword [eax]
mov ebx, ecx
movaps xmm2, xmm0
imul ebx, esi
movaps xmm4, xmm0
movaps xmm6, xmm0
add ebx, edx
movsd xmm1, qword [ebx]
movhpd xmm1, qword [ebx + esi]
lea ebx, [ecx + 2]
imul ebx, esi
divpd xmm2, xmm1
add ebx, edx
movaps xmm1, xmm0
movups xmmword [eax + ecx*8], xmm2
movsd xmm3, qword [ebx]
movhpd xmm3, qword [ebx + esi]
lea ebx, [ecx + 4]
imul ebx, esi
divpd xmm4, xmm3
add ebx, edx
movups xmmword [eax + ecx*8 + 0x10], xmm4
movsd xmm5, qword [ebx]
movhpd xmm5, qword [ebx + esi]
lea ebx, [ecx + 6]
imul ebx, esi
divpd xmm6, xmm5
add ebx, edx
movups xmmword [eax + ecx*8 + 0x20], xmm6
movsd xmm7, qword [ebx]
movhpd xmm7, qword [ebx + esi]
divpd xmm1, xmm7
movups xmmword [eax + ecx*8 + 0x30], xmm1
add ecx, 8
cmp ecx, edi
jb 0x4cd570
mov ebx, dword [esp + 0xac]
mov eax, esi
imul eax, edi
cmp edi, ebx
jae 0x4cd620
mov edx, dword [esp + 0x84]
mov ecx, dword [esp + 0x144]
movsd xmm0, qword [0x681878]
divsd xmm0, qword [eax + edx]
movsd qword [ecx + edi*8], xmm0
inc edi
add eax, esi
cmp edi, ebx
jb 0x4cd607
cmp dword [esp + 0x160], 0
jle 0x4cdd36
mov edi, dword [esp + 0x16c]
shl edi, 3
neg edi
add edi, dword [esp + 0x144]
mov esi, dword [esp + 0x134]
mov dword [esp + 0x16c], edi
mov edx, dword [ebp + 0x1c]
lea edi, [edi + 8]
and edi, 0xf
movsd xmm0, qword [esi]
mov esi, 1
cmovne edi, esi
mov ebx, dword [edx]
mov ecx, dword [edx + 0x28]
mov edx, dword [edx + 0x1c]
mov eax, dword [esp + 0x138]
lea esi, [edi + 8]
mov dword [esp + 0x84], esi
mov dword [esp + 0x170], edi
lea esi, [edx + edx*2]
neg esi
lea edi, [ecx + ecx*2]
add esi, edx
neg esi
add esi, ebx
mov dword [esp + 0x154], esi
lea esi, [edx + edx*4]
neg esi
add esi, edx
neg esi
add esi, ebx
mov dword [esp + 0x150], esi
lea esi, [edx*8]
neg esi
movsd xmm1, qword [eax]
mov eax, ebx
add esi, edx
sub eax, ecx
add esi, edx
add edi, eax
mov dword [esp + 0x148], edi
lea edi, [ecx + ecx*4]
neg esi
add edi, eax
mov dword [esp + 0x164], ebx
add esi, ebx
mov dword [esp + 0xac], edi
lea edi, [ecx*8]
mov ebx, ecx
sub edi, ecx
sub ebx, edx
add edi, eax
add eax, ebx
add eax, edx
mov dword [esp + 0x174], 0
mov dword [esp + 0x15c], eax
mov dword [esp + 0x14c], edi
mov dword [esp + 0x158], esi
mov dword [esp + 0x178], edx
mov dword [esp + 0x17c], ecx
mov eax, dword [esp + 0x174]
movsd xmm2, qword [0x681890]
mov edx, dword [esp + 0x178]
imul edx, eax
mulsd xmm2, xmm0
mov ecx, dword [esp + 0x164]
mulsd xmm2, xmm1
mov ebx, dword [esp + 0x16c]
lea esi, [ecx + edx]
mov ecx, dword [esp + 0x17c]
imul ecx, eax
mulsd xmm2, qword [esi + ecx]
mulsd xmm2, qword [ebx + eax*8 + 8]
mulsd xmm2, qword [ebx + eax*8 + 8]
mov dword [esp + 0x138], edx
mov dword [esp + 0x188], esi
movsd qword [esi + ecx], xmm2
test eax, eax
jle 0x4cdd28
cmp dword [esp + 0x17c], 0
je 0x4cdf9e
cmp eax, 8
jl 0x4cdf9e
cmp eax, dword [esp + 0x84]
jl 0x4cdf9e
mov edx, eax
mov edi, dword [esp + 0x170]
sub edx, edi
mov ebx, dword [esp + 0x164]
and edx, 7
neg edx
add edx, eax
lea esi, [ebx + ecx]
mov dword [esp + 0x194], esi
test edi, edi
jbe 0x4cd84f
xor esi, esi
mov dword [esp + 0x180], ecx
xor edi, edi
mov dword [esp + 0x184], edx
mov ebx, dword [esp + 0x188]
mov edx, dword [esp + 0x194]
mov ecx, dword [esp + 0x16c]
nop
movsd xmm2, qword [0x681890]
mulsd xmm2, xmm0
mulsd xmm2, xmm1
mulsd xmm2, qword [ecx + eax*8 + 8]
mulsd xmm2, qword [ebx]
mulsd xmm2, qword [ecx + esi*8 + 8]
inc esi
movsd qword [ebx], xmm2
movsd qword [edi + edx], xmm2
add edi, dword [esp + 0x178]
add ebx, dword [esp + 0x17c]
cmp esi, dword [esp + 0x170]
jb 0x4cd800
mov ecx, dword [esp + 0x180]
mov edx, dword [esp + 0x184]
mov edi, dword [esp + 0x148]
mov esi, dword [esp + 0x138]
mov dword [esp + 0x180], ecx
mov ebx, dword [esp + 0x170]
mov dword [esp + 0x184], edx
add edi, esi
mov dword [esp + 0x1b4], edi
mov edi, dword [esp + 0x154]
mov dword [esp + 0x174], eax
add edi, ecx
mov dword [esp + 0x1b8], edi
mov edi, dword [esp + 0xac]
add edi, esi
mov dword [esp + 0x1b0], edi
mov edi, dword [esp + 0x150]
add edi, ecx
mov dword [esp + 0x1ac], edi
mov edi, dword [esp + 0x14c]
add esi, edi
mov dword [esp + 0x1a4], esi
mov esi, dword [esp + 0x158]
lea edi, [ecx + esi]
mov ecx, dword [esp + 0x17c]
mov dword [esp + 0x19c], edi
movsd xmm2, qword [0x681890]
mulsd xmm2, xmm0
mulsd xmm2, xmm1
mov eax, dword [esp + 0x16c]
mov edx, dword [esp + 0x174]
mov esi, dword [esp + 0x188]
movsd xmm6, qword [0x681890]
mulsd xmm2, qword [eax + edx*8 + 8]
mov edx, ecx
imul edx, ebx
mulsd xmm6, xmm0
unpcklpd xmm2, xmm2
lea edi, [esi + edx]
movsd xmm3, qword [edi]
add esi, edx
movhpd xmm3, qword [edi + ecx]
mulpd xmm2, xmm3
mulsd xmm6, xmm1
mulpd xmm2, xmmword [eax + ebx*8 + 8]
movsd qword [esi], xmm2
movhpd qword [ecx + esi], xmm2
movsd xmm4, qword [edi]
movsd xmm5, qword [edi + ecx]
mov edi, dword [esp + 0x178]
mov esi, edi
imul esi, ebx
mov dword [esp + 0x1bc], ebx
mov ebx, dword [esp + 0x194]
mov dword [esp + 0x1c0], esi
add ebx, esi
mov esi, dword [esp + 0x174]
movsd qword [ebx], xmm4
movsd qword [edi + ebx], xmm5
mov edi, dword [esp + 0x1b4]
mulsd xmm6, qword [eax + esi*8 + 8]
mov ebx, dword [esp + 0x1bc]
lea esi, [edi + edx]
movsd xmm7, qword [esi]
add edi, edx
unpcklpd xmm6, xmm6
movhpd xmm7, qword [esi + ecx]
mulpd xmm6, xmm7
mulpd xmm6, xmmword [eax + ebx*8 + 0x18]
movsd qword [edi], xmm6
movsd xmm4, qword [0x681890]
movhpd qword [ecx + edi], xmm6
mulsd xmm4, xmm0
movsd xmm2, qword [esi]
movsd xmm3, qword [esi + ecx]
mov esi, dword [esp + 0x1b8]
mov edi, dword [esp + 0x1c0]
mulsd xmm4, xmm1
add edi, esi
mov esi, dword [esp + 0x178]
movsd qword [edi], xmm2
movsd qword [esi + edi], xmm3
mov esi, dword [esp + 0x174]
movsd xmm3, qword [0x681890]
mulsd xmm3, xmm0
mulsd xmm4, qword [eax + esi*8 + 8]
mulsd xmm3, xmm1
mov esi, dword [esp + 0x1b0]
unpcklpd xmm4, xmm4
lea edi, [esi + edx]
movsd xmm5, qword [edi]
add esi, edx
movhpd xmm5, qword [edi + ecx]
mulpd xmm4, xmm5
mulpd xmm4, xmmword [eax + ebx*8 + 0x28]
movsd qword [esi], xmm4
movhpd qword [ecx + esi], xmm4
movsd xmm7, qword [edi]
movsd xmm2, qword [edi + ecx]
nop dword [eax]
mov edi, dword [esp + 0x1ac]
mov esi, dword [esp + 0x1c0]
add esi, edi
mov edi, dword [esp + 0x178]
movsd qword [esi], xmm7
movsd qword [edi + esi], xmm2
mov edi, dword [esp + 0x174]
mulsd xmm3, qword [eax + edi*8 + 8]
mov edi, dword [esp + 0x1a4]
unpcklpd xmm3, xmm3
lea esi, [edi + edx]
movsd xmm6, qword [esi]
movhpd xmm6, qword [esi + ecx]
mulpd xmm3, xmm6
mulpd xmm3, xmmword [eax + ebx*8 + 0x38]
add ebx, 8
lea eax, [edi + edx]
movsd qword [eax], xmm3
movhpd qword [ecx + eax], xmm3
mov eax, dword [esp + 0x19c]
mov edx, dword [esp + 0x1c0]
movsd xmm4, qword [esi]
movsd xmm5, qword [esi + ecx]
mov esi, dword [esp + 0x178]
lea edi, [eax + edx]
movsd qword [edi], xmm4
movsd qword [esi + edi], xmm5
cmp ebx, dword [esp + 0x184]
jb 0x4cd8da
mov edx, dword [esp + 0x184]
lea ebx, [edx + 1]
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x180]
cmp ebx, eax
ja 0x4cdd28
mov ebx, eax
sub ebx, edx
mov dword [esp + 0x18c], ebx
cmp ebx, 2
jl 0x4cdf8e
mov esi, ebx
xor ebx, ebx
and esi, 0xfffffffe
mov dword [esp + 0x190], esi
mov esi, dword [esp + 0x17c]
imul esi, edx
mov dword [esp + 0x174], eax
mov eax, dword [esp + 0x15c]
mov edi, dword [esp + 0x138]
mov dword [esp + 0x134], ebx
mov dword [esp + 0x180], ecx
add edi, eax
add edi, esi
mov esi, dword [esp + 0x16c]
mov dword [esp + 0x198], edi
mov dword [esp + 0x184], edx
lea edi, [esi + edx*8]
mov dword [esp + 0x1a0], edi
lea esi, [ecx + eax]
mov eax, dword [esp + 0x178]
imul eax, edx
add esi, eax
mov ecx, ebx
mov edx, dword [esp + 0x134]
mov dword [esp + 0x1a8], esi
movsd xmm2, qword [0x681890]
mulsd xmm2, xmm0
mulsd xmm2, xmm1
mov esi, dword [esp + 0x16c]
mov edi, dword [esp + 0x174]
mov eax, dword [esp + 0x17c]
mov dword [esp + 0x1c4], ebx
mulsd xmm2, qword [esi + edi*8 + 8]
mov edi, dword [esp + 0x198]
unpcklpd xmm2, xmm2
mov esi, dword [esp + 0x1a0]
lea ebx, [edi + ecx]
movsd xmm3, qword [ebx]
movhpd xmm3, qword [ebx + eax]
mulpd xmm2, xmm3
mulpd xmm2, xmmword [esi + edx*8 + 8]
add edx, 2
lea esi, [ecx + edi]
movsd qword [esi], xmm2
lea ecx, [ecx + eax*2]
movhpd qword [eax + esi], xmm2
movsd xmm4, qword [ebx]
movsd xmm5, qword [ebx + eax]
mov edi, dword [esp + 0x1a8]
mov ebx, dword [esp + 0x1c4]
lea esi, [ebx + edi]
mov edi, dword [esp + 0x178]
movsd qword [esi], xmm4
movsd qword [edi + esi], xmm5
lea ebx, [ebx + edi*2]
cmp edx, dword [esp + 0x190]
jb 0x4cdb87
mov ecx, dword [esp + 0x180]
mov edx, dword [esp + 0x184]
mov eax, dword [esp + 0x174]
mov edi, dword [esp + 0x190]
mov ebx, dword [esp + 0x178]
imul ebx, edi
mov esi, dword [esp + 0x17c]
imul esi, edi
mov dword [esp + 0x168], ebx
cmp edi, dword [esp + 0x18c]
jae 0x4cdd28
mov ebx, dword [esp + 0x17c]
imul ebx, edx
mov dword [esp + 0x174], eax
mov eax, dword [esp + 0x15c]
add ecx, eax
mov edi, dword [esp + 0x138]
add edi, eax
add edi, ebx
mov ebx, dword [esp + 0x16c]
add esi, edi
mov eax, dword [esp + 0x190]
lea ebx, [ebx + edx*8]
imul edx, dword [esp + 0x178]
add ecx, edx
mov edx, dword [esp + 0x168]
mov dword [esp + 0x180], ecx
nop dword [eax + eax]
nop dword [eax]
movsd xmm2, qword [0x681890]
mulsd xmm2, xmm0
mulsd xmm2, xmm1
mov ecx, dword [esp + 0x16c]
mov edi, dword [esp + 0x174]
mulsd xmm2, qword [ecx + edi*8 + 8]
mulsd xmm2, qword [esi]
mulsd xmm2, qword [ebx + eax*8 + 8]
inc eax
mov ecx, dword [esp + 0x180]
movsd qword [esi], xmm2
add esi, dword [esp + 0x17c]
movsd qword [edx + ecx], xmm2
add edx, dword [esp + 0x178]
cmp eax, dword [esp + 0x18c]
jb 0x4cdcd0
mov eax, edi
inc eax
cmp eax, dword [esp + 0x160]
jb 0x4cd728
mov ebx, dword [esp + 0x3c]
mov esi, ebx
shr esi, 1
mov eax, ebx
mov edx, ebx
and esi, 1
shr edx, 0xb
and eax, 1
mov ecx, ebx
add eax, eax
shl esi, 2
and edx, 1
shr ecx, 8
or esi, eax
shl edx, 8
and ecx, 1
shl ecx, 0x15
or esi, edx
or esi, ecx
add esi, 0x40000
push esi
push dword [esp + 0x34]
call fcn.005c1250
and ebx, 0xfffff7fe
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x14]
mov esi, ebx
shr esi, 1
mov eax, ebx
mov edx, ebx
and esi, 1
shr edx, 0xb
and eax, 1
mov ecx, ebx
add eax, eax
shl esi, 2
and edx, 1
shr ecx, 8
or esi, eax
shl edx, 8
and ecx, 1
shl ecx, 0x15
or esi, edx
or esi, ecx
add esi, 0x40000
mov dword [esp + 0x38], 0
push esi
push dword [esp + 0xc]
call fcn.005c1250
and ebx, 0xfffff7fe
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0xf4]
mov esi, ebx
shr esi, 1
mov eax, ebx
mov edx, ebx
and esi, 1
shr edx, 0xb
and eax, 1
mov ecx, ebx
add eax, eax
shl esi, 2
and edx, 1
shr ecx, 8
or esi, eax
shl edx, 8
and ecx, 1
shl ecx, 0x15
or esi, edx
or esi, ecx
add esi, 0x40000
mov dword [esp + 0x10], 0
push esi
push dword [esp + 0xec]
call fcn.005c1250
and ebx, 0xfffff7fe
mov dword [esp + 0xfc], ebx
mov ebx, dword [esp + 0xac]
mov esi, ebx
shr esi, 1
mov eax, ebx
mov edx, ebx
and esi, 1
shr edx, 0xb
and eax, 1
mov ecx, ebx
add eax, eax
shl esi, 2
and edx, 1
shr ecx, 8
or esi, eax
shl edx, 8
and ecx, 1
shl ecx, 0x15
or esi, edx
or esi, ecx
add esi, 0x40000
mov dword [esp + 0xf0], 0
push esi
push dword [esp + 0xa4]
call fcn.005c1250
and ebx, 0xfffff7fe
mov dword [esp + 0xb4], ebx
mov ebx, dword [esp + 0x8c]
mov esi, ebx
shr esi, 1
mov eax, ebx
mov edx, ebx
and esi, 1
shr edx, 0xb
and eax, 1
mov ecx, ebx
add eax, eax
shl esi, 2
and edx, 1
shr ecx, 8
or esi, eax
shl edx, 8
and ecx, 1
shl ecx, 0x15
or esi, edx
or esi, ecx
add esi, 0x40000
mov dword [esp + 0xa8], 0
push esi
push dword [esp + 0x84]
call fcn.005c1250
and ebx, 0xfffff7fe
mov dword [esp + 0x94], ebx
mov ebx, dword [esp + 0xe4]
mov esi, ebx
shr esi, 1
mov eax, ebx
mov edx, ebx
and esi, 1
shr edx, 0xb
and eax, 1
mov ecx, ebx
add eax, eax
shl esi, 2
and edx, 1
shr ecx, 8
or esi, eax
shl edx, 8
and ecx, 1
shl ecx, 0x15
or esi, edx
or esi, ecx
add esi, 0x40000
mov dword [esp + 0x88], 0
push esi
push dword [esp + 0x170]
call fcn.005c1250
add esp, 0x30
and ebx, 0xfffff7fe
mov dword [esp + 0xb0], 0
mov dword [esp + 0xbc], ebx
add esp, 0x1d4
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
xor esi, esi
jmp 0x4cceae
xor eax, eax
jmp 0x4cd072
mov esi, 1
jmp 0x4cd324
xor ecx, ecx
jmp 0x4cd507
xor edx, edx
jmp 0x4cd4a9
mov dword [esp + 0x190], 0
jmp 0x4cdc42
cmp eax, 1
jb 0x4cdd28
xor edx, edx
mov dword [esp + 0x18c], eax
mov dword [esp + 0x190], edx
jmp 0x4cdc42
xor edi, edi
jmp 0x4cd5f0
xor edx, edx
jmp 0x4cd1a6
xor esi, esi
jmp 0x4ccf85
mov dword [esp + 0x15c], 0
jmp 0x4ccbe7
xor edx, edx
jmp 0x4cc733