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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x948
mov dword [esp + 0x104], ecx
movdqa xmm1, xmmword [0xa56160]
movdqa xmm2, xmmword [0xa56170]
xor ecx, ecx
movdqa xmm3, xmmword [str._a_a_a_a]
nop dword [eax + eax]
movdqu xmmword [esp + 0x40], xmm2
movdqu xmmword [esp + 0x50], xmm1
movzx eax, byte [edx]
movd xmm0, eax
punpcklbw xmm0, xmm0
pshuflw xmm6, xmm0, 0
pxor xmm0, xmm0
punpcklbw xmm6, xmm0
punpcklwd xmm6, xmm0
movdqu xmm7, xmmword [esp + 0x40]
movdqu xmm1, xmmword [esp + 0x50]
pand xmm1, xmm3
pshufd xmm0, xmm1, 0xee
pshuflw xmm2, xmm0, 0xfe
movdqa xmm5, xmm6
psrld xmm5, xmm2
pshuflw xmm2, xmm0, 0x54
movdqa xmm0, xmm6
psrld xmm0, xmm2
pand xmm7, xmm3
punpckhqdq xmm0, xmm5
pshuflw xmm2, xmm1, 0xfe
movdqa xmm5, xmm6
psrld xmm5, xmm2
pshuflw xmm2, xmm1, 0x54
movdqa xmm1, xmm6
psrld xmm1, xmm2
punpcklqdq xmm1, xmm5
pshufd xmm2, xmm7, 0xee
pshuflw xmm5, xmm2, 0xfe
movdqa xmm3, xmm6
psrld xmm3, xmm5
pshuflw xmm2, xmm2, 0x54
movdqa xmm5, xmm6
psrld xmm5, xmm2
pshuflw xmm2, xmm7, 0xfe
movdqa xmm4, xmm6
psrld xmm4, xmm2
shufps xmm1, xmm0, 0xcc
pshuflw xmm0, xmm7, 0x54
movdqu xmm2, xmmword [esp + 0x40]
psrld xmm6, xmm0
movdqa xmm0, xmmword [0xa56190]
punpckhqdq xmm5, xmm3
movdqa xmm3, xmmword [str._a_a_a_a]
punpcklqdq xmm6, xmm4
shufps xmm6, xmm5, 0xcc
packuswb xmm6, xmm1
movdqu xmm1, xmmword [esp + 0x50]
packuswb xmm6, xmm6
pand xmm6, xmm0
movdqa xmm0, xmmword [0xa561a0]
movq qword [esp + ecx + 0x2a8], xmm6
add ecx, 8
paddd xmm2, xmm0
paddd xmm1, xmm0
inc edx
cmp ecx, 0x100
jne 0x6cad20
xor edi, edi
mov ecx, 1
mov eax, 2
mov esi, 3
mov ebx, 4
mov ebp, 5
jmp 0x6cae89
mov eax, dword [esp]
mov byte [esp + edi + 0x2a8], al
mov byte [esp + edi + 0x2ae], 0
nop word cs:[eax + eax]
inc ecx
mov eax, dword [esp + 0x40]
inc eax
inc esi
inc ebx
inc ebp
mov edi, dword [esp + 0x50]
cmp edi, 0x100
je 0x6cb24c
mov dword [esp + 0x40], eax
lea eax, [edi + 1]
mov dword [esp + 0x50], eax
cmp edi, 0xfe
ja 0x6cae70
cmp byte [esp + edi + 0x2a8], 0
je 0x6cae70
mov eax, dword [esp + 0x50]
movsx edx, byte [esp + eax + 0x2a8]
test edx, edx
je 0x6caf20
mov dword [esp], ecx
movsx eax, byte [esp + edi + 0x2a8]
lea ecx, [eax + edx*2]
cmp ecx, 0xf
jg 0x6caee5
mov byte [esp + edi + 0x2a8], cl
mov byte [esp + edi + 0x2a9], 0
mov ecx, dword [esp]
cmp edi, 0xfd
ja 0x6cae70
jmp 0x6caf2c
add edx, edx
sub eax, edx
cmp eax, 0xfffffff1
mov ecx, dword [esp]
jl 0x6cae70
mov byte [esp + edi + 0x2a8], al
mov eax, edi
nop
cmp byte [esp + eax + 0x2a9], 0
je 0x6cb001
mov byte [esp + eax + 0x2a9], 0
inc eax
cmp eax, 0xff
jb 0x6caf00
nop
cmp edi, 0xfd
ja 0x6cae70
movsx edx, byte [esp + edi + 0x2aa]
test edx, edx
je 0x6cafae
movsx eax, byte [esp + edi + 0x2a8]
mov dword [esp + 4], eax
lea eax, [eax + edx*4]
mov dword [esp], eax
cmp eax, 0x10
jge 0x6caf6f
mov eax, dword [esp]
mov byte [esp + edi + 0x2a8], al
mov byte [esp + edi + 0x2aa], 0
cmp edi, 0xfd
je 0x6cae70
jmp 0x6cafba
shl edx, 2
mov eax, dword [esp + 4]
sub eax, edx
cmp eax, 0xfffffff1
jl 0x6cae70
mov byte [esp + edi + 0x2a8], al
mov eax, ecx
nop word [eax + eax]
cmp byte [esp + eax + 0x2a9], 0
je 0x6cb0b3
mov byte [esp + eax + 0x2a9], 0
inc eax
cmp eax, 0xff
jb 0x6caf90
cmp edi, 0xfd
je 0x6cae70
movsx edx, byte [esp + edi + 0x2ab]
test edx, edx
je 0x6cb05e
movsx eax, byte [esp + edi + 0x2a8]
mov dword [esp + 4], eax
lea eax, [eax + edx*8]
mov dword [esp], eax
cmp eax, 0x10
jge 0x6cb01a
mov eax, dword [esp]
mov byte [esp + edi + 0x2a8], al
mov byte [esp + edi + 0x2ab], 0
cmp edi, 0xfb
ja 0x6cae70
jmp 0x6cb06a
mov byte [esp + eax + 0x2a9], 1
cmp edi, 0xfd
ja 0x6cae70
jmp 0x6caf2c
shl edx, 3
mov eax, dword [esp + 4]
sub eax, edx
cmp eax, 0xfffffff1
jl 0x6cae70
mov byte [esp + edi + 0x2a8], al
mov eax, dword [esp + 0x40]
nop word [eax + eax]
cmp byte [esp + eax + 0x2a9], 0
je 0x6cb157
mov byte [esp + eax + 0x2a9], 0
inc eax
cmp eax, 0xff
jb 0x6cb040
cmp edi, 0xfb
ja 0x6cae70
movsx edx, byte [esp + edi + 0x2ac]
test edx, edx
je 0x6cb10e
movsx eax, byte [esp + edi + 0x2a8]
shl edx, 4
mov dword [esp + 4], eax
add eax, edx
mov dword [esp], eax
cmp eax, 0x10
jge 0x6cb0cc
mov eax, dword [esp]
mov byte [esp + edi + 0x2a8], al
mov byte [esp + edi + 0x2ac], 0
cmp edi, 0xfb
je 0x6cae70
jmp 0x6cb11a
mov byte [esp + eax + 0x2a9], 1
cmp edi, 0xfd
je 0x6cae70
jmp 0x6cafba
mov eax, dword [esp + 4]
sub eax, edx
cmp eax, 0xfffffff1
jl 0x6cae70
mov byte [esp + edi + 0x2a8], al
mov eax, esi
nop word cs:[eax + eax]
cmp byte [esp + eax + 0x2a9], 0
je 0x6cb1ac
mov byte [esp + eax + 0x2a9], 0
inc eax
cmp eax, 0xff
jb 0x6cb0f0
cmp edi, 0xfb
je 0x6cae70
movsx edx, byte [esp + edi + 0x2ad]
test edx, edx
je 0x6cb1cd
movsx eax, byte [esp + edi + 0x2a8]
shl edx, 5
mov dword [esp + 4], eax
add eax, edx
mov dword [esp], eax
cmp eax, 0x10
jge 0x6cb170
mov eax, dword [esp]
mov byte [esp + edi + 0x2a8], al
mov byte [esp + edi + 0x2ad], 0
jmp 0x6cb1cd
mov byte [esp + eax + 0x2a9], 1
cmp edi, 0xfb
ja 0x6cae70
jmp 0x6cb06a
mov eax, dword [esp + 4]
sub eax, edx
cmp eax, 0xfffffff1
jl 0x6cae70
mov byte [esp + edi + 0x2a8], al
mov eax, ebx
nop dword [eax + eax]
cmp byte [esp + eax + 0x2a9], 0
je 0x6cb1c5
mov byte [esp + eax + 0x2a9], 0
inc eax
cmp eax, 0xff
jb 0x6cb190
jmp 0x6cb1cd
mov byte [esp + eax + 0x2a9], 1
cmp edi, 0xfb
je 0x6cae70
jmp 0x6cb11a
mov byte [esp + eax + 0x2a9], 1
cmp edi, 0xf9
ja 0x6cae70
movsx edx, byte [esp + edi + 0x2ae]
test edx, edx
je 0x6cae70
movsx eax, byte [esp + edi + 0x2a8]
shl edx, 6
mov dword [esp + 4], eax
add eax, edx
mov dword [esp], eax
cmp eax, 0x10
jl 0x6cae50
mov eax, dword [esp + 4]
sub eax, edx
cmp eax, 0xfffffff1
jl 0x6cae70
mov byte [esp + edi + 0x2a8], al
mov eax, ebp
nop
cmp byte [esp + eax + 0x2a9], 0
je 0x6cb23f
mov byte [esp + eax + 0x2a9], 0
inc eax
cmp eax, 0xff
jb 0x6cb220
jmp 0x6cae70
mov byte [esp + eax + 0x2a9], 1
jmp 0x6cae70
movdqa xmm1, xmmword [0xa56160]
movdqa xmm2, xmmword [0xa56170]
xor ecx, ecx
mov edx, dword [esp + 0x960]
nop word cs:[eax + eax]
movdqu xmmword [esp + 0x40], xmm2
movdqu xmmword [esp + 0x50], xmm1
movzx eax, byte [edx]
movd xmm0, eax
punpcklbw xmm0, xmm0
pshuflw xmm6, xmm0, 0
pxor xmm0, xmm0
punpcklbw xmm6, xmm0
punpcklwd xmm6, xmm0
movdqu xmm7, xmmword [esp + 0x40]
movdqu xmm1, xmmword [esp + 0x50]
pand xmm1, xmm3
pshufd xmm0, xmm1, 0xee
pshuflw xmm2, xmm0, 0xfe
movdqa xmm5, xmm6
psrld xmm5, xmm2
pshuflw xmm2, xmm0, 0x54
movdqa xmm0, xmm6
psrld xmm0, xmm2
pand xmm7, xmm3
punpckhqdq xmm0, xmm5
pshuflw xmm2, xmm1, 0xfe
movdqa xmm5, xmm6
psrld xmm5, xmm2
pshuflw xmm2, xmm1, 0x54
movdqa xmm1, xmm6
psrld xmm1, xmm2
punpcklqdq xmm1, xmm5
pshufd xmm2, xmm7, 0xee
pshuflw xmm5, xmm2, 0xfe
movdqa xmm3, xmm6
psrld xmm3, xmm5
pshuflw xmm2, xmm2, 0x54
movdqa xmm5, xmm6
psrld xmm5, xmm2
pshuflw xmm2, xmm7, 0xfe
movdqa xmm4, xmm6
psrld xmm4, xmm2
shufps xmm1, xmm0, 0xcc
pshuflw xmm0, xmm7, 0x54
movdqu xmm2, xmmword [esp + 0x40]
psrld xmm6, xmm0
movdqa xmm0, xmmword [0xa561a0]
punpckhqdq xmm5, xmm3
movdqa xmm3, xmmword [str._a_a_a_a]
punpcklqdq xmm6, xmm4
shufps xmm6, xmm5, 0xcc
packuswb xmm6, xmm1
movdqu xmm1, xmmword [esp + 0x50]
packuswb xmm6, xmm6
pand xmm6, xmmword [0xa56190]
movq qword [esp + ecx + 0x1a8], xmm6
add ecx, 8
paddd xmm2, xmm0
paddd xmm1, xmm0
inc edx
cmp ecx, 0x100
jne 0x6cb270
xor ebp, ebp
mov eax, 1
mov ecx, 2
mov edx, 3
mov esi, 4
mov ebx, 5
jmp 0x6cb3c9
mov ecx, dword [esp]
mov byte [esp + ebp + 0x1a8], cl
mov byte [esp + ebp + 0x1ae], 0
nop
inc eax
mov ecx, dword [esp + 0x40]
inc ecx
inc edx
inc esi
inc ebx
mov ebp, dword [esp + 0x50]
cmp ebp, 0x100
je 0x6cb78d
mov dword [esp + 0x40], ecx
lea ecx, [ebp + 1]
mov dword [esp + 0x50], ecx
cmp ebp, 0xfe
ja 0x6cb3b0
cmp byte [esp + ebp + 0x1a8], 0
je 0x6cb3b0
mov ecx, dword [esp + 0x50]
movsx edi, byte [esp + ecx + 0x1a8]
test edi, edi
je 0x6cb460
mov dword [esp], eax
movsx ecx, byte [esp + ebp + 0x1a8]
lea eax, [ecx + edi*2]
cmp eax, 0xf
jg 0x6cb425
mov byte [esp + ebp + 0x1a8], al
mov byte [esp + ebp + 0x1a9], 0
mov eax, dword [esp]
cmp ebp, 0xfd
ja 0x6cb3b0
jmp 0x6cb46c
add edi, edi
sub ecx, edi
cmp ecx, 0xfffffff1
mov eax, dword [esp]
jl 0x6cb3b0
mov byte [esp + ebp + 0x1a8], cl
mov ecx, ebp
nop
cmp byte [esp + ecx + 0x1a9], 0
je 0x6cb542
mov byte [esp + ecx + 0x1a9], 0
inc ecx
cmp ecx, 0xff
jb 0x6cb440
nop
cmp ebp, 0xfd
ja 0x6cb3b0
movsx edi, byte [esp + ebp + 0x1aa]
test edi, edi
je 0x6cb4ef
movsx ecx, byte [esp + ebp + 0x1a8]
mov dword [esp + 4], ecx
lea ecx, [ecx + edi*4]
mov dword [esp], ecx
cmp ecx, 0x10
jge 0x6cb4af
mov ecx, dword [esp]
mov byte [esp + ebp + 0x1a8], cl
mov byte [esp + ebp + 0x1aa], 0
cmp ebp, 0xfd
je 0x6cb3b0
jmp 0x6cb4fb
shl edi, 2
mov ecx, dword [esp + 4]
sub ecx, edi
cmp ecx, 0xfffffff1
jl 0x6cb3b0
mov byte [esp + ebp + 0x1a8], cl
mov ecx, eax
nop word [eax + eax]
cmp byte [esp + ecx + 0x1a9], 0
je 0x6cb5f4
mov byte [esp + ecx + 0x1a9], 0
inc ecx
cmp ecx, 0xff
jb 0x6cb4d0
cmp ebp, 0xfd
je 0x6cb3b0
movsx edi, byte [esp + ebp + 0x1ab]
test edi, edi
je 0x6cb59f
movsx ecx, byte [esp + ebp + 0x1a8]
mov dword [esp + 4], ecx
lea ecx, [ecx + edi*8]
mov dword [esp], ecx
cmp ecx, 0x10
jge 0x6cb55b
mov ecx, dword [esp]
mov byte [esp + ebp + 0x1a8], cl
mov byte [esp + ebp + 0x1ab], 0
cmp ebp, 0xfb
ja 0x6cb3b0
jmp 0x6cb5ab
mov byte [esp + ecx + 0x1a9], 1
cmp ebp, 0xfd
ja 0x6cb3b0
jmp 0x6cb46c
shl edi, 3
mov ecx, dword [esp + 4]
sub ecx, edi
cmp ecx, 0xfffffff1
jl 0x6cb3b0
mov byte [esp + ebp + 0x1a8], cl
mov ecx, dword [esp + 0x40]
nop dword [eax + eax]
cmp byte [esp + ecx + 0x1a9], 0
je 0x6cb698
mov byte [esp + ecx + 0x1a9], 0
inc ecx
cmp ecx, 0xff
jb 0x6cb580
cmp ebp, 0xfb
ja 0x6cb3b0
movsx edi, byte [esp + ebp + 0x1ac]
test edi, edi
je 0x6cb64f
movsx ecx, byte [esp + ebp + 0x1a8]
shl edi, 4
mov dword [esp + 4], ecx
add ecx, edi
mov dword [esp], ecx
cmp ecx, 0x10
jge 0x6cb60d
mov ecx, dword [esp]
mov byte [esp + ebp + 0x1a8], cl
mov byte [esp + ebp + 0x1ac], 0
cmp ebp, 0xfb
je 0x6cb3b0
jmp 0x6cb65b
mov byte [esp + ecx + 0x1a9], 1
cmp ebp, 0xfd
je 0x6cb3b0
jmp 0x6cb4fb
mov ecx, dword [esp + 4]
sub ecx, edi
cmp ecx, 0xfffffff1
jl 0x6cb3b0
mov byte [esp + ebp + 0x1a8], cl
mov ecx, edx
nop word cs:[eax + eax]
cmp byte [esp + ecx + 0x1a9], 0
je 0x6cb6ed
mov byte [esp + ecx + 0x1a9], 0
inc ecx
cmp ecx, 0xff
jb 0x6cb630
cmp ebp, 0xfb
je 0x6cb3b0
movsx edi, byte [esp + ebp + 0x1ad]
test edi, edi
je 0x6cb70e
movsx ecx, byte [esp + ebp + 0x1a8]
shl edi, 5
mov dword [esp + 4], ecx
add ecx, edi
mov dword [esp], ecx
cmp ecx, 0x10
jge 0x6cb6b1
mov ecx, dword [esp]
mov byte [esp + ebp + 0x1a8], cl
mov byte [esp + ebp + 0x1ad], 0
jmp 0x6cb70e
mov byte [esp + ecx + 0x1a9], 1
cmp ebp, 0xfb
ja 0x6cb3b0
jmp 0x6cb5ab
mov ecx, dword [esp + 4]
sub ecx, edi
cmp ecx, 0xfffffff1
jl 0x6cb3b0
mov byte [esp + ebp + 0x1a8], cl
mov ecx, esi
nop dword [eax]
cmp byte [esp + ecx + 0x1a9], 0
je 0x6cb706
mov byte [esp + ecx + 0x1a9], 0
inc ecx
cmp ecx, 0xff
jb 0x6cb6d0
jmp 0x6cb70e
mov byte [esp + ecx + 0x1a9], 1
cmp ebp, 0xfb
je 0x6cb3b0
jmp 0x6cb65b
mov byte [esp + ecx + 0x1a9], 1
cmp ebp, 0xf9
ja 0x6cb3b0
movsx edi, byte [esp + ebp + 0x1ae]
test edi, edi
je 0x6cb3b0
movsx ecx, byte [esp + ebp + 0x1a8]
shl edi, 6
mov dword [esp + 4], ecx
add ecx, edi
mov dword [esp], ecx
cmp ecx, 0x10
jl 0x6cb39c
mov ecx, dword [esp + 4]
sub ecx, edi
cmp ecx, 0xfffffff1
jl 0x6cb3b0
mov byte [esp + ebp + 0x1a8], cl
mov ecx, ebx
nop
cmp byte [esp + ecx + 0x1a9], 0
je 0x6cb780
mov byte [esp + ecx + 0x1a9], 0
inc ecx
cmp ecx, 0xff
jb 0x6cb760
jmp 0x6cb3b0
mov byte [esp + ecx + 0x1a9], 1
jmp 0x6cb3b0
lea ecx, [esp + 0x448]
mov esi, dword [esp + 0x95c]
mov edx, esi
call fcn.006d1120
movsd xmm0, qword [esi + 0x20]
movsd qword [esp + 0x128], xmm0
movups xmm0, xmmword [esi]
movups xmm1, xmmword [esi + 0x10]
movups xmmword [esp + 0x118], xmm1
movups xmmword [esp + 0x108], xmm0
movups xmm0, xmmword [esi + 0x28]
movups xmm1, xmmword [esi + 0x38]
movups xmmword [esp + 0x130], xmm0
movups xmmword [esp + 0x140], xmm1
movsd xmm0, qword [esi + 0x48]
movsd qword [esp + 0x150], xmm0
movups xmm0, xmmword [esi + 0x50]
movdqu xmm1, xmmword [esi + 0x60]
movups xmmword [esp + 0x158], xmm0
movdqu xmmword [esp + 0x168], xmm1
movsd xmm0, qword [esi + 0x70]
movsd qword [esp + 0x178], xmm0
lea ebp, [esp + 0x60]
lea edx, [esp + 0x108]
mov ecx, ebp
call fcn.006cf680
lea eax, [esp + 0xd8]
lea ecx, [esp + 0x3a8]
mov edx, ebp
push eax
mov esi, eax
call fcn.006cdfe0
add esp, 4
lea ecx, [esp + 0x3d0]
lea edi, [esp + 0x88]
lea ebx, [esp + 0xb0]
mov edx, edi
push ebx
call fcn.006cdfe0
add esp, 4
lea ecx, [esp + 0x3f8]
mov edx, ebx
push esi
call fcn.006cdfe0
add esp, 4
lea ecx, [esp + 0x420]
mov edx, ebp
push edi
call fcn.006cdfe0
add esp, 4
mov ecx, ebp
lea edx, [esp + 0x3a8]
lea eax, [esp + 0x448]
push eax
call fcn.006d1200
add esp, 4
lea ecx, [esp + 0x108]
mov edx, ebp
push esi
call fcn.006cdfe0
add esp, 4
lea ecx, [esp + 0x130]
mov edx, edi
push ebx
call fcn.006cdfe0
add esp, 4
lea ecx, [esp + 0x158]
mov edx, ebx
push esi
call fcn.006cdfe0
add esp, 4
lea ecx, [esp + 0x180]
mov edx, ebp
push edi
call fcn.006cdfe0
add esp, 4
lea esi, [esp + 0x4e8]
mov ecx, esi
lea edx, [esp + 0x108]
call fcn.006d1120
mov ecx, ebp
lea edx, [esp + 0x3a8]
push esi
call fcn.006d1200
add esp, 4
lea ecx, [esp + 0x108]
mov edx, ebp
lea eax, [esp + 0xd8]
push eax
call fcn.006cdfe0
add esp, 4
lea ecx, [esp + 0x130]
mov edx, edi
push ebx
call fcn.006cdfe0
add esp, 4
lea ecx, [esp + 0x158]
mov edx, ebx
lea eax, [esp + 0xd8]
push eax
call fcn.006cdfe0
add esp, 4
lea ecx, [esp + 0x180]
mov edx, ebp
push edi
call fcn.006cdfe0
add esp, 4
lea esi, [esp + 0x588]
mov ecx, esi
lea edx, [esp + 0x108]
call fcn.006d1120
mov ecx, ebp
lea edx, [esp + 0x3a8]
push esi
call fcn.006d1200
add esp, 4
lea ecx, [esp + 0x108]
mov edx, ebp
lea eax, [esp + 0xd8]
push eax
call fcn.006cdfe0
add esp, 4
lea ecx, [esp + 0x130]
mov edx, edi
push ebx
call fcn.006cdfe0
add esp, 4
lea ecx, [esp + 0x158]
mov edx, ebx
lea eax, [esp + 0xd8]
push eax
call fcn.006cdfe0
add esp, 4
lea ecx, [esp + 0x180]
mov edx, ebp
push edi
call fcn.006cdfe0
add esp, 4
lea esi, [esp + 0x628]
mov ecx, esi
lea edx, [esp + 0x108]
call fcn.006d1120
mov ecx, ebp
lea edx, [esp + 0x3a8]
push esi
call fcn.006d1200
add esp, 4
lea ecx, [esp + 0x108]
mov edx, ebp
lea eax, [esp + 0xd8]
push eax
call fcn.006cdfe0
add esp, 4
lea ecx, [esp + 0x130]
mov edx, edi
push ebx
call fcn.006cdfe0
add esp, 4
lea ecx, [esp + 0x158]
mov edx, ebx
lea eax, [esp + 0xd8]
push eax
call fcn.006cdfe0
add esp, 4
lea ecx, [esp + 0x180]
mov edx, ebp
push edi
call fcn.006cdfe0
add esp, 4
lea esi, [esp + 0x6c8]
mov ecx, esi
lea edx, [esp + 0x108]
call fcn.006d1120
mov ecx, ebp
lea edx, [esp + 0x3a8]
push esi
call fcn.006d1200
add esp, 4
lea ecx, [esp + 0x108]
mov edx, ebp
lea eax, [esp + 0xd8]
push eax
call fcn.006cdfe0
add esp, 4
lea ecx, [esp + 0x130]
mov edx, edi
push ebx
call fcn.006cdfe0
add esp, 4
lea ecx, [esp + 0x158]
mov edx, ebx
lea eax, [esp + 0xd8]
push eax
call fcn.006cdfe0
add esp, 4
lea ecx, [esp + 0x180]
mov edx, ebp
push edi
call fcn.006cdfe0
add esp, 4
lea esi, [esp + 0x768]
mov ecx, esi
lea edx, [esp + 0x108]
call fcn.006d1120
mov ecx, ebp
lea edx, [esp + 0x3a8]
push esi
call fcn.006d1200
add esp, 4
lea ecx, [esp + 0x108]
mov edx, ebp
lea eax, [esp + 0xd8]
push eax
call fcn.006cdfe0
add esp, 4
lea ecx, [esp + 0x130]
mov edx, edi
push ebx
call fcn.006cdfe0
add esp, 4
lea ecx, [esp + 0x158]
mov edx, ebx
lea eax, [esp + 0xd8]
push eax
call fcn.006cdfe0
add esp, 4
lea ecx, [esp + 0x180]
mov edx, ebp
push edi
call fcn.006cdfe0
add esp, 4
lea esi, [esp + 0x808]
mov ecx, esi
lea edx, [esp + 0x108]
call fcn.006d1120
mov ecx, ebp
lea edx, [esp + 0x3a8]
push esi
call fcn.006d1200
add esp, 4
lea ecx, [esp + 0x108]
mov esi, ecx
mov edx, ebp
lea eax, [esp + 0xd8]
push eax
call fcn.006cdfe0
add esp, 4
lea ecx, [esp + 0x130]
mov edx, edi
push ebx
call fcn.006cdfe0
add esp, 4
lea ecx, [esp + 0x158]
mov edx, ebx
lea eax, [esp + 0xd8]
push eax
call fcn.006cdfe0
add esp, 4
lea ecx, [esp + 0x180]
mov edx, ebp
push edi
call fcn.006cdfe0
add esp, 4
lea ecx, [esp + 0x8a8]
mov edx, esi
call fcn.006d1120
xorps xmm0, xmm0
mov ebp, dword [esp + 0x104]
movsd qword [ebp + 0x20], xmm0
xorps xmm0, xmm0
movups xmmword [ebp + 0x10], xmm0
movups xmmword [ebp], xmm0
lea eax, [ebp + 0x28]
mov dword [esp], eax
movups xmmword [ebp + 0x2c], xmm0
movups xmmword [ebp + 0x3c], xmm0
mov dword [ebp + 0x4c], 0
mov dword [ebp + 0x28], 1
lea eax, [ebp + 0x50]
mov dword [esp + 4], eax
movups xmmword [ebp + 0x54], xmm0
movups xmmword [ebp + 0x64], xmm0
mov dword [ebp + 0x74], 0
mov dword [ebp + 0x50], 1
mov dword [esp + 0x50], 0xff
mov eax, 0xfe
nop word cs:[eax + eax]
cmp byte [esp + eax + 0x2a9], 0
jne 0x6cbc8e
cmp byte [esp + eax + 0x1a9], 0
jne 0x6cbc93
cmp byte [esp + eax + 0x2a8], 0
jne 0x6cc878
cmp byte [esp + eax + 0x1a8], 0
jne 0x6cbc8f
add dword [esp + 0x50], 0xfffffffe
add eax, 0xfffffffe
cmp eax, 0xfffffffe
jne 0x6cbc50
jmp 0x6cc887
inc eax
mov dword [esp + 0x50], eax
cmp dword [esp + 0x50], 0
js 0x6cc887
inc dword [esp + 0x50]
jmp 0x6cbd80
lea ecx, [esp + 0x108]
lea edx, [esp + 0x60]
lea ebp, [esp + 0xd8]
push ebp
call fcn.006cdfe0
add esp, 4
lea ecx, [esp + 0x130]
lea esi, [esp + 0x88]
mov edx, esi
lea edi, [esp + 0xb0]
push edi
call fcn.006cdfe0
add esp, 4
lea ecx, [esp + 0x158]
mov edx, edi
push ebp
lea ebp, [esp + 0x64]
call fcn.006cdfe0
add esp, 4
lea ecx, [esp + 0x180]
mov edx, ebp
push esi
call fcn.006cdfe0
add esp, 4
shr ebx, 1
imul eax, ebx, 0x78
lea eax, [eax + 0xa5dac8]
mov ecx, ebp
lea edx, [esp + 0x108]
push eax
call fcn.006cf390
add esp, 4
lea edi, [esp + 0xb0]
mov ebp, dword [esp + 0x104]
mov ecx, ebp
lea edx, [esp + 0x60]
lea ebx, [esp + 0xd8]
push ebx
call fcn.006cdfe0
add esp, 4
mov ecx, dword [esp]
lea edx, [esp + 0x88]
push edi
call fcn.006cdfe0
add esp, 4
mov ecx, dword [esp + 4]
mov edx, edi
push ebx
call fcn.006cdfe0
add esp, 4
dec dword [esp + 0x50]
jle 0x6cc887
lea ecx, [esp + 0x60]
mov edx, ebp
call fcn.006cf680
mov eax, dword [esp + 0x50]
movzx eax, byte [esp + eax + 0x2a7]
test al, al
jle 0x6cbe50
mov dword [esp + 0x40], eax
lea ecx, [esp + 0x108]
lea edx, [esp + 0x60]
lea ebx, [esp + 0xd8]
push ebx
call fcn.006cdfe0
add esp, 4
lea ecx, [esp + 0x130]
lea edi, [esp + 0x88]
mov edx, edi
lea esi, [esp + 0xb0]
push esi
call fcn.006cdfe0
add esp, 4
lea ecx, [esp + 0x158]
mov edx, esi
lea ebp, [esp + 0x60]
push ebx
call fcn.006cdfe0
add esp, 4
lea ecx, [esp + 0x180]
mov edx, ebp
push edi
call fcn.006cdfe0
add esp, 4
mov eax, dword [esp + 0x40]
shr eax, 1
lea eax, [eax + eax*4]
shl eax, 5
add eax, esp
add eax, 0x448
mov ecx, ebp
lea edx, [esp + 0x108]
push eax
call fcn.006d1200
add esp, 4
mov eax, dword [esp + 0x50]
movzx ebx, byte [esp + eax + 0x1a7]
test bl, bl
jg 0x6cbcb0
jmp 0x6cbe6c
test al, al
js 0x6cc334
mov eax, dword [esp + 0x50]
movzx ebx, byte [esp + eax + 0x1a7]
test bl, bl
jg 0x6cbcb0
test bl, bl
jns 0x6cbd30
lea ecx, [esp + 0x108]
lea edx, [esp + 0x60]
lea ebp, [esp + 0xd8]
push ebp
call fcn.006cdfe0
add esp, 4
lea ecx, [esp + 0x130]
lea edx, [esp + 0x88]
mov esi, edx
lea edi, [esp + 0xb0]
push edi
call fcn.006cdfe0
add esp, 4
lea ecx, [esp + 0x158]
mov edx, edi
push ebp
call fcn.006cdfe0
add esp, 4
lea ecx, [esp + 0x180]
lea edx, [esp + 0x60]
push esi
call fcn.006cdfe0
add esp, 4
mov edx, dword [esp + 0x130]
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x108]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0x14], ecx
add eax, edx
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x134]
mov dword [esp + 0x10], eax
lea eax, [ecx + eax]
mov dword [esp + 0x64], eax
mov ecx, dword [esp + 0x138]
mov dword [esp + 0x34], ecx
mov eax, dword [esp + 0x110]
mov dword [esp + 0x38], eax
lea eax, [eax + ecx]
mov dword [esp + 0x68], eax
mov ecx, dword [esp + 0x13c]
mov dword [esp + 0x2c], ecx
mov eax, dword [esp + 0x114]
mov dword [esp + 0x30], eax
lea eax, [eax + ecx]
mov dword [esp + 0x6c], eax
mov ecx, dword [esp + 0x140]
mov dword [esp + 8], ecx
mov eax, dword [esp + 0x118]
mov dword [esp + 0x28], eax
lea eax, [eax + ecx]
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0x144]
mov dword [esp + 0x20], ecx
mov eax, dword [esp + 0x11c]
mov dword [esp + 0x24], eax
lea eax, [eax + ecx]
mov dword [esp + 0x74], eax
mov ebp, dword [esp + 0x148]
mov eax, dword [esp + 0x120]
mov dword [esp + 0x18], eax
lea eax, [eax + ebp]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x124]
mov dword [esp + 0x3c], eax
mov edx, dword [esp + 0x14c]
lea ecx, [eax + edx]
mov dword [esp + 0x7c], ecx
mov ecx, dword [esp + 0x150]
mov eax, dword [esp + 0x128]
mov dword [esp + 0x100], eax
lea esi, [eax + ecx]
mov dword [esp + 0x80], esi
mov edi, dword [esp + 0x154]
mov eax, dword [esp + 0x12c]
mov dword [esp + 0x1c], eax
lea esi, [eax + edi]
mov dword [esp + 0x84], esi
mov esi, dword [esp + 0xc]
sub esi, dword [esp + 0x40]
mov dword [esp + 0x88], esi
mov esi, dword [esp + 0x10]
sub esi, dword [esp + 0x14]
mov dword [esp + 0x8c], esi
mov esi, dword [esp + 0x34]
sub esi, dword [esp + 0x38]
mov dword [esp + 0x90], esi
mov esi, dword [esp + 0x2c]
sub esi, dword [esp + 0x30]
mov dword [esp + 0x94], esi
mov esi, dword [esp + 8]
sub esi, dword [esp + 0x28]
mov dword [esp + 0x98], esi
mov eax, dword [esp + 0x20]
sub eax, dword [esp + 0x24]
mov dword [esp + 0x9c], eax
sub ebp, dword [esp + 0x18]
mov dword [esp + 0xa0], ebp
sub edx, dword [esp + 0x3c]
mov dword [esp + 0xa4], edx
sub ecx, dword [esp + 0x100]
mov dword [esp + 0xa8], ecx
neg bl
shr bl, 1
movzx eax, bl
imul ebx, eax, 0x78
sub edi, dword [esp + 0x1c]
lea esi, [ebx + 0xa5dac8]
mov dword [esp + 0xac], edi
lea eax, [ebx + 0xa5daf0]
lea ecx, [esp + 0xb0]
lea edx, [esp + 0x60]
push eax
call fcn.006cdfe0
add esp, 4
lea ecx, [esp + 0x88]
mov edx, ecx
push esi
call fcn.006cdfe0
add esp, 4
lea edx, [ebx + 0xa5db18]
lea ecx, [esp + 0xd8]
lea eax, [esp + 0x180]
push eax
call fcn.006cdfe0
add esp, 4
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x40], eax
mov edx, dword [esp + 0x88]
mov dword [esp + 0x14], edx
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0xc], ecx
sub eax, edx
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x10], eax
sub eax, ecx
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x38], eax
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x34], ecx
sub eax, ecx
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x2c], ecx
sub eax, ecx
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x98]
mov dword [esp + 8], ecx
sub eax, ecx
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x24], eax
mov ebx, dword [esp + 0x9c]
sub eax, ebx
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x20], eax
mov edi, dword [esp + 0xa0]
sub eax, edi
mov esi, dword [esp + 0xa4]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x1c], eax
sub eax, esi
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x18], eax
mov edx, dword [esp + 0xa8]
sub eax, edx
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0xac]
mov ebp, eax
sub ebp, ecx
mov dword [esp + 0x84], ebp
mov ebp, dword [esp + 0x14]
add ebp, dword [esp + 0x40]
mov dword [esp + 0x88], ebp
mov ebp, dword [esp + 0xc]
add ebp, dword [esp + 0x10]
mov dword [esp + 0x8c], ebp
mov ebp, dword [esp + 0x34]
add ebp, dword [esp + 0x38]
mov dword [esp + 0x90], ebp
mov ebp, dword [esp + 0x2c]
add ebp, dword [esp + 0x30]
mov dword [esp + 0x94], ebp
mov ebp, dword [esp + 8]
add ebp, dword [esp + 0x28]
mov dword [esp + 0x98], ebp
add ebx, dword [esp + 0x24]
mov dword [esp + 0x9c], ebx
add edi, dword [esp + 0x20]
mov dword [esp + 0xa0], edi
add esi, dword [esp + 0x1c]
mov dword [esp + 0xa4], esi
add edx, dword [esp + 0x18]
mov dword [esp + 0xa8], edx
add ecx, eax
mov dword [esp + 0xac], ecx
movdqu xmm0, xmmword [esp + 0x158]
movdqu xmm1, xmmword [esp + 0x168]
paddd xmm0, xmm0
movdqu xmm3, xmmword [esp + 0xd8]
movdqu xmm2, xmmword [esp + 0xe8]
movdqa xmm4, xmm0
psubd xmm4, xmm3
movdqu xmmword [esp + 0xb0], xmm4
paddd xmm1, xmm1
movdqa xmm4, xmm1
psubd xmm4, xmm2
movdqu xmmword [esp + 0xc0], xmm4
movdqa xmm4, xmm0
paddd xmm0, xmm3
shufps xmm3, xmm2, 3
shufps xmm3, xmm2, 0x98
shufps xmm4, xmm1, 3
shufps xmm4, xmm1, 0x98
paddd xmm4, xmm3
movdqu xmmword [esp + 0xe4], xmm4
paddd xmm1, xmm2
pshufd xmm1, xmm1, 0xff
movd dword [esp + 0xf4], xmm1
movq xmm1, qword [esp + 0x178]
paddd xmm1, xmm1
movq xmm2, qword [esp + 0xf8]
movdqa xmm3, xmm1
psubd xmm3, xmm2
movd dword [esp + 0xd0], xmm3
pshufd xmm3, xmm1, 0x44
punpcklqdq xmm4, xmm2
psubd xmm3, xmm4
shufps xmm3, xmm0, 3
shufps xmm3, xmm0, 0x98
movups xmmword [esp + 0xd4], xmm3
paddd xmm1, xmm2
movq qword [esp + 0xf8], xmm1
jmp 0x6cbd30
lea ecx, [esp + 0x108]
lea ebp, [esp + 0x60]
mov edx, ebp
mov dword [esp + 0x40], eax
lea ebx, [esp + 0xd8]
push ebx
call fcn.006cdfe0
add esp, 4
lea ecx, [esp + 0x130]
lea edx, [esp + 0x88]
mov edi, edx
lea esi, [esp + 0xb0]
push esi
call fcn.006cdfe0
add esp, 4
lea ecx, [esp + 0x158]
mov edx, esi
push ebx
call fcn.006cdfe0
add esp, 4
lea ecx, [esp + 0x180]
mov edx, ebp
push edi
call fcn.006cdfe0
add esp, 4
mov edi, dword [esp + 0x130]
mov eax, dword [esp + 0x108]
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0x10], ecx
add eax, edi
mov dword [esp + 0x60], eax
mov ebx, dword [esp + 0x134]
lea eax, [ecx + ebx]
mov dword [esp + 0x64], eax
mov ecx, dword [esp + 0x138]
mov dword [esp + 0x38], ecx
mov eax, dword [esp + 0x110]
mov dword [esp + 0xc], eax
lea eax, [eax + ecx]
mov dword [esp + 0x68], eax
mov ecx, dword [esp + 0x13c]
mov dword [esp + 0x30], ecx
mov eax, dword [esp + 0x114]
mov dword [esp + 0x34], eax
lea eax, [eax + ecx]
mov dword [esp + 0x6c], eax
mov ecx, dword [esp + 0x140]
mov dword [esp + 0x28], ecx
mov eax, dword [esp + 0x118]
mov dword [esp + 0x2c], eax
lea eax, [eax + ecx]
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0x144]
mov dword [esp + 0x20], ecx
mov eax, dword [esp + 0x11c]
mov dword [esp + 8], eax
lea eax, [eax + ecx]
mov dword [esp + 0x74], eax
mov ecx, dword [esp + 0x148]
mov dword [esp + 0x18], ecx
mov eax, dword [esp + 0x120]
mov dword [esp + 0x1c], eax
lea eax, [eax + ecx]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x124]
mov dword [esp + 0x3c], eax
mov edx, dword [esp + 0x14c]
lea ecx, [eax + edx]
mov dword [esp + 0x7c], ecx
mov esi, dword [esp + 0x150]
mov eax, dword [esp + 0x128]
mov dword [esp + 0x100], eax
lea ebp, [eax + esi]
mov dword [esp + 0x80], ebp
mov ecx, dword [esp + 0x154]
mov eax, dword [esp + 0x12c]
mov dword [esp + 0x24], eax
lea ebp, [eax + ecx]
mov dword [esp + 0x84], ebp
sub edi, dword [esp + 0x14]
mov dword [esp + 0x88], edi
sub ebx, dword [esp + 0x10]
mov dword [esp + 0x8c], ebx
mov edi, dword [esp + 0x38]
sub edi, dword [esp + 0xc]
mov dword [esp + 0x90], edi
mov edi, dword [esp + 0x30]
sub edi, dword [esp + 0x34]
mov dword [esp + 0x94], edi
mov edi, dword [esp + 0x28]
sub edi, dword [esp + 0x2c]
mov dword [esp + 0x98], edi
mov eax, dword [esp + 0x20]
sub eax, dword [esp + 8]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x18]
sub eax, dword [esp + 0x1c]
mov dword [esp + 0xa0], eax
sub edx, dword [esp + 0x3c]
mov dword [esp + 0xa4], edx
sub esi, dword [esp + 0x100]
mov dword [esp + 0xa8], esi
mov eax, dword [esp + 0x40]
neg al
shr al, 1
movzx eax, al
lea esi, [eax + eax*4]
shl esi, 5
sub ecx, dword [esp + 0x24]
lea ebx, [esp + esi]
add ebx, 0x448
mov dword [esp + 0xac], ecx
lea eax, [esp + esi + 0x470]
lea ecx, [esp + 0xb0]
lea edx, [esp + 0x60]
push eax
call fcn.006cdfe0
add esp, 4
lea ecx, [esp + 0x88]
mov edx, ecx
push ebx
call fcn.006cdfe0
add esp, 4
lea edx, [esp + esi]
add edx, 0x4c0
lea ecx, [esp + 0xd8]
lea eax, [esp + 0x180]
push eax
call fcn.006cdfe0
add esp, 4
lea eax, [esp + esi]
add eax, 0x498
lea ecx, [esp + 0x60]
lea edx, [esp + 0x158]
push eax
call fcn.006cdfe0
add esp, 4
mov edx, dword [esp + 0xb0]
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x14], ecx
mov ecx, edx
sub ecx, eax
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0xb4]
mov esi, dword [esp + 0xb8]
mov dword [esp + 0x10], esi
mov esi, dword [esp + 0x90]
mov dword [esp + 0xc], esi
add eax, edx
mov edx, dword [esp + 0xbc]
mov dword [esp + 0x3c], edx
mov esi, dword [esp + 0x94]
mov edx, dword [esp + 0xc0]
mov dword [esp + 8], edx
mov edi, dword [esp + 0x98]
mov edx, dword [esp + 0xc4]
mov dword [esp + 0x18], edx
mov ebx, dword [esp + 0x9c]
mov edx, dword [esp + 0xc8]
mov dword [esp + 0x1c], edx
mov ebp, dword [esp + 0xa0]
mov edx, dword [esp + 0xcc]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0xa4]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0xd0]
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0xa8]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0xd4]
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0xac]
mov dword [esp + 0x30], edx
mov dword [esp + 0x88], eax
mov edx, ecx
mov eax, dword [esp + 0x14]
sub ecx, eax
mov dword [esp + 0x38], ecx
add eax, edx
mov dword [esp + 0x8c], eax
mov ecx, dword [esp + 0x10]
mov edx, ecx
mov eax, dword [esp + 0xc]
sub edx, eax
mov dword [esp + 0x14], edx
add eax, ecx
mov dword [esp + 0x90], eax
mov ecx, dword [esp + 0x3c]
mov eax, ecx
sub eax, esi
mov dword [esp + 0xc], eax
add esi, ecx
mov dword [esp + 0x94], esi
mov ecx, dword [esp + 8]
mov eax, ecx
sub eax, edi
mov dword [esp + 0x10], eax
add edi, ecx
mov dword [esp + 0x98], edi
mov ecx, dword [esp + 0x18]
mov eax, ecx
sub eax, ebx
mov dword [esp + 8], eax
add ebx, ecx
mov dword [esp + 0x9c], ebx
mov ecx, dword [esp + 0x1c]
mov eax, ecx
sub eax, ebp
add ebp, ecx
mov dword [esp + 0xa0], ebp
mov edx, dword [esp + 0x24]
mov ecx, edx
mov esi, dword [esp + 0x20]
sub ecx, esi
add esi, edx
mov dword [esp + 0xa4], esi
mov edx, dword [esp + 0x2c]
mov edi, edx
mov esi, dword [esp + 0x28]
sub edi, esi
add esi, edx
mov dword [esp + 0xa8], esi
mov esi, dword [esp + 0x34]
mov edx, esi
mov ebx, dword [esp + 0x30]
sub edx, ebx
add ebx, esi
mov dword [esp + 0xac], ebx
movdqu xmm0, xmmword [esp + 0x60]
movdqu xmm2, xmmword [esp + 0x70]
mov esi, dword [esp + 0x40]
mov dword [esp + 0x60], esi
mov esi, dword [esp + 0x38]
mov dword [esp + 0x64], esi
mov esi, dword [esp + 0x14]
mov dword [esp + 0x68], esi
mov esi, dword [esp + 0xc]
mov dword [esp + 0x6c], esi
paddd xmm0, xmm0
movdqu xmm1, xmmword [esp + 0xd8]
movdqa xmm3, xmm0
psubd xmm3, xmm1
movdqu xmmword [esp + 0xb0], xmm3
mov esi, dword [esp + 0x10]
mov dword [esp + 0x70], esi
mov esi, dword [esp + 8]
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], ecx
paddd xmm2, xmm2
movdqu xmm3, xmmword [esp + 0xe8]
movdqa xmm4, xmm2
psubd xmm4, xmm3
movdqu xmmword [esp + 0xc0], xmm4
movdqa xmm4, xmm1
shufps xmm4, xmm3, 3
shufps xmm4, xmm3, 0x98
movdqa xmm5, xmm0
shufps xmm5, xmm2, 3
shufps xmm5, xmm2, 0x98
paddd xmm5, xmm4
movdqu xmmword [esp + 0xe4], xmm5
paddd xmm2, xmm3
pshufd xmm2, xmm2, 0xff
movd dword [esp + 0xf4], xmm2
movq xmm2, qword [esp + 0x80]
mov dword [esp + 0x80], edi
mov dword [esp + 0x84], edx
paddd xmm0, xmm1
paddd xmm2, xmm2
movq xmm1, qword [esp + 0xf8]
movdqa xmm3, xmm2
psubd xmm3, xmm1
movd dword [esp + 0xd0], xmm3
pshufd xmm3, xmm2, 0x44
punpcklqdq xmm4, xmm1
psubd xmm3, xmm4
shufps xmm3, xmm0, 3
shufps xmm3, xmm0, 0x98
movups xmmword [esp + 0xd4], xmm3
paddd xmm2, xmm1
movq qword [esp + 0xf8], xmm2
mov eax, dword [esp + 0x50]
movzx ebx, byte [esp + eax + 0x1a7]
test bl, bl
jg 0x6cbcb0
jmp 0x6cbe6c
dec dword [esp + 0x50]
cmp dword [esp + 0x50], 0
jns 0x6cbc9e
add esp, 0x948
pop esi
pop edi
pop ebx
pop ebp
ret