Function at 0x10009180
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 [0x10086c80]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov ecx, dword [0x1008817c]
mov eax, dword [0x10088178]
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 - 0x16], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0x15], al
mov dword [ebp - 0x1c], 0x77e7f8fd
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x28], eax
sub eax, 0xae4f7836
je 0x10009335
jmp 0x100091ed
mov eax, dword [ebp - 0x28]
sub eax, 0xc0e3198e
je 0x1000947b
jmp 0x10009200
mov eax, dword [ebp - 0x28]
sub eax, 0xd28fbf98
je 0x100092b0
jmp 0x10009213
mov eax, dword [ebp - 0x28]
sub eax, 0xfb992ec0
je 0x100093a8
jmp 0x10009226
mov eax, dword [ebp - 0x28]
sub eax, 0x3f279bf3
je 0x1000945d
jmp 0x10009239
mov eax, dword [ebp - 0x28]
sub eax, 0x63c127cb
je 0x10009329
jmp 0x1000924c
mov eax, dword [ebp - 0x28]
sub eax, 0x776c8754
je 0x10009487
jmp 0x1000925f
mov eax, dword [ebp - 0x28]
sub eax, 0x77e7f8fd
je 0x1000928a
jmp 0x10009272
mov eax, dword [ebp - 0x28]
sub eax, 0x780bd9b9
je 0x10009469
jmp 0x10009285
jmp 0x100094d0
mov al, byte [ebp - 0x16]
mov cl, byte [ebp - 0x15]
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0xc0e3198e
mov ecx, 0xd28fbf98
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1c], eax
jmp 0x100094d0
push eax
mov eax, esp
mov dword [ebp - 0x14], eax
mov ecx, dword [0x1008817c]
mov eax, dword [0x10088178]
mov edx, ecx
add edx, 0x58a9de98
sub edx, 1
sub edx, 0x58a9de98
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, 0xc0e3198e
mov ecx, 0x63c127cb
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1c], eax
jmp 0x100094d0
mov dword [ebp - 0x1c], 0xae4f7836
jmp 0x100094d0
mov ecx, dword [0x1008817c]
mov eax, dword [0x10088178]
mov edx, ecx
sub edx, 0xef7faf73
sub edx, 1
add edx, 0xef7faf73
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, 0x776c8754
mov ecx, 0xfb992ec0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1c], eax
jmp 0x100094d0
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x24]
push eax
mov esi, esp
mov ecx, dword [ebp - 0x14]
mov dword [ecx], edx
mov dword [esi], eax
mov edx, 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 0x100093c9
mov ecx, dword [0x1008817c]
mov eax, dword [0x10088178]
mov edx, ecx
sub edx, 0x39d4a152
sub edx, 1
add edx, 0x39d4a152
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, 0x776c8754
mov ecx, 0x3f279bf3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1c], eax
jmp 0x100094d0
mov dword [ebp - 0x1c], 0x780bd9b9
jmp 0x100094d0
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10025e80
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [ebp - 0x1c], 0xd28fbf98
jmp 0x100094d0
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x24]
push eax
mov esi, esp
mov ecx, dword [ebp - 0x14]
mov dword [ecx], edx
mov dword [esi], eax
mov edx, 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 0x100094a8
mov dword [ebp - 0x1c], 0xfb992ec0
jmp 0x100091d7