Function at 0x6ee664c0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
push ebx
push esi
mov esi, dword [ebp + 0x10]
push edi
movzx eax, byte [esi + 7]
cdq
mov ecx, eax
mov ebx, edx
movzx eax, byte [esi + 6]
cdq
shld ebx, ecx, 8
or ebx, edx
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + 5]
cdq
shld ebx, ecx, 8
or ebx, edx
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + 4]
cdq
shld ebx, ecx, 8
or ebx, edx
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + 3]
cdq
shld ebx, ecx, 8
or ebx, edx
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + 2]
cdq
shld ebx, ecx, 8
or ebx, edx
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + 1]
cdq
shld ebx, ecx, 8
or ebx, edx
shl ecx, 8
or ecx, eax
movzx eax, byte [esi]
cdq
shld ebx, ecx, 8
shl ecx, 8
or ebx, edx
or ecx, eax
movzx eax, byte [esi + 0xf]
cdq
mov edi, eax
mov eax, edx
shld eax, edi, 8
mov dword [ebp + 0x10], eax
movzx eax, byte [esi + 0xe]
cdq
shl edi, 8
or edi, eax
mov eax, dword [ebp + 0x10]
or eax, edx
shld eax, edi, 8
mov dword [ebp + 0x10], eax
movzx eax, byte [esi + 0xd]
cdq
shl edi, 8
or edi, eax
mov eax, dword [ebp + 0x10]
or eax, edx
shld eax, edi, 8
mov dword [ebp + 0x10], eax
movzx eax, byte [esi + 0xc]
cdq
shl edi, 8
or edi, eax
mov eax, dword [ebp + 0x10]
or eax, edx
shld eax, edi, 8
mov dword [ebp + 0x10], eax
shl edi, 8
movzx eax, byte [esi + 0xb]
cdq
or edi, eax
mov eax, dword [ebp + 0x10]
or eax, edx
shld eax, edi, 8
mov dword [ebp + 0x10], eax
movzx eax, byte [esi + 0xa]
cdq
shl edi, 8
or edi, eax
mov eax, dword [ebp + 0x10]
or eax, edx
shld eax, edi, 8
mov dword [ebp + 0x10], eax
movzx eax, byte [esi + 9]
cdq
shl edi, 8
or edi, eax
mov eax, dword [ebp + 0x10]
or eax, edx
shld eax, edi, 8
mov dword [ebp + 0x10], eax
movzx eax, byte [esi + 8]
mov esi, dword [ebp + 0x10]
cdq
shl edi, 8
or esi, edx
or edi, eax
mov edx, dword [ebp + 0xc]
mov eax, edi
xor edi, 0x6e646f6d
xor eax, 0x79746573
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x1c], eax
mov eax, esi
xor eax, 0x74656462
xor esi, 0x646f7261
mov dword [ebp - 0x10], eax
mov eax, ecx
xor eax, 0x6e657261
mov dword [ebp + 0x10], esi
mov dword [ebp - 8], eax
xor ecx, 0x70736575
mov eax, ebx
xor ebx, 0x736f6d65
xor eax, 0x6c796765
mov dword [ebp - 0x14], ebx
mov dword [ebp - 4], eax
mov eax, edx
and eax, 7
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 8]
mov edi, dword [ebp - 0x20]
mov dword [ebp - 0xc], eax
sub dword [ebp - 0xc], edi
add dword [ebp - 0xc], edx
mov edi, dword [ebp - 0x18]
cmp eax, dword [ebp - 0xc]
jae 0x6ee66853
movzx eax, byte [eax + 7]
cdq
mov ebx, eax
mov esi, edx
mov eax, dword [ebp + 8]
shld esi, ebx, 8
shl ebx, 8
movzx eax, byte [eax + 6]
cdq
or ebx, eax
or esi, edx
mov eax, dword [ebp + 8]
shld esi, ebx, 8
shl ebx, 8
movzx eax, byte [eax + 5]
cdq
or ebx, eax
or esi, edx
mov eax, dword [ebp + 8]
shld esi, ebx, 8
shl ebx, 8
movzx eax, byte [eax + 4]
cdq
or ebx, eax
or esi, edx
mov eax, dword [ebp + 8]
shld esi, ebx, 8
shl ebx, 8
movzx eax, byte [eax + 3]
cdq
or ebx, eax
or esi, edx
mov eax, dword [ebp + 8]
shld esi, ebx, 8
shl ebx, 8
movzx eax, byte [eax + 2]
cdq
or ebx, eax
or esi, edx
mov eax, dword [ebp + 8]
shld esi, ebx, 8
shl ebx, 8
movzx eax, byte [eax + 1]
cdq
or ebx, eax
or esi, edx
mov eax, dword [ebp + 8]
shld esi, ebx, 8
shl ebx, 8
movzx eax, byte [eax]
cdq
or ebx, eax
or esi, edx
xor dword [ebp - 0x10], esi
xor dword [ebp - 0x1c], ebx
add ecx, edi
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x28], esi
mov esi, dword [ebp + 0x10]
mov eax, esi
mov dword [ebp - 0x24], ebx
mov ebx, dword [ebp - 0x14]
adc ebx, esi
shr eax, 0x13
shld esi, edx, 0xd
xor edi, edi
shl edx, 0xd
or edi, esi
or eax, edx
xor edi, ebx
mov edx, dword [ebp - 0x10]
xor eax, ecx
mov dword [ebp - 0x18], eax
mov esi, edx
mov eax, dword [ebp - 0x1c]
add dword [ebp - 8], eax
adc dword [ebp - 4], edx
xor edx, edx
shld dword [ebp - 0x10], eax, 0x10
shr esi, 0x10
shl eax, 0x10
or edx, dword [ebp - 0x10]
or esi, eax
xor edx, dword [ebp - 4]
xor eax, eax
xor esi, dword [ebp - 8]
or ecx, eax
add ebx, esi
mov dword [ebp - 0x10], 0
mov eax, edx
mov dword [ebp + 0x10], ebx
adc ecx, edx
shr eax, 0xb
shld edx, esi, 0x15
xor ebx, ebx
or ebx, edx
shl esi, 0x15
or eax, esi
xor ebx, ecx
xor eax, dword [ebp + 0x10]
mov edx, edi
mov esi, dword [ebp - 0x18]
add dword [ebp - 8], esi
mov dword [ebp - 0x1c], eax
adc dword [ebp - 4], edi
xor eax, eax
shld edi, esi, 0x11
shr edx, 0xf
or eax, edi
shl esi, 0x11
xor eax, dword [ebp - 4]
or edx, esi
xor edx, dword [ebp - 8]
mov edi, eax
add dword [ebp + 0x10], edx
adc ecx, eax
shr edi, 0x13
shld eax, edx, 0xd
xor esi, esi
shl edx, 0xd
or esi, eax
or edi, edx
xor eax, eax
xor edi, dword [ebp + 0x10]
xor esi, ecx
or eax, dword [ebp - 8]
mov edx, ebx
mov dword [ebp - 0x18], edi
mov edi, dword [ebp - 0x1c]
mov dword [ebp - 0x14], esi
mov esi, dword [ebp - 4]
add esi, edi
adc eax, ebx
shr edx, 0x10
shld ebx, edi, 0x10
mov dword [ebp - 8], eax
xor eax, eax
shl edi, 0x10
or eax, ebx
xor eax, dword [ebp - 8]
or edx, edi
xor edx, esi
xor ebx, ebx
or ebx, dword [ebp + 0x10]
mov edi, eax
add ecx, edx
adc ebx, eax
shr edi, 0xb
shld eax, edx, 0x15
shl edx, 0x15
or edi, edx
mov edx, dword [ebp - 0x10]
or edx, eax
xor edi, ecx
mov eax, dword [ebp - 0x14]
xor edx, ebx
mov dword [ebp - 0x10], edx
mov edx, dword [ebp - 0x18]
add esi, edx
mov dword [ebp - 0x1c], edi
mov edi, eax
adc dword [ebp - 8], eax
xor ebx, dword [ebp - 0x28]
xor ecx, dword [ebp - 0x24]
shld eax, edx, 0x11
shr edi, 0xf
shl edx, 0x11
or edi, edx
mov dword [ebp + 0x10], 0
mov edx, dword [ebp + 0x10]
xor edi, esi
or edx, eax
mov dword [ebp - 0x18], edi
mov eax, dword [ebp - 8]
xor edx, eax
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
mov dword [ebp + 0x10], edx
add eax, 8
xor edx, edx
mov dword [ebp - 0x14], ebx
or edx, esi
mov dword [ebp + 8], eax
mov dword [ebp - 4], edx
cmp eax, dword [ebp - 0xc]
jb 0x6ee66656
mov edx, dword [ebp + 0xc]
mov ebx, dword [ebp - 0x20]
shl edx, 0x18
dec ebx
mov dword [ebp + 0xc], edx
xor edx, edx
cmp ebx, 6
mov dword [ebp - 0xc], edx
mov ebx, dword [ebp - 0x14]
ja case.default.0x6ee66872
mov esi, dword [ebp - 0x20]
dec esi
jmp dword [esi*4 + 0x6ee66c9c]
movzx eax, byte [eax + 6]
cdq
shl eax, 0x10
or dword [ebp + 0xc], eax
mov eax, dword [ebp + 8]
movzx eax, byte [eax + 5]
cdq
shl eax, 8
or dword [ebp + 0xc], eax
mov eax, dword [ebp + 8]
movzx eax, byte [eax + 4]
cdq
or dword [ebp + 0xc], eax
mov eax, dword [ebp + 8]
movzx eax, byte [eax + 3]
cdq
shld edx, eax, 0x18
shl eax, 0x18
or dword [ebp - 0xc], eax
or dword [ebp + 0xc], edx
mov eax, dword [ebp + 8]
movzx eax, byte [eax + 2]
cdq
shld edx, eax, 0x10
shl eax, 0x10
or dword [ebp - 0xc], eax
or dword [ebp + 0xc], edx
mov eax, dword [ebp + 8]
movzx eax, byte [eax + 1]
cdq
shld edx, eax, 8
shl eax, 8
or dword [ebp - 0xc], eax
or dword [ebp + 0xc], edx
mov eax, dword [ebp + 8]
movzx eax, byte [eax]
cdq
or dword [ebp - 0xc], eax
mov eax, dword [ebp + 0xc]
or eax, edx
mov edx, dword [ebp - 0xc]
mov dword [ebp + 0xc], eax
jmp 0x6ee668f6
mov eax, dword [ebp + 0xc]
xor dword [ebp - 0x1c], edx
mov edx, dword [ebp - 0x10]
mov edi, dword [ebp - 0x18]
xor edx, eax
add ecx, edi
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x10], edx
adc ebx, dword [ebp + 0x10]
xor esi, esi
shld eax, edi, 0xd
mov dword [ebp - 0x14], ebx
mov ebx, dword [ebp + 0x10]
or esi, eax
xor esi, dword [ebp - 0x14]
shl edi, 0xd
shr ebx, 0x13
or ebx, edi
mov edi, dword [ebp - 0x1c]
xor ebx, ecx
add dword [ebp - 8], edi
adc dword [ebp - 4], edx
xor eax, eax
shld dword [ebp - 0x10], edi, 0x10
or eax, dword [ebp - 0x10]
xor eax, dword [ebp - 4]
shr edx, 0x10
shl edi, 0x10
or edx, edi
xor edi, edi
xor edx, dword [ebp - 8]
or edi, ecx
add dword [ebp - 0x14], edx
mov ecx, eax
adc edi, eax
shr ecx, 0xb
shld eax, edx, 0x15
mov dword [ebp + 0x10], edi
xor edi, edi
or edi, eax
shl edx, 0x15
or ecx, edx
mov edx, dword [ebp + 0x10]
xor ecx, dword [ebp - 0x14]
xor edi, edx
add dword [ebp - 8], ebx
mov dword [ebp + 8], ecx
mov ecx, esi
adc dword [ebp - 4], esi
xor eax, eax
shld esi, ebx, 0x11
shr ecx, 0xf
or eax, esi
shl ebx, 0x11
xor eax, dword [ebp - 4]
or ecx, ebx
xor ecx, dword [ebp - 8]
mov ebx, eax
add dword [ebp - 0x14], ecx
adc edx, eax
xor esi, esi
shld eax, ecx, 0xd
shr ebx, 0x13
shl ecx, 0xd
or esi, eax
or ebx, ecx
mov dword [ebp + 0x10], edx
xor ebx, dword [ebp - 0x14]
xor eax, eax
or eax, dword [ebp - 8]
xor esi, edx
mov edx, dword [ebp + 8]
mov ecx, edi
add dword [ebp - 4], edx
adc eax, edi
shr ecx, 0x10
shld edi, edx, 0x10
mov dword [ebp + 8], eax
xor eax, eax
shl edx, 0x10
or ecx, edx
or eax, edi
xor eax, dword [ebp + 8]
xor edx, edx
xor ecx, dword [ebp - 4]
mov edi, eax
or edx, dword [ebp - 0x14]
add dword [ebp + 0x10], ecx
adc edx, eax
shr edi, 0xb
shld eax, ecx, 0x15
mov dword [ebp - 0x1c], edi
xor edi, edi
or edi, eax
shl ecx, 0x15
or dword [ebp - 0x1c], ecx
xor edi, edx
mov eax, dword [ebp + 0x10]
mov ecx, esi
xor dword [ebp - 0x1c], eax
add dword [ebp - 4], ebx
adc dword [ebp + 8], esi
xor eax, eax
shld esi, ebx, 0x11
shr ecx, 0xf
or eax, esi
shl ebx, 0x11
xor eax, dword [ebp + 8]
or ecx, ebx
xor ecx, dword [ebp - 4]
mov ebx, dword [ebp - 0xc]
xor ebx, dword [ebp + 0x10]
mov esi, dword [ebp + 0xc]
xor esi, edx
add ebx, ecx
mov edx, eax
mov dword [ebp - 0xc], ebx
adc esi, eax
shr edx, 0x13
shld eax, ecx, 0xd
mov dword [ebp + 0xc], esi
xor ebx, ebx
shl ecx, 0xd
or ebx, eax
mov eax, dword [ebp + 8]
or edx, ecx
xor edx, dword [ebp - 0xc]
xor ebx, esi
xor esi, esi
mov dword [ebp - 0x28], edx
or esi, dword [ebp - 4]
xor eax, 0xff
mov edx, dword [ebp - 0x1c]
xor esi, 0
add eax, edx
mov ecx, edi
mov dword [ebp + 8], eax
adc esi, edi
shr ecx, 0x10
shld edi, edx, 0x10
xor eax, eax
mov dword [ebp + 0x10], esi
shl edx, 0x10
or eax, edi
or ecx, edx
xor eax, esi
xor ecx, dword [ebp + 8]
xor edi, edi
or edi, dword [ebp - 0xc]
mov esi, eax
add dword [ebp + 0xc], ecx
adc edi, eax
xor edx, edx
shld eax, ecx, 0x15
shr esi, 0xb
shl ecx, 0x15
or edx, eax
or esi, ecx
mov dword [ebp - 0x18], edi
xor esi, dword [ebp + 0xc]
xor edx, edi
mov edi, dword [ebp - 0x28]
add dword [ebp + 8], edi
adc dword [ebp + 0x10], ebx
mov ecx, ebx
shld ebx, edi, 0x11
shr ecx, 0xf
xor eax, eax
or eax, ebx
shl edi, 0x11
xor eax, dword [ebp + 0x10]
or ecx, edi
xor ecx, dword [ebp + 8]
mov ebx, eax
add dword [ebp + 0xc], ecx
adc dword [ebp - 0x18], eax
xor edi, edi
shld eax, ecx, 0xd
shr ebx, 0x13
or edi, eax
shl ecx, 0xd
xor edi, dword [ebp - 0x18]
or ebx, ecx
xor ebx, dword [ebp + 0xc]
xor eax, eax
or eax, dword [ebp + 8]
mov ecx, edx
add dword [ebp + 0x10], esi
adc eax, edx
shr ecx, 0x10
shld edx, esi, 0x10
mov dword [ebp + 8], eax
xor eax, eax
or eax, edx
shl esi, 0x10
xor eax, dword [ebp + 8]
or ecx, esi
xor ecx, dword [ebp + 0x10]
xor edx, edx
or edx, dword [ebp + 0xc]
mov esi, eax
add dword [ebp - 0x18], ecx
adc edx, eax
shr esi, 0xb
shld eax, ecx, 0x15
mov dword [ebp - 0x1c], edx
xor edx, edx
shl ecx, 0x15
or edx, eax
xor edx, dword [ebp - 0x1c]
or esi, ecx
xor esi, dword [ebp - 0x18]
mov ecx, edi
add dword [ebp + 0x10], ebx
adc dword [ebp + 8], edi
xor eax, eax
shld edi, ebx, 0x11
shr ecx, 0xf
shl ebx, 0x11
or eax, edi
xor eax, dword [ebp + 8]
or ecx, ebx
xor ecx, dword [ebp + 0x10]
mov ebx, eax
add dword [ebp - 0x18], ecx
adc dword [ebp - 0x1c], eax
xor edi, edi
shld eax, ecx, 0xd
shr ebx, 0x13
shl ecx, 0xd
or edi, eax
or ebx, ecx
xor eax, eax
xor ebx, dword [ebp - 0x18]
mov ecx, edx
or eax, dword [ebp + 0x10]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x1c]
xor edi, ebx
add dword [ebp + 8], esi
adc eax, edx
shr ecx, 0x10
mov dword [ebp + 0xc], eax
xor eax, eax
shld edx, esi, 0x10
or eax, edx
shl esi, 0x10
xor eax, dword [ebp + 0xc]
or ecx, esi
xor ecx, dword [ebp + 8]
xor edx, edx
or edx, dword [ebp - 0x18]
mov esi, eax
add ebx, ecx
mov dword [ebp - 0x1c], ebx
adc edx, eax
xor ebx, ebx
shld eax, ecx, 0x15
shr esi, 0xb
or ebx, eax
shl ecx, 0x15
mov eax, dword [ebp - 0x28]
xor ebx, edx
or esi, ecx
mov dword [ebp - 0x18], ebx
xor esi, dword [ebp - 0x1c]
mov ebx, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
add ebx, eax
mov dword [ebp - 0x24], edx
mov edx, edi
adc ecx, edi
mov dword [ebp + 0x10], esi
shld edi, eax, 0x11
shr edx, 0xf
xor esi, esi
shl eax, 0x11
or esi, edi
or edx, eax
mov dword [ebp + 8], ebx
xor edx, ebx
mov dword [ebp + 0xc], ecx
xor esi, ecx
mov eax, edx
mov ecx, esi
mov ebx, esi
shld ecx, eax, 0xd
shr ebx, 0x13
xor edi, edi
shl eax, 0xd
or edi, ecx
or ebx, eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x28]
add ebx, edx
mov edx, dword [ebp - 0x18]
adc eax, esi
xor esi, esi
or esi, dword [ebp + 8]
xor edi, eax
mov eax, dword [ebp + 0xc]
xor ecx, ebx
add eax, dword [ebp + 0x10]
mov dword [ebp + 0xc], eax
mov eax, edx
adc esi, edx
mov dword [ebp - 0x20], edi
mov edi, dword [ebp + 0x10]
xor ebx, ebx
shld edx, edi, 0x10
shr eax, 0x10
shl edi, 0x10
or ebx, edx
mov edx, dword [ebp + 0xc]
or eax, edi
mov edi, dword [ebp - 0x20]
xor eax, edx
xor ebx, esi
mov dword [ebp + 8], eax
add edx, ecx
mov dword [ebp + 0xc], edx
adc esi, edi
mov dword [ebp + 0x10], esi
mov eax, dword [ebp - 0x20]
xor edx, edx
shld eax, ecx, 0x11
shr edi, 0xf
or edx, eax
shl ecx, 0x11
or edi, ecx
mov eax, esi
xor edi, eax
mov esi, ebx
mov eax, dword [ebp + 8]
xor ecx, ecx
or ecx, dword [ebp + 0xc]
shld ebx, eax, 0x15
shr esi, 0xb
xor edx, ecx
shl eax, 0x15
xor ecx, ecx
or eax, esi
or ecx, ebx
xor eax, edi
xor edx, ecx
xor eax, dword [ebp + 0xc]
xor edx, dword [ebp + 0x10]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc