Function at 0x10001000
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x1c
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x20], eax
mov eax, dword [0x100d3800]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x1c], 0x56592857
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x28], eax
sub eax, 0xc4ed373e
je 0x100012b3
jmp 0x1000103c
mov eax, dword [ebp - 0x28]
sub eax, 0xed06dad9
je 0x10001193
jmp 0x1000104f
mov eax, dword [ebp - 0x28]
sub eax, 0xfd4773fe
je 0x10001212
jmp 0x10001062
mov eax, dword [ebp - 0x28]
sub eax, 0x7907c5e
je 0x1000119f
jmp 0x10001075
mov eax, dword [ebp - 0x28]
sub eax, 0x226b6c94
je 0x100012df
jmp 0x10001088
mov eax, dword [ebp - 0x28]
sub eax, 0x27f2e601
je 0x1000110c
jmp 0x1000109b
mov eax, dword [ebp - 0x28]
sub eax, 0x56592857
je 0x100010c6
jmp 0x100010ae
mov eax, dword [ebp - 0x28]
sub eax, 0x57ed8f77
je 0x100012c5
jmp 0x100010c1
jmp 0x10001314
mov eax, dword [0x100d4b50]
mov ecx, dword [0x100d4b4c]
xor esi, esi
sub esi, 1
mov edx, eax
add edx, esi
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, 0x57ed8f77
mov ecx, 0x27f2e601
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1c], eax
jmp 0x10001314
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
push eax
mov edx, esp
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x18]
mov dword [eax], ecx
mov ecx, dword [0x100d4b50]
mov eax, dword [0x100d4b4c]
mov edx, ecx
add edx, 0xb233fe57
sub edx, 1
sub edx, 0xb233fe57
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, 0x57ed8f77
mov ecx, 0xed06dad9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1c], eax
jmp 0x10001314
mov dword [ebp - 0x1c], 0x7907c5e
jmp 0x10001314
mov ecx, dword [0x100d4b50]
mov eax, dword [0x100d4b4c]
mov edx, ecx
add edx, 0x344c7d17
sub edx, 1
sub edx, 0x344c7d17
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, 0x226b6c94
mov ecx, 0xfd4773fe
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1c], eax
jmp 0x10001314
mov edx, dword [ebp - 0x18]
xor ecx, ecx
xor edi, edi
mov ecx, dword [ebp - 0x14]
mov edi, dword [edx]
not byte [edi]
add byte [edi], 0x65
mov eax, 0
mov ebx, 0
add eax, ebx
xor eax, ebx
shl eax, 3
shr ebx, 2
nop
sub byte [edi], 0x88
imul byte [edi]
inc edi
loop 0x1000121e
mov ecx, dword [0x100d4b50]
mov eax, dword [0x100d4b4c]
mov edx, ecx
add edx, 0xe5f8b17f
sub edx, 1
sub edx, 0xe5f8b17f
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, 0x226b6c94
mov ecx, 0xc4ed373e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1c], eax
jmp 0x10001314
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10004f10
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x24]
push eax
mov eax, esp
mov dword [ebp - 0x14], edx
mov dword [eax], ecx
mov dword [ebp - 0x1c], 0x27f2e601
jmp 0x10001314
mov edx, dword [ebp - 0x18]
xor ecx, ecx
xor edi, edi
mov ecx, dword [ebp - 0x14]
mov edi, dword [edx]
not byte [edi]
add byte [edi], 0x65
mov eax, 0
mov ebx, 0
add eax, ebx
xor eax, ebx
shl eax, 3
shr ebx, 2
nop
sub byte [edi], 0x88
imul byte [edi]
inc edi
loop 0x100012eb
mov dword [ebp - 0x1c], 0xfd4773fe
jmp 0x10001026