Function at 0x4019e0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
mov eax, ecx
push esi
xor esi, esi
mov dword [ebp - 0x14], eax
mov dword [ebp - 0xc], esi
cmp dword [eax], esi
jle 0x401c8d
push ebx
push edi
mov edi, dword [ebp + 8]
nop
mov eax, dword [edi]
xor bh, bh
add eax, esi
mov dword [ebp - 0x10], eax
mov cl, byte [eax]
mov eax, dword [edi + 4]
mov byte [ebp - 2], cl
mov al, byte [esi + eax]
mov byte [ebp - 4], al
mov eax, dword [edi + 8]
mov al, byte [esi + eax]
mov byte [ebp - 3], al
mov eax, dword [edi + 0xc]
xor edi, edi
mov al, byte [esi + eax]
mov ah, cl
mov byte [ebp - 1], al
nop dword [eax]
test ah, 1
je 0x401a5d
mov al, 2
test edi, edi
jle 0x401a5b
mov esi, edi
nop dword [eax]
mov bl, al
add bl, bl
mov cl, bl
xor cl, 0x1b
test al, al
movzx edx, cl
movzx ecx, bl
cmovns edx, ecx
mov al, dl
sub esi, 1
jne 0x401a40
xor bh, al
inc edi
shr ah, 1
cmp edi, 8
jl 0x401a30
mov dh, byte [ebp - 4]
mov byte [ebp - 5], bh
xor bh, bh
xor edi, edi
nop
test dh, 1
je 0x401a9c
mov bl, 3
test edi, edi
jle 0x401a9a
mov esi, edi
nop dword [eax]
mov dl, bl
add dl, dl
mov al, dl
xor al, 0x1b
test bl, bl
movzx ecx, al
movzx eax, dl
cmovns ecx, eax
mov bl, cl
sub esi, 1
jne 0x401a80
xor bh, bl
inc edi
shr dh, 1
cmp edi, 8
jl 0x401a70
mov al, byte [ebp - 3]
xor al, byte [ebp - 1]
mov dh, byte [ebp - 4]
xor al, bh
xor al, byte [ebp - 5]
xor bh, bh
mov byte [ebp - 6], al
xor edi, edi
nop dword [eax]
test dh, 1
je 0x401aec
mov bl, 2
test edi, edi
jle 0x401aea
mov esi, edi
nop dword [eax]
mov dl, bl
add dl, dl
mov al, dl
xor al, 0x1b
test bl, bl
movzx ecx, al
movzx eax, dl
cmovns ecx, eax
mov bl, cl
sub esi, 1
jne 0x401ad0
xor bh, bl
inc edi
shr dh, 1
cmp edi, 8
jl 0x401ac0
mov dh, byte [ebp - 3]
mov byte [ebp - 5], bh
xor bh, bh
xor edi, edi
nop
test dh, 1
je 0x401b2c
mov bl, 3
test edi, edi
jle 0x401b2a
mov esi, edi
nop dword [eax]
mov dl, bl
add dl, dl
mov al, dl
xor al, 0x1b
test bl, bl
movzx ecx, al
movzx eax, dl
cmovns ecx, eax
mov bl, cl
sub esi, 1
jne 0x401b10
xor bh, bl
inc edi
shr dh, 1
cmp edi, 8
jl 0x401b00
mov al, byte [ebp - 2]
xor al, byte [ebp - 1]
mov dh, byte [ebp - 3]
xor al, bh
xor al, byte [ebp - 5]
xor bh, bh
mov byte [ebp - 7], al
xor edi, edi
nop dword [eax]
test dh, 1
je 0x401b7c
mov bl, 2
test edi, edi
jle 0x401b7a
mov esi, edi
nop dword [eax]
mov dl, bl
add dl, dl
mov al, dl
xor al, 0x1b
test bl, bl
movzx ecx, al
movzx eax, dl
cmovns ecx, eax
mov bl, cl
sub esi, 1
jne 0x401b60
xor bh, bl
inc edi
shr dh, 1
cmp edi, 8
jl 0x401b50
mov dh, byte [ebp - 1]
mov byte [ebp - 5], bh
xor bh, bh
xor edi, edi
nop
test dh, 1
je 0x401bbc
mov bl, 3
test edi, edi
jle 0x401bba
mov esi, edi
nop dword [eax]
mov dl, bl
add dl, dl
mov al, dl
xor al, 0x1b
test bl, bl
movzx ecx, al
movzx eax, dl
cmovns ecx, eax
mov bl, cl
sub esi, 1
jne 0x401ba0
xor bh, bl
inc edi
shr dh, 1
cmp edi, 8
jl 0x401b90
mov cl, byte [ebp - 2]
mov al, cl
xor al, byte [ebp - 4]
xor al, bh
xor bh, bh
xor al, byte [ebp - 5]
xor edi, edi
mov byte [ebp - 5], al
test cl, 1
je 0x401c04
mov bl, 3
test edi, edi
jle 0x401c02
mov esi, edi
mov dl, bl
add dl, dl
mov al, dl
xor al, 0x1b
test bl, bl
movzx ecx, al
movzx eax, dl
cmovns ecx, eax
mov bl, cl
sub esi, 1
jne 0x401be5
mov cl, byte [ebp - 2]
xor bh, bl
shr cl, 1
inc edi
mov byte [ebp - 2], cl
cmp edi, 8
jl 0x401bd8
mov al, byte [ebp - 1]
xor dh, dh
xor edi, edi
test al, 1
je 0x401c41
mov bl, 2
test edi, edi
jle 0x401c3f
mov esi, edi
mov dl, bl
add dl, dl
mov al, dl
xor al, 0x1b
test bl, bl
movzx ecx, al
movzx eax, dl
cmovns ecx, eax
mov bl, cl
sub esi, 1
jne 0x401c22
mov al, byte [ebp - 1]
xor dh, bl
shr al, 1
inc edi
mov byte [ebp - 1], al
cmp edi, 8
jl 0x401c16
mov ecx, dword [ebp - 0x10]
mov edi, dword [ebp + 8]
mov al, byte [ebp - 6]
mov esi, dword [ebp - 0xc]
mov byte [ecx], al
mov eax, dword [edi + 4]
mov cl, byte [ebp - 7]
mov byte [esi + eax], cl
mov eax, dword [edi + 8]
mov cl, byte [ebp - 5]
mov byte [esi + eax], cl
mov cl, byte [ebp - 3]
xor cl, byte [ebp - 4]
mov eax, dword [edi + 0xc]
xor cl, dh
xor cl, bh
mov byte [esi + eax], cl
inc esi
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0xc], esi
cmp esi, dword [eax]
jl 0x401a00
pop edi
pop ebx
pop esi
mov esp, ebp
pop ebp
ret 4