Function at 0x10001010
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0xc
mov eax, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov eax, dword [0x10077200]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], 0x8fb28e0d
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
sub eax, 0x8fb28e0d
je 0x100010d0
jmp 0x10001046
mov eax, dword [ebp - 0x18]
sub eax, 0xb1a4f477
je 0x1000123c
jmp 0x10001059
mov eax, dword [ebp - 0x18]
sub eax, 0xbf7aae57
je 0x10001301
jmp 0x1000106c
mov eax, dword [ebp - 0x18]
sub eax, 0xf998d24f
je 0x100012c1
jmp 0x1000107f
mov eax, dword [ebp - 0x18]
sub eax, 0xfc16af54
je 0x100011c9
jmp 0x10001092
mov eax, dword [ebp - 0x18]
sub eax, 0xe14ade9
je 0x100011bd
jmp 0x100010a5
mov eax, dword [ebp - 0x18]
sub eax, 0x32a9de0f
je 0x100012af
jmp 0x100010b8
mov eax, dword [ebp - 0x18]
sub eax, 0x716d30cd
je 0x10001116
jmp 0x100010cb
jmp 0x10001308
mov eax, dword [0x10078550]
mov ecx, dword [0x1007854c]
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, 0xf998d24f
mov ecx, 0x716d30cd
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x14], eax
jmp 0x10001308
nop
mov eax, ebx
mov ebx, 0x99
nop
xor ebx, eax
mov ecx, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
not byte [edi]
nop
mov eax, ebx
mov ebx, 0x99
nop
xor ebx, eax
add byte [edi], 0x79
sub byte [edi], 0x35
nop
mov eax, ebx
mov ebx, 0x99
nop
xor ebx, eax
imul byte [edi]
inc edi
loop 0x10001127
mov ecx, dword [0x10078550]
mov eax, dword [0x1007854c]
mov edx, ecx
add edx, 0x96021f49
sub edx, 1
sub edx, 0x96021f49
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, 0xf998d24f
mov ecx, 0xe14ade9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x14], eax
jmp 0x10001308
mov dword [ebp - 0x14], 0xfc16af54
jmp 0x10001308
mov ecx, dword [0x10078550]
mov eax, dword [0x1007854c]
mov edx, ecx
sub edx, 0x26875747
sub edx, 1
add edx, 0x26875747
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, 0xbf7aae57
mov ecx, 0xb1a4f477
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x14], eax
jmp 0x10001308
mov ecx, dword [0x10078550]
mov eax, dword [0x1007854c]
mov edx, ecx
add edx, 0xca4ffb18
sub edx, 1
sub edx, 0xca4ffb18
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, 0xbf7aae57
mov ecx, 0x32a9de0f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x14], eax
jmp 0x10001308
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100182f0
add esp, 0xc
pop esi
pop edi
pop ebx
pop ebp
ret
nop
mov eax, ebx
mov ebx, 0x99
nop
xor ebx, eax
mov ecx, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
not byte [edi]
nop
mov eax, ebx
mov ebx, 0x99
nop
xor ebx, eax
add byte [edi], 0x79
sub byte [edi], 0x35
nop
mov eax, ebx
mov ebx, 0x99
nop
xor ebx, eax
imul byte [edi]
inc edi
loop 0x100012d2
mov dword [ebp - 0x14], 0x716d30cd
jmp 0x10001308
mov dword [ebp - 0x14], 0xb1a4f477
jmp 0x10001030