Function at 0x10001010
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x20
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x24], eax
mov eax, dword [0x100d3600]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov ecx, dword [0x100d4950]
mov eax, dword [0x100d494c]
xor esi, esi
sub esi, 1
mov edx, ecx
add edx, esi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [ebp - 0x1a], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0x19], al
mov dword [ebp - 0x20], 0xddceb4ff
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x2c], eax
sub eax, 0xd6953c61
je 0x100011bd
jmp 0x1000107d
mov eax, dword [ebp - 0x2c]
sub eax, 0xd9ace8cc
je 0x100012e5
jmp 0x10001090
mov eax, dword [ebp - 0x2c]
sub eax, 0xddceb4ff
je 0x1000111a
jmp 0x100010a3
mov eax, dword [ebp - 0x2c]
sub eax, 0xf3e2da14
je 0x10001140
jmp 0x100010b6
mov eax, dword [ebp - 0x2c]
sub eax, 0xfa8f0386
je 0x10001288
jmp 0x100010c9
mov eax, dword [ebp - 0x2c]
sub eax, 0x338451b3
je 0x100012d9
jmp 0x100010dc
mov eax, dword [ebp - 0x2c]
sub eax, 0x3ecb6e69
je 0x100011b1
jmp 0x100010ef
mov eax, dword [ebp - 0x2c]
sub eax, 0x5ac7731c
je 0x1000127c
jmp 0x10001102
mov eax, dword [ebp - 0x2c]
sub eax, 0x67a8923e
je 0x1000120b
jmp 0x10001115
jmp 0x100012ec
mov al, byte [ebp - 0x1a]
mov cl, byte [ebp - 0x19]
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x338451b3
mov ecx, 0xf3e2da14
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x100012ec
push eax
mov eax, esp
mov dword [ebp - 0x18], eax
mov ecx, dword [0x100d4950]
mov eax, dword [0x100d494c]
xor esi, esi
sub esi, 1
mov edx, ecx
add edx, esi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0x338451b3
mov ecx, 0x3ecb6e69
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x100012ec
mov dword [ebp - 0x20], 0xd6953c61
jmp 0x100012ec
mov eax, dword [0x100d4950]
mov ecx, dword [0x100d494c]
mov edx, eax
sub edx, 0x135e8154
sub edx, 1
add edx, 0x135e8154
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0xd9ace8cc
mov ecx, 0x67a8923e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x100012ec
push eax
mov eax, esp
mov dword [ebp - 0x14], eax
mov ecx, dword [0x100d4950]
mov eax, dword [0x100d494c]
xor esi, esi
sub esi, 1
mov edx, ecx
add edx, esi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov dl, al
and dl, 0xff
and bl, cl
mov ch, ah
and ch, 0xff
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or dl, al
mov eax, 0xd9ace8cc
mov ecx, 0x5ac7731c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x100012ec
mov dword [ebp - 0x20], 0xfa8f0386
jmp 0x100012ec
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
mov dword [eax], edx
mov eax, dword [ebp - 0x14]
mov dword [eax], ecx
mov edx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x14]
push ebx
pop ebx
nop
mov ebx, eax
xor ebx, 0x39
mov ecx, dword [edx]
mov edi, dword [esi]
not byte [edi]
push ebx
pop ebx
nop
mov ebx, eax
xor ebx, 0x39
add byte [edi], 0x47
sub byte [edi], 0x25
push ebx
pop ebx
nop
mov ebx, eax
xor ebx, 0x39
imul byte [edi]
inc edi
loop 0x100012aa
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call 0x10018190
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [ebp - 0x20], 0xf3e2da14
jmp 0x100012ec
mov dword [ebp - 0x20], 0x67a8923e
jmp 0x10001067