Function at 0x10020d70
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
mov eax, ecx
push esi
xor esi, esi
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], esi
cmp dword [eax], esi
jle 0x10021229
push ebx
push edi
mov edi, dword [ebp + 8]
nop
mov eax, dword [edi]
xor bh, bh
add eax, esi
mov dword [ebp - 0x14], eax
mov cl, byte [eax]
mov eax, dword [edi + 4]
mov byte [ebp - 4], cl
mov al, byte [esi + eax]
mov byte [ebp - 1], al
mov eax, dword [edi + 8]
mov al, byte [esi + eax]
mov byte [ebp - 2], al
mov eax, dword [edi + 0xc]
xor edi, edi
mov al, byte [esi + eax]
mov ah, cl
mov byte [ebp - 3], al
nop dword [eax]
test ah, 1
je 0x10020ded
mov al, 0xe
test edi, edi
je 0x10020deb
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 0x10020dd0
xor bh, al
inc edi
shr ah, 1
cmp edi, 8
jl 0x10020dc0
mov dh, byte [ebp - 1]
mov byte [ebp - 6], bh
xor bh, bh
xor edi, edi
nop
test dh, 1
je 0x10020e2c
mov bl, 0xb
test edi, edi
je 0x10020e2a
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 0x10020e10
xor bh, bl
inc edi
shr dh, 1
cmp edi, 8
jl 0x10020e00
mov dh, byte [ebp - 2]
mov byte [ebp - 7], bh
xor bh, bh
xor edi, edi
nop
test dh, 1
je 0x10020e6c
mov bl, 0xd
test edi, edi
je 0x10020e6a
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 0x10020e50
xor bh, bl
inc edi
shr dh, 1
cmp edi, 8
jl 0x10020e40
mov dh, byte [ebp - 3]
xor al, al
mov byte [ebp - 5], al
xor edi, edi
nop
test dh, 1
je 0x10020eb2
mov bl, 9
test edi, edi
je 0x10020ead
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 0x10020e90
mov al, byte [ebp - 5]
xor al, bl
mov byte [ebp - 5], al
inc edi
shr dh, 1
cmp edi, 8
jl 0x10020e80
mov dh, byte [ebp - 4]
xor al, bh
xor al, byte [ebp - 7]
xor bh, bh
xor al, byte [ebp - 6]
xor edi, edi
mov byte [ebp - 5], al
nop dword [eax]
test dh, 1
je 0x10020efc
mov bl, 9
test edi, edi
je 0x10020efa
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 0x10020ee0
xor bh, bl
inc edi
shr dh, 1
cmp edi, 8
jl 0x10020ed0
mov dh, byte [ebp - 1]
mov byte [ebp - 8], bh
xor bh, bh
xor edi, edi
nop
test dh, 1
je 0x10020f3c
mov bl, 0xe
test edi, edi
je 0x10020f3a
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 0x10020f20
xor bh, bl
inc edi
shr dh, 1
cmp edi, 8
jl 0x10020f10
mov dh, byte [ebp - 2]
mov byte [ebp - 7], bh
xor bh, bh
xor edi, edi
nop
test dh, 1
je 0x10020f7c
mov bl, 0xb
test edi, edi
je 0x10020f7a
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 0x10020f60
xor bh, bl
inc edi
shr dh, 1
cmp edi, 8
jl 0x10020f50
mov dh, byte [ebp - 3]
xor al, al
mov byte [ebp - 6], al
xor edi, edi
nop
test dh, 1
je 0x10020fc2
mov bl, 0xd
test edi, edi
je 0x10020fbd
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 0x10020fa0
mov al, byte [ebp - 6]
xor al, bl
mov byte [ebp - 6], al
inc edi
shr dh, 1
cmp edi, 8
jl 0x10020f90
mov dh, byte [ebp - 4]
xor al, bh
xor al, byte [ebp - 7]
xor bh, bh
xor al, byte [ebp - 8]
xor edi, edi
mov byte [ebp - 6], al
nop dword [eax]
test dh, 1
je 0x1002100c
mov bl, 0xd
test edi, edi
je 0x1002100a
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 0x10020ff0
xor bh, bl
inc edi
shr dh, 1
cmp edi, 8
jl 0x10020fe0
mov dh, byte [ebp - 1]
mov byte [ebp - 9], bh
xor bh, bh
xor edi, edi
nop
test dh, 1
je 0x1002104c
mov bl, 9
test edi, edi
je 0x1002104a
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 0x10021030
xor bh, bl
inc edi
shr dh, 1
cmp edi, 8
jl 0x10021020
mov dh, byte [ebp - 2]
mov byte [ebp - 8], bh
xor bh, bh
xor edi, edi
nop
test dh, 1
je 0x1002108c
mov bl, 0xe
test edi, edi
je 0x1002108a
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 0x10021070
xor bh, bl
inc edi
shr dh, 1
cmp edi, 8
jl 0x10021060
mov dh, byte [ebp - 3]
xor al, al
mov byte [ebp - 7], al
xor edi, edi
nop
test dh, 1
je 0x100210d2
mov bl, 0xb
test edi, edi
je 0x100210cd
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 0x100210b0
mov al, byte [ebp - 7]
xor al, bl
mov byte [ebp - 7], al
inc edi
shr dh, 1
cmp edi, 8
jl 0x100210a0
xor al, bh
xor dh, dh
xor al, byte [ebp - 8]
xor al, byte [ebp - 9]
xor edi, edi
mov byte [ebp - 7], al
mov al, byte [ebp - 4]
nop dword [eax]
test al, 1
je 0x1002111f
mov bl, 0xb
test edi, edi
je 0x1002111d
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 0x10021100
mov al, byte [ebp - 4]
xor dh, bl
shr al, 1
inc edi
mov byte [ebp - 4], al
cmp edi, 8
jl 0x100210f0
mov al, byte [ebp - 1]
mov byte [ebp - 8], dh
xor dh, dh
xor edi, edi
test al, 1
je 0x1002115f
mov bl, 0xd
test edi, edi
je 0x1002115d
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 0x10021140
mov al, byte [ebp - 1]
xor dh, bl
shr al, 1
inc edi
mov byte [ebp - 1], al
cmp edi, 8
jl 0x10021134
mov al, byte [ebp - 2]
xor bh, bh
mov byte [ebp - 9], dh
xor edi, edi
test al, 1
je 0x1002119f
mov bl, 9
test edi, edi
je 0x1002119d
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 0x10021180
mov al, byte [ebp - 2]
xor bh, bl
shr al, 1
inc edi
mov byte [ebp - 2], al
cmp edi, 8
jl 0x10021174
mov al, byte [ebp - 3]
xor dh, dh
xor edi, edi
test al, 1
je 0x100211df
mov bl, 0xe
test edi, edi
je 0x100211dd
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 0x100211c0
mov al, byte [ebp - 3]
xor dh, bl
shr al, 1
inc edi
mov byte [ebp - 3], al
cmp edi, 8
jl 0x100211b1
mov ecx, dword [ebp - 0x14]
xor dh, bh
mov edi, dword [ebp + 8]
mov al, byte [ebp - 5]
mov esi, dword [ebp - 0x10]
xor dh, byte [ebp - 9]
xor dh, byte [ebp - 8]
mov byte [ecx], al
mov eax, dword [edi + 4]
mov cl, byte [ebp - 6]
mov byte [esi + eax], cl
mov eax, dword [edi + 8]
mov cl, byte [ebp - 7]
mov byte [esi + eax], cl
mov eax, dword [edi + 0xc]
mov byte [esi + eax], dh
inc esi
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x10], esi
cmp esi, dword [eax]
jl 0x10020d90
pop edi
pop ebx
pop esi
mov esp, ebp
pop ebp
ret 4