Function at 0x10064c00
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x64
push ebx
push esi
push edi
push 0x40
call fcn.101c8213
mov dword [ebp - 0x28], eax
add esp, 4
mov eax, dword [ebp + 8]
xor edi, edi
mov edx, 0x103c92d8
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x20], edx
mov cl, byte [eax + 0x3d]
lea esi, [eax + 0x3b]
mov bh, byte [eax + 0x3f]
mov ch, byte [eax + 0x3e]
mov byte [ebp - 0x10], cl
mov cl, byte [eax + 0x3c]
mov byte [ebp - 5], bh
mov byte [ebp - 0x12], ch
mov byte [ebp - 0x11], cl
mov dword [ebp - 0x64], esi
xor cl, cl
mov byte [ebp - 7], ch
mov byte [ebp - 0xc], cl
xor bl, bl
mov byte [ebp - 0xf], cl
xor al, al
mov byte [ebp - 9], cl
mov byte [ebp - 1], cl
mov byte [ebp - 2], cl
mov byte [ebp - 3], cl
mov byte [ebp - 0xd], cl
mov byte [ebp - 0xb], cl
mov cl, byte [ebp - 0x10]
mov byte [ebp - 8], cl
mov cl, byte [ebp - 0x11]
mov byte [ebp - 0xa], cl
mov ecx, esi
mov byte [ebp - 0xe], bh
mov esi, 4
mov bh, byte [ebp - 0xc]
mov byte [ebp - 6], 0
movzx eax, al
mov al, byte [eax + edx]
xor al, byte [ecx]
mov byte [ebp - 4], al
movzx eax, byte [ebp - 0xb]
mov al, byte [eax + edx]
xor al, byte [ecx - 1]
mov byte [ebp - 0xb], al
movzx eax, byte [ebp - 0xd]
mov al, byte [eax + edx]
xor al, byte [ecx - 2]
mov byte [ebp - 0xd], al
movzx eax, byte [ebp - 3]
mov al, byte [eax + edx]
xor al, byte [ecx - 3]
mov byte [ebp - 3], al
movzx eax, byte [ebp - 2]
mov al, byte [eax + edx]
xor al, byte [ecx - 4]
mov byte [ebp - 2], al
movzx eax, byte [ebp - 1]
mov al, byte [eax + edx]
xor al, byte [ecx - 5]
mov byte [ebp - 1], al
movzx eax, byte [ebp - 9]
mov al, byte [eax + edx]
xor al, byte [ecx - 6]
mov byte [ebp - 9], al
movzx eax, byte [ebp - 0xf]
mov al, byte [eax + edx]
xor al, byte [ecx - 7]
mov byte [ebp - 0xf], al
movzx eax, bh
mov bh, byte [eax + edx]
movzx eax, bl
xor bh, byte [ecx - 8]
mov bl, byte [eax + edx]
movzx eax, byte [ebp - 6]
xor bl, byte [ecx - 9]
mov al, byte [eax + edx]
xor al, byte [ecx - 0xa]
mov byte [ebp - 6], al
movzx eax, byte [ebp - 0xe]
mov al, byte [eax + edx]
xor al, byte [ecx - 0xb]
mov byte [ebp - 0xe], al
movzx eax, byte [ebp - 7]
mov al, byte [eax + edx]
xor al, byte [ecx - 0xc]
mov byte [ebp - 7], al
movzx eax, byte [ebp - 8]
mov al, byte [eax + edx]
xor al, byte [ecx - 0xd]
mov byte [ebp - 8], al
movzx eax, byte [ebp - 0xa]
mov al, byte [eax + edx]
xor al, byte [ecx - 0xe]
sub ecx, 0xf
mov byte [ebp - 0xa], al
mov al, byte [ebp - 4]
dec esi
jne 0x10064c82
mov eax, 0xaaaaaaab
mov byte [ebp - 0xc], bh
mov bh, byte [ebp - 5]
mul edi
shr edx, 1
mov dword [ebp - 0x18], edx
cmp edx, 0xff
jge 0x10064ec3
movzx ecx, byte [ebp - 0xc]
mov edi, edx
movzx eax, byte [ebp - 1]
movzx esi, byte [ebp - 9]
mov dword [ebp - 0x40], ecx
movzx ecx, bl
movzx ebx, byte [ebp - 4]
mov dword [ebp - 0x48], ecx
movzx ecx, byte [ebp - 3]
mov dword [ebp - 0x58], esi
movzx esi, byte [ebp - 0xf]
mov dword [ebp - 0x60], eax
movzx eax, byte [ebp - 0xb]
sub ecx, eax
mov dword [ebp - 0x38], esi
movzx esi, byte [ebp - 0xd]
sub ebx, eax
shl edi, 8
sub esi, eax
mov dword [ebp - 0x50], ecx
add edi, 0x103c92d8
movzx ecx, byte [ebp - 2]
sub ecx, eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x5c], esi
mov dword [ebp - 0x2c], ecx
lea ecx, [eax + edi]
movzx eax, byte [ebx + ecx]
xor eax, dword [ebp - 0x60]
mov bh, byte [eax + edi]
movzx eax, byte [ecx]
xor eax, dword [ebp - 0x58]
xor bh, byte [ebp - 6]
mov al, byte [eax + edi]
xor al, byte [ebp - 0xe]
mov byte [ebp - 4], al
movzx eax, byte [esi + ecx]
xor eax, dword [ebp - 0x38]
mov al, byte [eax + edi]
xor al, byte [ebp - 7]
mov byte [ebp - 2], al
mov eax, dword [ebp - 0x50]
movzx eax, byte [eax + ecx]
xor eax, dword [ebp - 0x40]
mov al, byte [eax + edi]
xor al, byte [ebp - 8]
mov byte [ebp - 3], al
mov eax, dword [ebp - 0x2c]
movzx eax, byte [eax + ecx]
xor eax, dword [ebp - 0x48]
mov bl, byte [eax + edi]
mov eax, 0x66666667
xor bl, byte [ebp - 0xa]
imul edx
sar edx, 1
mov esi, edx
shr esi, 0x1f
add esi, edx
cmp esi, 0xff
jge 0x10064e96
movzx eax, byte [ebp - 2]
movzx edx, byte [ebp - 4]
mov dword [ebp - 0x30], eax
movzx eax, byte [ebp - 3]
mov dword [ebp - 0x34], eax
mov eax, esi
movzx edi, bh
shl eax, 8
mov dword [ebp - 0x3c], edi
add eax, 0x103c92d8
mov dword [ebp - 0x44], edx
movzx ecx, byte [edi + eax]
xor ecx, edx
movzx ecx, byte [ecx + eax]
xor ecx, dword [ebp - 0x30]
movzx ecx, byte [ecx + eax]
xor ecx, dword [ebp - 0x34]
mov dl, byte [ecx + eax]
mov ecx, esi
xor dl, bl
and ecx, 0x8000003f
jns 0x10064e78
dec ecx
or ecx, 0xffffffc0
inc ecx
mov edi, dword [ebp - 0x28]
add eax, 0x3300
add esi, 0x33
mov byte [ecx + edi], dl
mov edi, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x44]
cmp eax, 0x103d91d8
jl 0x10064e50
mov edi, dword [ebp - 0x24]
mov edx, dword [ebp - 0x18]
add edi, 0x5500
mov eax, dword [ebp - 0x4c]
add edx, 0x55
mov ebx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x5c]
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x24], edi
cmp edi, 0x103d91d8
jl 0x10064dc1
mov bh, byte [ebp - 5]
mov edi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x20]
add edi, 0xf
mov ch, byte [ebp - 0x12]
add edx, 0xf00
mov esi, dword [ebp - 0x64]
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x20], edx
cmp edx, 0x103cced8
jl 0x10064c44
mov edi, dword [ebp + 8]
xor bl, bl
xor dh, dh
mov byte [ebp - 1], bh
mov dl, bh
lea esi, [edi + 0x3e]
mov ecx, esi
cmp ecx, edi
jbe 0x10064f2d
lea esp, [esp]
movzx eax, bl
mov bl, byte [eax + 0x103cc2d8]
xor bl, byte [ecx]
movzx eax, dh
mov dh, byte [eax + 0x103cc2d8]
xor dh, byte [ecx - 1]
movzx eax, dl
mov dl, byte [eax + 0x103cc2d8]
xor dl, byte [ecx - 2]
sub ecx, 3
cmp ecx, edi
ja 0x10064f00
mov byte [ebp - 1], dl
movzx ecx, bl
mov ebx, dword [ebp - 0x28]
movzx edx, dh
movzx eax, byte [ecx + 0x103ca2d8]
xor eax, edx
movzx eax, byte [eax + 0x103ca2d8]
xor al, byte [ebp - 1]
mov byte [ebx + 0x10], al
movzx eax, byte [ecx + 0x103cf7d8]
xor eax, edx
movzx eax, byte [eax + 0x103cf7d8]
xor al, byte [ebp - 1]
mov byte [ebx + 0x21], al
movzx eax, byte [ecx + 0x103d4cd8]
xor eax, edx
movzx eax, byte [eax + 0x103d4cd8]
xor al, byte [ebp - 1]
mov byte [ebx + 0x32], al
mov al, byte [ebp - 5]
cmp esi, edi
jb 0x10064f90
nop
movzx eax, al
mov al, byte [eax + 0x103cd1d8]
xor al, byte [esi]
dec esi
cmp esi, edi
jae 0x10064f80
mov byte [ebx + 0x3f], al
movdqu xmm0, xmmword [ebx]
push ebx
movdqu xmmword [edi], xmm0
movdqu xmm0, xmmword [ebx + 0x10]
movdqu xmmword [edi + 0x10], xmm0
movdqu xmm0, xmmword [ebx + 0x20]
movdqu xmmword [edi + 0x20], xmm0
movdqu xmm0, xmmword [ebx + 0x30]
movdqu xmmword [edi + 0x30], xmm0
call fcn.101c78e4
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4