Function at 0x10009530
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 [0x10085c80]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov ecx, dword [0x1008718c]
mov eax, dword [0x10087188]
mov edx, ecx
sub edx, 0xbe2d89ed
sub edx, 1
add edx, 0xbe2d89ed
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], 0x1f51b186
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x2c], eax
sub eax, 0x88cdee0b
je 0x10009807
jmp 0x100095a5
mov eax, dword [ebp - 0x2c]
sub eax, 0xa66b3f0d
je 0x100097f5
jmp 0x100095b8
mov eax, dword [ebp - 0x2c]
sub eax, 0xbb3c2b46
je 0x100096c0
jmp 0x100095cb
mov eax, dword [ebp - 0x2c]
sub eax, 0xe903734e
je 0x10009668
jmp 0x100095de
mov eax, dword [ebp - 0x2c]
sub eax, 0x1f51b186
je 0x10009642
jmp 0x100095f1
mov eax, dword [ebp - 0x2c]
sub eax, 0x26f83740
je 0x100096da
jmp 0x10009604
mov eax, dword [ebp - 0x2c]
sub eax, 0x392fefcc
je 0x100096b4
jmp 0x10009617
mov eax, dword [ebp - 0x2c]
sub eax, 0x4d79acd0
je 0x1000974d
jmp 0x1000962a
mov eax, dword [ebp - 0x2c]
sub eax, 0x7eef5173
je 0x10009813
jmp 0x1000963d
jmp 0x10009857
mov al, byte [ebp - 0x1a]
mov cl, byte [ebp - 0x19]
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x88cdee0b
mov ecx, 0xe903734e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x10009857
push eax
mov eax, esp
mov dword [ebp - 0x18], eax
mov eax, dword [0x1008718c]
mov ecx, dword [0x10087188]
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, 0x88cdee0b
mov ecx, 0x392fefcc
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x10009857
mov dword [ebp - 0x20], 0xbb3c2b46
jmp 0x10009857
mov ecx, dword [ebp - 0x28]
push eax
mov eax, esp
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x18]
mov dword [eax], ecx
mov dword [ebp - 0x20], 0x26f83740
jmp 0x10009857
mov ecx, dword [0x1008718c]
mov eax, dword [0x10087188]
mov edx, ecx
sub edx, 0x3c527e2d
sub edx, 1
add edx, 0x3c527e2d
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, 0x7eef5173
mov ecx, 0x4d79acd0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x10009857
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
mov dword [eax], ecx
mov edx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x14]
pop eax
push eax
mov eax, eax
xor eax, 0x85
nop
mov ecx, dword [edx]
mov edi, dword [esi]
not byte [edi]
pop eax
push eax
mov eax, eax
xor eax, 0x85
nop
add byte [edi], 0x64
sub byte [edi], 0x88
pop eax
push eax
mov eax, eax
xor eax, 0x85
nop
imul byte [edi]
inc edi
loop 0x10009769
mov ecx, dword [0x1008718c]
mov eax, dword [0x10087188]
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, 0x7eef5173
mov ecx, 0xa66b3f0d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x10009857
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10024dc0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [ebp - 0x20], 0xe903734e
jmp 0x10009857
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
mov dword [eax], ecx
mov edx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x14]
pop eax
push eax
mov eax, eax
xor eax, 0x85
nop
mov ecx, dword [edx]
mov edi, dword [esi]
not byte [edi]
pop eax
push eax
mov eax, eax
xor eax, 0x85
nop
add byte [edi], 0x64
sub byte [edi], 0x88
pop eax
push eax
mov eax, eax
xor eax, 0x85
nop
imul byte [edi]
inc edi
loop 0x1000982f
mov dword [ebp - 0x20], 0x4d79acd0
jmp 0x1000958f