Function at 0x10001040
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 [0x1006e200]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov ecx, dword [0x1006f550]
mov eax, dword [0x1006f54c]
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], 0x9b882de6
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x2c], eax
sub eax, 0x9a245d39
je 0x10001195
jmp 0x100010ad
mov eax, dword [ebp - 0x2c]
sub eax, 0x9b882de6
je 0x1000114a
jmp 0x100010c0
mov eax, dword [ebp - 0x2c]
sub eax, 0xcdc4989c
je 0x10001249
jmp 0x100010d3
mov eax, dword [ebp - 0x2c]
sub eax, 0xda6cef3e
je 0x100012fa
jmp 0x100010e6
mov eax, dword [ebp - 0x2c]
sub eax, 0xfad443ed
je 0x100011ef
jmp 0x100010f9
mov eax, dword [ebp - 0x2c]
sub eax, 0x973dbca
je 0x1000130c
jmp 0x1000110c
mov eax, dword [ebp - 0x2c]
sub eax, 0x1ada601e
je 0x100011fb
jmp 0x1000111f
mov eax, dword [ebp - 0x2c]
sub eax, 0x5e729a59
je 0x100012ee
jmp 0x10001132
mov eax, dword [ebp - 0x2c]
sub eax, 0x6032301c
je 0x10001318
jmp 0x10001145
jmp 0x10001351
mov bl, byte [ebp - 0x1a]
mov dh, byte [ebp - 0x19]
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, 0x973dbca
mov ecx, 0x9a245d39
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x10001351
push eax
mov eax, esp
mov dword [ebp - 0x18], eax
push eax
mov eax, esp
mov dword [ebp - 0x14], eax
mov eax, dword [0x1006f550]
mov ecx, dword [0x1006f54c]
mov edx, eax
sub edx, 0xf157ade7
sub edx, 1
add edx, 0xf157ade7
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, 0x973dbca
mov ecx, 0xfad443ed
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x10001351
mov dword [ebp - 0x20], 0x1ada601e
jmp 0x10001351
mov eax, dword [0x1006f550]
mov ecx, dword [0x1006f54c]
mov edx, eax
sub edx, 0x9946c65d
sub edx, 1
add edx, 0x9946c65d
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, 0x6032301c
mov ecx, 0xcdc4989c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x10001351
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]
xor ecx, ecx
xor edi, edi
mov ecx, dword [edx]
mov edi, dword [esi]
not byte [edi]
xor eax, eax
xor eax, 0x55
sub byte [edi], 0x63
add byte [edi], 0x55
nop
nop
imul byte [edi]
inc edi
loop 0x10001267
mov ecx, dword [0x1006f550]
mov eax, dword [0x1006f54c]
mov edx, ecx
add edx, 0x956124dd
sub edx, 1
sub edx, 0x956124dd
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, 0x6032301c
mov ecx, 0x5e729a59
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x10001351
mov dword [ebp - 0x20], 0xda6cef3e
jmp 0x10001351
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1000fa00
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [ebp - 0x20], 0x9a245d39
jmp 0x10001351
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]
xor ecx, ecx
xor edi, edi
mov ecx, dword [edx]
mov edi, dword [esi]
not byte [edi]
xor eax, eax
xor eax, 0x55
sub byte [edi], 0x63
add byte [edi], 0x55
nop
nop
imul byte [edi]
inc edi
loop 0x10001336
mov dword [ebp - 0x20], 0xcdc4989c
jmp 0x10001097