Function at 0x10001d20
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x34
mov eax, dword [0x100bc0b0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, ecx
xor edx, edx
mov ecx, dword [ebp + 8]
push esi
push edi
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x34], ecx
movzx eax, byte [ecx + edx]
mov byte [ebp + edx*4 - 0x14], al
movzx eax, byte [ecx + edx + 4]
mov byte [ebp + edx*4 - 0x13], al
movzx eax, byte [ecx + edx + 8]
mov byte [ebp + edx*4 - 0x12], al
movzx eax, byte [ecx + edx + 0xc]
mov byte [ebp + edx*4 - 0x11], al
inc edx
cmp edx, 4
jl 0x10001d40
lea ecx, [ebp - 0x10]
mov esi, 4
lea edx, [ebx + 0x208]
nop word [eax + eax]
movzx eax, byte [edx - 4]
lea ecx, [ecx + 1]
xor byte [ecx - 5], al
lea edx, [edx + 1]
movzx eax, byte [edx - 1]
xor byte [ecx - 1], al
movzx eax, byte [edx + 3]
xor byte [ecx + 3], al
movzx eax, byte [edx + 7]
xor byte [ecx + 7], al
sub esi, 1
jne 0x10001d80
lea eax, [ebx + 0x218]
mov dword [ebp - 0x1c], 1
lea edx, [ebp - 0x14]
mov dword [ebp - 0x2c], eax
lea esi, [ebp - 0x12]
lea edi, [ebp - 0x11]
xor ecx, ecx
movzx eax, byte [edx + ecx*4]
movzx eax, byte [eax + ebx + 4]
mov byte [edx + ecx*4], al
movzx eax, byte [ebp + ecx*4 - 0x13]
movzx eax, byte [eax + ebx + 4]
mov byte [ebp + ecx*4 - 0x13], al
movzx eax, byte [esi + ecx*4]
movzx eax, byte [eax + ebx + 4]
mov byte [esi + ecx*4], al
movzx eax, byte [edi + ecx*4]
movzx eax, byte [eax + ebx + 4]
mov byte [edi + ecx*4], al
inc ecx
cmp ecx, 4
jl 0x10001dc2
mov esi, 4
mov edi, 3
lea eax, [edi - 2]
and eax, 0x80000003
jns 0x10001e13
dec eax
or eax, 0xfffffffc
inc eax
add eax, esi
mov bl, byte [ebp + eax - 0x14]
lea eax, [edi - 1]
and eax, 0x80000003
jns 0x10001e28
dec eax
or eax, 0xfffffffc
inc eax
add eax, esi
mov dl, byte [ebp + eax - 0x14]
mov eax, edi
and eax, 0x80000003
jns 0x10001e3c
dec eax
or eax, 0xfffffffc
inc eax
add eax, esi
inc edi
mov cl, byte [ebp + eax - 0x14]
mov eax, edi
and eax, 0x80000003
jns 0x10001e51
dec eax
or eax, 0xfffffffc
inc eax
add eax, esi
mov al, byte [ebp + eax - 0x14]
mov byte [ebp + esi - 0x11], al
lea eax, [edi - 2]
mov byte [ebp + esi - 0x14], bl
mov byte [ebp + esi - 0x13], dl
mov byte [ebp + esi - 0x12], cl
add esi, 4
cmp eax, 4
jl 0x10001e04
mov esi, dword [ebp - 0x1c]
cmp esi, 0xa
je 0x10001f42
xor ecx, ecx
mov dword [ebp - 0x28], ecx
nop dword [eax]
nop word [eax + eax]
lea eax, [ebp + ecx - 0x14]
mov dword [ebp - 0x24], 4
mov dword [ebp - 0x20], eax
mov edi, 1
movzx eax, byte [eax]
mov byte [ebp - 0x18], al
movzx eax, byte [ebp + ecx - 0x10]
mov byte [ebp - 0x17], al
movzx eax, byte [ebp + ecx - 0xc]
mov byte [ebp - 0x16], al
movzx eax, byte [ebp + ecx - 8]
mov byte [ebp - 0x15], al
mov cl, byte [ebp + edi - 0x19]
mov al, cl
add al, al
test cl, cl
jns 0x10001ecf
xor al, 0x1b
mov ecx, edi
and ecx, 0x80000003
jns 0x10001ede
dec ecx
or ecx, 0xfffffffc
inc ecx
mov cl, byte [ebp + ecx - 0x18]
mov bl, cl
add bl, bl
test cl, cl
jns 0x10001eed
xor bl, 0x1b
xor bl, cl
lea ecx, [edi + 1]
and ecx, 0x80000003
jns 0x10001eff
dec ecx
or ecx, 0xfffffffc
inc ecx
mov dl, byte [ebp + ecx - 0x18]
lea ecx, [edi + 2]
and ecx, 0x80000003
jns 0x10001f13
dec ecx
or ecx, 0xfffffffc
inc ecx
mov cl, byte [ebp + ecx - 0x18]
inc edi
xor cl, dl
mov edx, dword [ebp - 0x20]
xor cl, bl
xor cl, al
mov byte [edx], cl
add edx, 4
sub dword [ebp - 0x24], 1
mov dword [ebp - 0x20], edx
jne 0x10001ec1
mov ecx, dword [ebp - 0x28]
inc ecx
mov dword [ebp - 0x28], ecx
cmp ecx, 4
jl 0x10001e90
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x2c]
xor edx, edx
mov ecx, edi
nop dword [eax]
movzx eax, byte [ecx - 4]
lea ecx, [ecx + 1]
xor byte [ebp + edx - 0x14], al
movzx eax, byte [ecx - 1]
xor byte [ebp + edx - 0x10], al
movzx eax, byte [ecx + 3]
xor byte [ebp + edx - 0xc], al
movzx eax, byte [ecx + 7]
xor byte [ebp + edx - 8], al
inc edx
cmp edx, 4
jl 0x10001f50
mov ebx, dword [ebp - 0x30]
lea edx, [ebp - 0x14]
inc esi
add edi, 0x10
mov dword [ebp - 0x1c], esi
cmp esi, 0xa
mov dword [ebp - 0x2c], edi
lea esi, [ebp - 0x12]
lea edi, [ebp - 0x11]
jle 0x10001dc0
mov esi, dword [ebp - 0x34]
xor edx, edx
nop dword [eax]
movzx eax, byte [ebp + edx*4 - 0x14]
movzx ecx, byte [ebp + edx*4 - 0x12]
mov byte [esi + edx], al
movzx eax, byte [ebp + edx*4 - 0x13]
mov byte [esi + edx + 8], cl
movzx ecx, byte [ebp + edx*4 - 0x11]
mov byte [esi + edx + 4], al
mov byte [esi + edx + 0xc], cl
inc edx
cmp edx, 4
jl 0x10001fa0
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10067e5d
mov esp, ebp
pop ebp
ret 4