Function at 0x7ccc90
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x80
mov eax, dword [ecx + 0xc]
mov edi, edx
add edi, eax
mov dword [esp + 0x1c], eax
jb 0x7cda68
mov ebp, dword [ecx + 4]
mov dword [esp + 0x24], ecx
lea edx, [ebp + 1]
mov dword [esp + 0x30], ebp
mov eax, edx
mov esi, edx
shr eax, 3
and esi, 0xfffffff8
sub esi, eax
cmp ebp, 8
cmovb esi, ebp
mov eax, esi
shr eax, 1
cmp edi, eax
jbe 0x7cccf6
inc esi
mov dword [esp + 0x10], edx
cmp edi, esi
cmova esi, edi
cmp esi, 8
jae 0x7ccd61
xor eax, eax
cmp esi, 4
setae al
lea edi, [eax*4 + 4]
jmp 0x7ccda6
mov ebx, dword [ecx]
mov ecx, edx
xor eax, eax
mov dword [esp + 0x44], esi
shr ecx, 4
test dl, 0xf
setne al
add eax, ecx
je 0x7ccd36
movdqa xmm0, xmmword [0x7d4a80]
mov ecx, ebx
nop word [eax + eax]
pxor xmm1, xmm1
dec eax
pcmpgtb xmm1, xmmword [ecx]
por xmm1, xmm0
movdqa xmmword [ecx], xmm1
lea ecx, [ecx + 0x10]
jne 0x7ccd20
cmp edx, 0x10
jae 0x7cce03
lea eax, [ebx + 0x10]
push edx
push ebx
push eax
call fcn.007bd9b0
add esp, 0xc
mov ecx, dword [esp + 0x1c]
cmp ebp, 0xffffffff
jne 0x7cce1b
xor edx, edx
jmp 0x7cd87b
cmp esi, 0x20000000
jae 0x7cda68
shl esi, 3
mov edi, 1
cmp esi, 0xe
jb 0x7ccda6
mov ecx, 0x24924925
mov eax, esi
mov edi, 0xffffffff
mul ecx
sub esi, edx
shr esi, 1
add esi, edx
shr esi, 2
dec esi
bsr ecx, esi
not ecx
shr edi, cl
cmp edi, 0x1ffffffe
ja 0x7cda68
inc edi
lea ebx, [edi*8]
add ebx, 0xf
jb 0x7cda68
and ebx, 0xfffffff0
lea ebp, [edi + 0x10]
mov esi, ebx
add esi, ebp
jb 0x7cda68
cmp esi, 0x7ffffff1
jae 0x7cda68
test esi, esi
je 0x7cd889
movzx eax, byte [0x94bfc5]
lea edx, [esi + 0x10]
xor ecx, ecx
call fcn.0071ee80
test eax, eax
je 0x7cda6d
mov esi, eax
and esi, 0xfffffff0
mov dword [esi + 0xc], eax
add esi, 0x10
jmp 0x7cd88e
mov ecx, dword [esp + 0x1c]
movq xmm0, qword [ebx]
movq xmm1, qword [ebx + 8]
movq qword [ebx + edx + 8], xmm1
movq qword [ebx + edx], xmm0
mov edx, dword [esp + 0x98]
mov eax, dword [esp + 0x94]
mov esi, dword [esp + 0xa0]
mov dword [esp + 0x58], ebx
movd xmm0, edx
xor edx, 0x736f6d65
movd xmm1, eax
movd xmm2, esi
xor esi, 0x74656462
xor eax, 0x70736575
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x9c]
punpckldq xmm1, xmm0
mov dword [esp + 0x38], eax
mov dword [esp + 0x4c], esi
movd xmm0, edx
xor edx, 0x79746573
punpckldq xmm0, xmm2
movd xmm2, esi
mov dword [esp + 0x48], edx
punpcklqdq xmm0, xmm1
movd xmm1, edx
xor edx, edx
pxor xmm0, xmmword [str.modnarodarenegyl]
punpcklqdq xmm2, xmm1
movdqa xmm1, xmm0
movdqu xmmword [esp + 0x60], xmm0
shufps xmm1, xmm2, 0x24
pshufd xmm2, xmm0, 0xff
movd dword [esp + 0x54], xmm2
pshufd xmm2, xmm0, 0xee
movups xmmword [esp + 0x70], xmm1
movd dword [esp + 0x50], xmm2
movdqa xmm2, xmmword [0x7d4500]
jmp 0x7ccef2
mov edx, dword [esp + 0x28]
shr eax, 0x19
lea ecx, [edx - 0x10]
mov byte [ebx + edx], al
and ecx, ebp
mov byte [ecx + ebx + 0x10], al
mov ecx, dword [esp + 0x1c]
cmp edx, ebp
lea edx, [edx + 1]
je 0x7cd877
cmp byte [ebx + edx], 0x80
jne 0x7ccee7
mov eax, edx
mov dword [esp + 0x28], edx
neg edx
not eax
mov dword [esp + 0x5c], edx
mov dword [esp + 0x34], eax
nop word [eax + eax]
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x50]
mov esi, dword [esp + 0x54]
mov edi, dword [esp + 0x38]
movupd xmm3, xmmword [esp + 0x70]
mov edx, dword [esp + 0x3c]
mov ebp, dword [ebx + eax*8 - 8]
mov eax, dword [ebx + eax*8 - 4]
mov dword [esp + 0xc], ecx
xor ebx, ebx
mov ecx, 0
mov dword [esp + 0x18], eax
and eax, 0xfffffff8
mov dword [esp], eax
je 0x7cd065
mov eax, dword [esp]
mov ecx, dword [esp + 0x4c]
mov edi, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
movups xmm4, xmmword [esp + 0x60]
xor esi, esi
dec eax
and eax, 0xfffffff8
mov dword [esp + 8], eax
mov eax, dword [esp + 0x48]
nop
mov ebx, dword [ebp + esi]
movd xmm3, edi
movd xmm0, edx
punpckldq xmm3, xmm0
movaps xmm0, xmm4
xor eax, ebx
movd xmm5, eax
mov eax, dword [ebp + esi + 4]
add esi, 8
movdqa xmm7, xmm5
xor ecx, eax
movd xmm6, ecx
punpckldq xmm7, xmm6
punpcklqdq xmm6, xmm5
shufps xmm0, xmm6, 0x24
punpcklqdq xmm3, xmm7
movaps xmm6, xmm4
movaps xmm5, xmm0
paddq xmm3, xmm4
psrlq xmm6, 0x33
psllq xmm0, 0x10
psllq xmm4, 0xd
psrlq xmm5, 0x30
shufps xmm4, xmm0, 0xe4
shufps xmm6, xmm5, 0xe4
pshufd xmm5, xmm3, 0x1e
orps xmm4, xmm6
pxor xmm4, xmm3
movdqa xmm0, xmm4
movdqa xmm3, xmm4
paddq xmm5, xmm4
psrlq xmm0, 0x2f
psrlq xmm3, 0x2b
movsd xmm3, xmm0
movdqa xmm0, xmm4
psllq xmm4, 0x15
psllq xmm0, 0x11
movsd xmm4, xmm0
pshufd xmm0, xmm5, 0xee
movd edi, xmm0
pshufd xmm0, xmm5, 0xff
orpd xmm4, xmm3
movd edx, xmm0
movapd xmm3, xmm4
xor edi, ebx
xor edx, eax
cmp esi, dword [esp]
xorpd xmm3, xmm5
movapd xmm4, xmm3
pshufd xmm0, xmm3, 0xff
pshufd xmm1, xmm3, 0xee
shufps xmm4, xmm5, 0x14
movd ecx, xmm0
movd eax, xmm1
jb 0x7ccf70
mov ecx, dword [esp + 8]
pshufd xmm4, xmm5, 0x55
movd esi, xmm5
xor ebx, ebx
movd dword [esp + 0xc], xmm4
add ecx, 8
mov eax, dword [esp + 0x18]
mov dword [esp + 8], ecx
and eax, 7
cmp eax, 4
mov dword [esp], eax
jb 0x7cd090
mov eax, dword [ebp + ecx]
mov ebx, 4
mov dword [esp + 0x14], 0
mov dword [esp + 4], eax
jmp 0x7cd0a0
mov dword [esp + 4], 0
mov dword [esp + 0x14], 0
mov ecx, dword [esp]
mov eax, ebx
or eax, 1
cmp eax, ecx
jae 0x7cd120
mov eax, dword [esp + 8]
lea ecx, [ebx*8]
mov dword [esp + 0x10], 0
add eax, ebx
movzx eax, word [ebp + eax]
shld dword [esp + 0x10], eax, cl
shl eax, cl
test cl, 0x20
mov ecx, dword [esp + 0x10]
cmovne ecx, eax
mov dword [esp + 0x10], ecx
mov ecx, 0
cmovne eax, ecx
mov ecx, dword [esp + 0x10]
or ebx, 2
or dword [esp + 0x14], ecx
mov ecx, dword [esp + 4]
or ecx, eax
mov eax, dword [esp]
cmp ebx, eax
jb 0x7cd12a
mov ebp, dword [esp + 0xc]
inc dword [esp + 0x18]
test eax, eax
je 0x7cd2bc
mov dword [esp + 4], ecx
jmp 0x7cd166
mov eax, ecx
mov ecx, dword [esp + 4]
cmp ebx, eax
jae 0x7cd0fb
mov eax, dword [esp + 8]
mov dword [esp + 4], ecx
add eax, ebx
shl ebx, 3
movzx eax, byte [ebp + eax]
xor ebp, ebp
mov ecx, ebx
shld ebp, eax, cl
shl eax, cl
test bl, 0x20
mov ecx, 0
cmovne ebp, eax
cmovne eax, ecx
inc dword [esp + 0x18]
or dword [esp + 0x14], ebp
or dword [esp + 4], eax
mov eax, dword [esp]
mov ebp, dword [esp + 0xc]
lea ecx, [eax*8]
xor ebx, ebx
mov eax, 0xff
pshufd xmm0, xmm3, 0xff
shld ebx, eax, cl
shl eax, cl
test cl, 0x20
movd dword [esp + 8], xmm0
pshufd xmm0, xmm3, 0xee
mov ecx, ebx
mov ebx, 0
cmovne ecx, eax
cmovne eax, ebx
movd ebx, xmm0
or ecx, dword [esp + 0x14]
or eax, dword [esp + 4]
cmp dword [esp], 7
jne 0x7cd2a0
mov dword [esp + 0x10], ecx
movd xmm0, ebp
movd xmm4, esi
mov esi, dword [esp + 8]
mov ecx, eax
movd xmm1, edx
mov eax, 8
mov ebp, dword [esp + 0x10]
xor ebx, ecx
punpcklqdq xmm4, xmm0
movapd xmm0, xmm3
sub eax, dword [esp]
movd xmm5, ebx
shufps xmm0, xmm4, 0x24
movd xmm4, edi
movdqa xmm7, xmm5
punpckldq xmm4, xmm1
xor esi, ebp
movd xmm6, esi
punpckldq xmm7, xmm6
punpcklqdq xmm6, xmm5
movdqa xmm5, xmm3
punpcklqdq xmm4, xmm7
psrlq xmm5, 0x33
paddq xmm4, xmm0
movapd xmm0, xmm3
psllq xmm3, 0xd
shufps xmm0, xmm6, 0x24
movaps xmm1, xmm0
psllq xmm0, 0x10
psrlq xmm1, 0x30
shufps xmm3, xmm0, 0xe4
shufps xmm5, xmm1, 0xe4
orps xmm3, xmm5
pxor xmm3, xmm4
pshufd xmm4, xmm4, 0x1e
movdqa xmm0, xmm3
movdqa xmm1, xmm3
paddq xmm4, xmm3
psrlq xmm0, 0x2f
psrlq xmm1, 0x2b
movd esi, xmm4
movsd xmm1, xmm0
movdqa xmm0, xmm3
psllq xmm3, 0x15
psllq xmm0, 0x11
movsd xmm3, xmm0
pshufd xmm0, xmm4, 0x55
orpd xmm3, xmm1
pshufd xmm1, xmm4, 0xee
xorpd xmm3, xmm4
pshufd xmm4, xmm4, 0xff
movd edi, xmm1
movd edx, xmm4
xor edi, ecx
xor edx, ebp
movd ebp, xmm0
jmp 0x7cd2be
pshufd xmm0, xmm3, 0x55
mov dword [esp + 0x20], ebx
mov dword [esp + 0x40], esi
movd dword [esp + 0x2c], xmm3
movd ebx, xmm0
jmp 0x7cd4df
xor eax, eax
mov ecx, 1
sub ecx, eax
mov ebx, ecx
and ecx, 0xfffffff8
and ebx, 7
cmp eax, ecx
mov dword [esp + 0x14], ebx
jae 0x7cd410
nop dword [eax]
pshufd xmm5, xmm3, 0xee
movd xmm1, ebp
movd xmm4, esi
pshufd xmm0, xmm3, 0xff
movapd xmm6, xmm3
add eax, 8
pxor xmm5, xmm2
punpcklqdq xmm4, xmm1
movapd xmm1, xmm3
shufps xmm1, xmm4, 0x24
shufps xmm6, xmm5, 0xc7
punpckldq xmm5, xmm0
movd xmm4, edi
movd xmm0, edx
punpckldq xmm4, xmm0
movapd xmm0, xmm3
punpcklqdq xmm4, xmm5
shufps xmm0, xmm6, 0x24
movdqa xmm5, xmm3
paddq xmm4, xmm1
movdqa xmm1, xmm3
psrlq xmm5, 0x30
psllq xmm0, 0x10
psllq xmm3, 0xd
psrlq xmm1, 0x33
shufpd xmm3, xmm0, 2
movsd xmm5, xmm1
orpd xmm3, xmm5
xorpd xmm3, xmm4
pshufd xmm4, xmm4, 0x1e
movapd xmm0, xmm3
movapd xmm1, xmm3
movapd xmm5, xmm3
paddq xmm4, xmm3
psllq xmm3, 0x15
psllq xmm5, 0x11
psrlq xmm0, 0x2f
psrlq xmm1, 0x2b
movd esi, xmm4
movsd xmm3, xmm5
movsd xmm1, xmm0
pshufd xmm5, xmm4, 0xff
orpd xmm3, xmm1
pshufd xmm1, xmm4, 0x55
movd edx, xmm5
movd ebp, xmm1
pshufd xmm1, xmm4, 0xee
xorpd xmm3, xmm4
movd edi, xmm1
xor edi, 0xff
cmp eax, ecx
jb 0x7cd2e0
xor ebx, ebx
cmp dword [esp + 0x14], 4
pshufd xmm0, xmm3, 0x55
mov ecx, 0
mov eax, 0xff
mov dword [esp + 0x10], 0
movd dword [esp + 0x2c], xmm3
movd dword [esp + 4], xmm0
pshufd xmm0, xmm3, 0xff
movd dword [esp + 8], xmm0
pshufd xmm0, xmm3, 0xee
movd dword [esp + 0x20], xmm0
cmovae ecx, eax
setae bl
mov eax, ecx
shl ebx, 2
jmp 0x7cd443
pshufd xmm0, xmm3, 0x55
pshufd xmm4, xmm3, 0xff
pshufd xmm1, xmm3, 0xee
xor eax, eax
movd dword [esp + 0x2c], xmm3
mov dword [esp + 0x10], 0
xor ebx, ebx
movd dword [esp + 4], xmm0
movd dword [esp + 8], xmm4
movd dword [esp + 0x20], xmm1
mov ecx, ebx
mov dword [esp + 0xc], ebp
or ecx, 1
cmp ecx, dword [esp + 0x14]
jae 0x7cd4a0
mov dword [esp], eax
lea ecx, [ebx*8]
xor ebp, ebp
mov eax, 0xff
shld ebp, eax, cl
shl eax, cl
test cl, 0x20
mov ecx, 0
cmovne ebp, eax
cmovne eax, ecx
mov ecx, dword [esp + 0x10]
or ebx, 2
or dword [esp], eax
mov eax, dword [esp]
or ecx, ebp
cmp ebx, dword [esp + 0x14]
mov dword [esp + 0x40], esi
jb 0x7cd4ae
jmp 0x7cd4db
mov ecx, dword [esp + 0x10]
cmp ebx, dword [esp + 0x14]
mov dword [esp + 0x40], esi
jae 0x7cd4db
shl ebx, 3
mov dword [esp], eax
mov esi, ecx
xor eax, eax
mov ebp, 0xff
mov ecx, ebx
shld eax, ebp, cl
shl ebp, cl
test bl, 0x20
mov ecx, esi
mov esi, 0
cmovne eax, ebp
cmovne ebp, esi
or ecx, eax
mov eax, dword [esp]
or eax, ebp
mov ebx, dword [esp + 4]
mov esi, dword [esp + 0x18]
mov ebp, dword [esp + 8]
mov dword [esp], eax
shl esi, 0x18
or esi, ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x18], esi
xor ebp, esi
mov esi, dword [esp + 0x20]
xor esi, eax
add edi, ecx
mov eax, ecx
adc edx, ebx
shld eax, ebx, 0xd
shld ebx, ecx, 0xd
mov ecx, esi
xor ebx, edx
xor eax, edi
add dword [esp + 0xc], esi
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x40]
adc ebx, ebp
shrd esi, ebp, 0x10
shld ecx, ebp, 0x10
mov ebp, dword [esp + 0xc]
xor esi, ebx
xor ecx, ebp
add edx, ecx
mov dword [esp + 8], ecx
adc edi, esi
shld dword [esp + 8], esi, 0x15
shrd ecx, esi, 0xb
add ebp, eax
mov esi, dword [esp + 4]
mov dword [esp + 0xc], ebp
movd xmm7, dword [esp + 8]
mov ebp, eax
movd xmm6, ecx
mov ecx, dword [esp]
movd xmm4, dword [esp + 0xc]
adc ebx, esi
shld ebp, esi, 0x11
shrd eax, esi, 0xf
movd xmm0, eax
movd xmm1, ebp
mov eax, dword [esp + 0x18]
movd xmm3, ebx
punpckldq xmm7, xmm6
xor ebx, 0xff
xor ecx, edx
mov ebp, dword [esp + 0x30]
punpckldq xmm1, xmm0
movdqa xmm0, xmm4
movd xmm5, ebx
mov ebx, dword [esp + 0x58]
punpcklqdq xmm7, xmm1
punpckldq xmm0, xmm3
movd xmm1, edi
movd xmm3, edx
punpcklqdq xmm4, xmm5
punpckldq xmm3, xmm1
movd xmm1, ecx
punpcklqdq xmm3, xmm0
xor eax, edi
movd xmm0, eax
pxor xmm3, xmm7
punpcklqdq xmm0, xmm1
movdqa xmm1, xmm3
shufps xmm4, xmm3, 0xe2
shufps xmm1, xmm0, 0x24
paddq xmm4, xmm1
movdqa xmm1, xmm3
pshufd xmm0, xmm4, 0xff
psrlq xmm1, 0x33
movdqa xmm5, xmm4
movd eax, xmm0
movdqa xmm0, xmm3
psrlq xmm0, 0x30
movd xmm6, eax
movsd xmm1, xmm0
movdqa xmm0, xmm3
psllq xmm3, 0xd
shufps xmm5, xmm6, 0x4e
psllq xmm0, 0x10
shufps xmm5, xmm4, 0x42
movsd xmm3, xmm0
orpd xmm3, xmm1
xorpd xmm3, xmm4
movapd xmm0, xmm3
movapd xmm1, xmm3
paddq xmm5, xmm3
psrlq xmm0, 0x2b
psrlq xmm1, 0x2f
movdqa xmm4, xmm5
movsd xmm1, xmm0
movdqa xmm0, xmm3
psllq xmm3, 0x11
psllq xmm0, 0x15
movsd xmm3, xmm0
pshufd xmm0, xmm5, 0xff
movd eax, xmm0
orpd xmm3, xmm1
movd xmm0, eax
xorpd xmm3, xmm5
shufps xmm4, xmm0, 0x4e
movapd xmm1, xmm3
shufps xmm4, xmm5, 0x42
psrlq xmm1, 0x33
paddq xmm4, xmm3
pshufd xmm0, xmm4, 0xff
movdqa xmm5, xmm4
movd eax, xmm0
movdqa xmm0, xmm3
psrlq xmm0, 0x30
movd xmm6, eax
movsd xmm1, xmm0
movdqa xmm0, xmm3
psllq xmm3, 0xd
shufps xmm5, xmm6, 0x4e
psllq xmm0, 0x10
shufps xmm5, xmm4, 0x42
movsd xmm3, xmm0
orpd xmm3, xmm1
xorpd xmm3, xmm4
movapd xmm0, xmm3
movapd xmm1, xmm3
paddq xmm5, xmm3
psrlq xmm0, 0x2b
psrlq xmm1, 0x2f
movdqa xmm4, xmm5
movsd xmm1, xmm0
movdqa xmm0, xmm3
psllq xmm3, 0x11
psllq xmm0, 0x15
movsd xmm3, xmm0
pshufd xmm0, xmm5, 0xff
orpd xmm3, xmm1
movd eax, xmm0
xorpd xmm3, xmm5
movd xmm0, eax
shufps xmm4, xmm0, 0x4e
movapd xmm0, xmm3
movapd xmm1, xmm3
psrlq xmm0, 0x30
psrlq xmm1, 0x33
shufps xmm4, xmm5, 0x42
movsd xmm1, xmm0
movapd xmm0, xmm3
paddq xmm4, xmm3
psllq xmm3, 0xd
psllq xmm0, 0x10
movsd xmm3, xmm0
orpd xmm3, xmm1
xorpd xmm3, xmm4
movapd xmm0, xmm3
movapd xmm1, xmm3
movapd xmm5, xmm3
psrlq xmm0, 0x2b
psrlq xmm1, 0x2f
psllq xmm5, 0x11
movsd xmm1, xmm0
movapd xmm0, xmm3
psllq xmm0, 0x15
movsd xmm5, xmm0
orpd xmm5, xmm1
movapd xmm0, xmm5
shufpd xmm0, xmm4, 1
xorpd xmm5, xmm0
paddq xmm0, xmm3
pshufd xmm1, xmm0, 0xee
pshufd xmm0, xmm0, 0xff
movd eax, xmm5
movd edx, xmm0
movd ecx, xmm1
xor eax, edx
xor eax, ecx
mov ecx, ebp
and ecx, eax
movdqu xmm0, xmmword [ebx + ecx]
mov esi, ecx
pmovmskb edx, xmm0
test edx, edx
jne 0x7cd7d4
mov edi, 0x10
mov esi, ecx
nop word cs:[eax + eax]
nop dword [eax]
add esi, edi
add edi, 0x10
and esi, ebp
movdqu xmm0, xmmword [ebx + esi]
pmovmskb edx, xmm0
test edx, edx
je 0x7cd7c0
tzcnt edx, edx
add edx, esi
and edx, ebp
cmp byte [ebx + edx], 0
js 0x7cd7ee
movdqa xmm0, xmmword [ebx]
pmovmskb edx, xmm0
tzcnt edx, edx
mov esi, dword [esp + 0x28]
mov edi, edx
sub edi, ecx
sub esi, ecx
xor edi, esi
and edi, ebp
cmp edi, 0x10
jb 0x7cced0
mov edi, ebx
movzx ebx, byte [ebx + edx]
mov ecx, edx
lea esi, [edx - 0x10]
shr eax, 0x19
and esi, ebp
not ecx
mov byte [edi + edx], al
mov byte [esi + edi + 0x10], al
cmp bl, 0xff
je 0x7cd850
mov eax, dword [esp + 0x34]
movsd xmm1, qword [edi + ecx*8]
mov ebx, edi
movq xmm0, qword [edi + eax*8]
movsd qword [edi + eax*8], xmm1
movq qword [edi + ecx*8], xmm0
jmp 0x7ccf10
mov edx, dword [esp + 0x28]
mov ebx, edi
lea eax, [edx - 0x10]
mov byte [edi + edx], 0xff
and eax, ebp
mov byte [eax + edi + 0x10], 0xff
mov eax, dword [esp + 0x34]
movq xmm0, qword [edi + eax*8]
movq qword [edi + ecx*8], xmm0
jmp 0x7ccee3
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x24]
sub edx, ecx
mov dword [eax + 8], edx
jmp 0x7cda58
mov esi, 0x10
mov eax, edi
mov edx, edi
lea ecx, [edi - 1]
shr eax, 3
and edx, 0xfffffff8
mov dword [esp], ecx
sub edx, eax
cmp edi, 9
cmovb edx, ecx
add esi, ebx
mov dword [esp + 0x20], edx
push ebp
push 0xff
mov dword [esp + 0x1c], esi
push esi
call fcn.007bdf30
add esp, 0xc
mov ecx, dword [esp + 0x1c]
test ecx, ecx
je 0x7cda05
mov eax, dword [esp + 0x24]
xor ebp, ebp
mov ebx, dword [eax]
movdqa xmm0, xmmword [ebx]
mov dword [esp + 0xc], ebx
pmovmskb edi, xmm0
not edi
jmp 0x7cd930
lea ecx, [edx - 0x10]
mov esi, eax
mov eax, dword [esp + 8]
and ecx, dword [esp]
shr eax, 0x19
mov byte [esi + edx], al
mov byte [ecx + esi + 0x10], al
lea eax, [edi - 1]
mov ecx, dword [esp + 0xc]
not edx
and eax, edi
mov edi, dword [esp + 4]
not edi
movq xmm0, qword [ecx + edi*8]
mov ecx, dword [esp + 0x18]
mov edi, eax
dec ecx
movq qword [esi + edx*8], xmm0
test ecx, ecx
je 0x7cd9fb
test di, di
mov dword [esp + 0x18], ecx
jne 0x7cd959
nop dword [eax]
movdqa xmm0, xmmword [ebx + 0x10]
add ebx, 0x10
add ebp, 0x10
pmovmskb edi, xmm0
cmp edi, 0xffff
je 0x7cd940
not edi
mov esi, dword [esp + 0xc]
tzcnt eax, edi
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x98]
add eax, ebp
mov dword [esp + 4], eax
lea eax, [eax*8]
sub esi, eax
push dword [esi - 4]
push dword [esi - 8]
push dword [esp + 0xa8]
push dword [esp + 0xa8]
call fcn.005fcdb0
add esp, 0x10
mov esi, dword [esp]
mov dword [esp + 8], eax
mov ecx, esi
and ecx, eax
mov eax, dword [esp + 0x14]
movdqu xmm0, xmmword [eax + ecx]
pmovmskb edx, xmm0
test edx, edx
jne 0x7cd9d8
mov esi, 0x10
nop dword [eax + eax]
add ecx, esi
add esi, 0x10
and ecx, dword [esp]
movdqu xmm0, xmmword [eax + ecx]
pmovmskb edx, xmm0
test edx, edx
je 0x7cd9c0
mov esi, dword [esp]
tzcnt edx, edx
add edx, ecx
and edx, esi
cmp byte [eax + edx], 0
js 0x7cd8f0
movdqa xmm0, xmmword [eax]
pmovmskb ecx, xmm0
tzcnt edx, ecx
jmp 0x7cd8f0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
jmp 0x7cda0f
mov eax, dword [esp + 0x24]
mov edx, dword [eax]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x20]
sub edx, ecx
mov ecx, dword [esp + 0x14]
mov dword [eax], ecx
mov ecx, dword [esp]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x30]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x10]
test ecx, ecx
je 0x7cda58
lea eax, [eax*8 + 0xf]
and eax, 0xfffffff0
add ecx, eax
cmp ecx, 0xffffffef
je 0x7cda58
mov ecx, dword [esp + 0xc]
sub ecx, eax
push dword [ecx - 4]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, 0x80000001
add esp, 0x80
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.0049c0e0
mov ecx, esi
call fcn.0049c0d0
int3