Function at 0x10009430
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 [0x10085080]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov ecx, dword [0x1008655c]
mov eax, dword [0x10086558]
mov edx, ecx
sub edx, 0x6fcd4b21
sub edx, 1
add edx, 0x6fcd4b21
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], 0xc212422f
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x2c], eax
sub eax, 0x82b90086
je 0x1000970e
jmp 0x100094a5
mov eax, dword [ebp - 0x2c]
sub eax, 0x8ecfe2af
je 0x10009666
jmp 0x100094b8
mov eax, dword [ebp - 0x2c]
sub eax, 0x955280f2
je 0x100095ef
jmp 0x100094cb
mov eax, dword [ebp - 0x2c]
sub eax, 0x9b91012c
je 0x1000971a
jmp 0x100094de
mov eax, dword [ebp - 0x2c]
sub eax, 0xad3984eb
je 0x10009748
jmp 0x100094f1
mov eax, dword [ebp - 0x2c]
sub eax, 0xc212422f
je 0x10009542
jmp 0x10009504
mov eax, dword [ebp - 0x2c]
sub eax, 0xd48d3344
je 0x100095fb
jmp 0x10009517
mov eax, dword [ebp - 0x2c]
sub eax, 0x43f4b1ec
je 0x1000958d
jmp 0x1000952a
mov eax, dword [ebp - 0x2c]
sub eax, 0x645baf50
je 0x1000972c
jmp 0x1000953d
jmp 0x10009784
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, 0x645baf50
mov ecx, 0x43f4b1ec
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x10009784
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x28]
push eax
mov eax, esp
mov dword [ebp - 0x18], eax
push eax
mov eax, esp
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x18]
mov dword [eax], edx
mov eax, dword [ebp - 0x14]
mov dword [eax], ecx
mov eax, dword [0x1008655c]
mov ecx, dword [0x10086558]
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, 0x645baf50
mov ecx, 0x955280f2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x10009784
mov dword [ebp - 0x20], 0xd48d3344
jmp 0x10009784
mov ecx, dword [0x1008655c]
mov eax, dword [0x10086558]
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, 0xad3984eb
mov ecx, 0x8ecfe2af
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x10009784
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 0x1000967a
mov ecx, dword [0x1008655c]
mov eax, dword [0x10086558]
mov edx, ecx
sub edx, 0x23896ce5
sub edx, 1
add edx, 0x23896ce5
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, 0xad3984eb
mov ecx, 0x82b90086
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x10009784
mov dword [ebp - 0x20], 0x9b91012c
jmp 0x10009784
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10024540
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [ebp - 0x24]
mov esi, dword [ebp - 0x28]
push eax
mov edx, esp
push eax
mov eax, esp
mov dword [edx], esi
mov dword [eax], ecx
mov dword [ebp - 0x20], 0x43f4b1ec
jmp 0x10009784
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 0x1000975c
mov dword [ebp - 0x20], 0x8ecfe2af
jmp 0x1000948f