Function at 0x10001800
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 0x10001cb9
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 0x1000187d
mov al, 0xe
test edi, edi
je 0x1000187b
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 0x10001860
xor bh, al
inc edi
shr ah, 1
cmp edi, 8
jl 0x10001850
mov dh, byte [ebp - 1]
mov byte [ebp - 6], bh
xor bh, bh
xor edi, edi
nop
test dh, 1
je 0x100018bc
mov bl, 0xb
test edi, edi
je 0x100018ba
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 0x100018a0
xor bh, bl
inc edi
shr dh, 1
cmp edi, 8
jl 0x10001890
mov dh, byte [ebp - 2]
mov byte [ebp - 7], bh
xor bh, bh
xor edi, edi
nop
test dh, 1
je 0x100018fc
mov bl, 0xd
test edi, edi
je 0x100018fa
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 0x100018e0
xor bh, bl
inc edi
shr dh, 1
cmp edi, 8
jl 0x100018d0
mov dh, byte [ebp - 3]
xor al, al
mov byte [ebp - 5], al
xor edi, edi
nop
test dh, 1
je 0x10001942
mov bl, 9
test edi, edi
je 0x1000193d
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 0x10001920
mov al, byte [ebp - 5]
xor al, bl
mov byte [ebp - 5], al
inc edi
shr dh, 1
cmp edi, 8
jl 0x10001910
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 0x1000198c
mov bl, 9
test edi, edi
je 0x1000198a
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 0x10001970
xor bh, bl
inc edi
shr dh, 1
cmp edi, 8
jl 0x10001960
mov dh, byte [ebp - 1]
mov byte [ebp - 8], bh
xor bh, bh
xor edi, edi
nop
test dh, 1
je 0x100019cc
mov bl, 0xe
test edi, edi
je 0x100019ca
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 0x100019b0
xor bh, bl
inc edi
shr dh, 1
cmp edi, 8
jl 0x100019a0
mov dh, byte [ebp - 2]
mov byte [ebp - 7], bh
xor bh, bh
xor edi, edi
nop
test dh, 1
je 0x10001a0c
mov bl, 0xb
test edi, edi
je 0x10001a0a
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 0x100019f0
xor bh, bl
inc edi
shr dh, 1
cmp edi, 8
jl 0x100019e0
mov dh, byte [ebp - 3]
xor al, al
mov byte [ebp - 6], al
xor edi, edi
nop
test dh, 1
je 0x10001a52
mov bl, 0xd
test edi, edi
je 0x10001a4d
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 0x10001a30
mov al, byte [ebp - 6]
xor al, bl
mov byte [ebp - 6], al
inc edi
shr dh, 1
cmp edi, 8
jl 0x10001a20
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 0x10001a9c
mov bl, 0xd
test edi, edi
je 0x10001a9a
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 0x10001a80
xor bh, bl
inc edi
shr dh, 1
cmp edi, 8
jl 0x10001a70
mov dh, byte [ebp - 1]
mov byte [ebp - 9], bh
xor bh, bh
xor edi, edi
nop
test dh, 1
je 0x10001adc
mov bl, 9
test edi, edi
je 0x10001ada
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 0x10001ac0
xor bh, bl
inc edi
shr dh, 1
cmp edi, 8
jl 0x10001ab0
mov dh, byte [ebp - 2]
mov byte [ebp - 8], bh
xor bh, bh
xor edi, edi
nop
test dh, 1
je 0x10001b1c
mov bl, 0xe
test edi, edi
je 0x10001b1a
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 0x10001b00
xor bh, bl
inc edi
shr dh, 1
cmp edi, 8
jl 0x10001af0
mov dh, byte [ebp - 3]
xor al, al
mov byte [ebp - 7], al
xor edi, edi
nop
test dh, 1
je 0x10001b62
mov bl, 0xb
test edi, edi
je 0x10001b5d
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 0x10001b40
mov al, byte [ebp - 7]
xor al, bl
mov byte [ebp - 7], al
inc edi
shr dh, 1
cmp edi, 8
jl 0x10001b30
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 0x10001baf
mov bl, 0xb
test edi, edi
je 0x10001bad
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 0x10001b90
mov al, byte [ebp - 4]
xor dh, bl
shr al, 1
inc edi
mov byte [ebp - 4], al
cmp edi, 8
jl 0x10001b80
mov al, byte [ebp - 1]
mov byte [ebp - 8], dh
xor dh, dh
xor edi, edi
test al, 1
je 0x10001bef
mov bl, 0xd
test edi, edi
je 0x10001bed
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 0x10001bd0
mov al, byte [ebp - 1]
xor dh, bl
shr al, 1
inc edi
mov byte [ebp - 1], al
cmp edi, 8
jl 0x10001bc4
mov al, byte [ebp - 2]
xor bh, bh
mov byte [ebp - 9], dh
xor edi, edi
test al, 1
je 0x10001c2f
mov bl, 9
test edi, edi
je 0x10001c2d
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 0x10001c10
mov al, byte [ebp - 2]
xor bh, bl
shr al, 1
inc edi
mov byte [ebp - 2], al
cmp edi, 8
jl 0x10001c04
mov al, byte [ebp - 3]
xor dh, dh
xor edi, edi
test al, 1
je 0x10001c6f
mov bl, 0xe
test edi, edi
je 0x10001c6d
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 0x10001c50
mov al, byte [ebp - 3]
xor dh, bl
shr al, 1
inc edi
mov byte [ebp - 3], al
cmp edi, 8
jl 0x10001c41
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 0x10001820
pop edi
pop ebx
pop esi
mov esp, ebp
pop ebp
ret 4