Function at 0x10b8220c
Capabilities:
Encode data using xor

Disassembly:
jmp 0x10b82216
pushal
call 0x10b8221c
pop ebp
sub ebp, 0x10
sub ebp, 0xb8220c
mov al, byte [esp + 0x28]
cmp al, 1
je 0x10b82240
popal
xor eax, eax
inc eax
ret 0xc
jmp 0x10b82249
cmpsb byte [esi], byte es:[edi]
pop eax
mov edx, 0x220cb836
mov eax, 0x81c50300
shl byte [ebx], 0
add byte [ecx + 0x5a7], bh
mov eax, 0xb8220c
add eax, ebp
add eax, 0x63
mov ecx, 0x5a7
mov edx, 0xc3f84454
xor byte [eax], dl
inc eax
dec ecx
jne 0x10b82260
jmp 0x10b82273
fistp word [ecx + 0x5468dddf]
push esp
push esp
aad 0x95
lodsb al, byte [esi]
push esp
push esp
push esp
push edi
cdq
in al, dx
push edx
push esp
push esp
push esp
out dx, al
jl 0x10b822df
push esp
push esp
mov dword [0xdf9c57b6], eax
aad 0x58
push esp
push esp
push esp
push edi
xchg ecx, eax
fnstenv [eax]
jo 0x10b82245
fst qword [eax + 0x70]
add al, 0x3c
cld
insd dword es:[edi], dx
je 0x10b822fa
cmp al, 0x35
mov esp, 0x785554c3
jo 0x10b822eb
or eax, 0xbcbdb179
push ecx
push esp
push esp
push esp
mov ebp, 0x54545464
add ecx, ebx
cmp byte [eax + 0x54], dh
invalid
mov al, byte [0xdfababab]
js 0x10b82356
fnstenv [eax]
jo 0x10b8233a
xchg esi, eax
pop eax
push esp
invalid
xor eax, 0x5554c3bc
js 0x10b82371
add eax, 0x545451bc
push esp
mov ebp, 0x5454566b
fnstenv [eax]
jo 0x10b822b8
fnstsw word [eax + 0x70]
add byte [ecx], cl
stosd dword es:[edi], eax
and dword [eax - 0x55], ebx
and dword [esp + edi*4 + 0x38], ebx
push esp
push esp
push esp
fucompi st(1)
pop esp
push esp
push esp
push esp
popfd
xchg bh, dl
mov esp, 0xd05b1c51
sbb dl, byte [esp + edx*2 + 0x54]
pop ebx
fcomp qword [esp + edx*2]
push esp
push esp
xor bl, bh
dec eax
insd dword es:[edi], dx
aam 0xaf
mov esp, 0x544ed05b
push esp
push esp
aam 0xaf
mov ebp, 0x5445d05b
push esp
push esp
xor dl, ch
scasd eax, dword es:[edi]
stosd dword es:[edi], eax
jno 0x10b823b1
rol byte [ecx + 0x54], 1
push esp
push esp
adc eax, 0xabab98bd
stosd dword es:[edi], eax
jge 0x10b8237b
insd dword es:[edi], dx
push ebp
xlatb
xchg ebp, eax
push ecx
xlatb
mov esp, 0xabe9bd50
stosd dword es:[edi], eax
stosd dword es:[edi], eax
jge 0x10b82372
add byte [ebp + 0x56], ch
insd dword es:[edi], dx
push esi
xlatb
xchg ebp, eax
push edx
xlatb
mov esi, 0x51bcd750
mov ebp, 0xabababff
mov esp, 0xabffbd51
stosd dword es:[edi], eax
stosd dword es:[edi], eax
fistp qword [eax + 0x70]
fnstenv [eax]
jo 0x10b823d9
xchg esi, eax
pop eax
push esp
add edi, ebx
mov eax, 0xdf010302
and dword [eax - 0x21], ebx
sub dword [eax + ebp*4 - 0x1a], ebx
aam 0xde
push edx
aad 0x92
push ebp
push esp
push esp
push esp
fcom qword [ebx - 0x2b]
xchg ebx, eax
push ebp
push esp
push esp
push esp
out dx, eax
push esi
push esp
push esp
push esp
push esi
xchg byte [ebx - 0x2f], bl
push ecx
push esp
push esp
push esp
fiadd word [edx + 0x12]
inc esi
xchg byte [ebx - 0x29], bl
mov word [ebx - 0x79a95455], gs
pop ebx
rcl dword [ecx + 0x54]
push esp
push esp
fiadd word [edx + 0x12]
inc esi
xchg byte [ebx - 0x29], bl
push esp
push esp
push esp
xchg esp, eax
push esi
xchg byte [ebx - 0x2f], bl
push ecx
push esp
push esp
push esp
fiadd word [edx + 0x12]
inc esi
xchg byte [ebx - 0x29], bl
jle 0x10b8243e
push esp
push esp
push esi
xchg byte [ebx - 0x2f], bl
push ecx
push esp
push esp
push esp
fiadd word [edx + 0x12]
inc esi
xchg byte [edi - 0x6c], al
push esi
xchg byte [ebx - 0x2f], bl
push ecx
push esp
push esp
push esp
fiadd word [edx + 0x12]
inc esi
xchg byte [edi - 0x6c], al
push esi
xchg byte [ebx - 0x2f], bl
push ecx
push esp
push esp
push esp
fiadd word [edx + 0x12]
inc esi
xchg byte [edi - 0x6c], al
push esi
xchg byte [ebx - 0x2f], bl
push ecx
push esp
push esp
push esp
fiadd word [edx + 0x12]
inc esi
xchg byte [edi - 0x6c], al
pop ebx
rcl byte [edx + 0x54]
push esp
push esp
fisttp word [ebx + 0x57de8c7f]
fcom qword [ebx + 0x13]
out dx, eax
push esi
push esp
push esp
push esp
mov ebp, 0xababab24
stosd dword es:[edi], eax
stosd dword es:[edi], eax
in al, dx
push ebp
push esp
push esp
push esp
push esi
xchg byte [ebx - 0x2f], bl
push ecx
push esp
push esp
push esp
fiadd word [edx + 0x12]
inc esi
xchg byte [edi - 0x6c], al
push esi
xchg byte [ebx - 0x2f], bl
push ecx
push esp
push esp
push esp
fiadd word [edx + 0x12]
inc esi
xchg byte [ebx - 0x2a], bl
mov ch, byte [ebx - 0x68805455]
out dx, eax
push ebp
push esp
push esp
push esp
pop ebx
shl dword [eax + 0x54], 1
push esp
push esp
in eax, dx
push ebp
push esp
push esp
push esp
push esi
xchg byte [ebx - 0x2f], bl
push ecx
push esp
push esp
push esp
fiadd word [edx + 0x12]
inc esi
xchg byte [edi - 0x63], al
push esi
xchg byte [ebx - 0x2f], bl
push ecx
push esp
push esp
push esp
fiadd word [edx + 0x12]
inc esi
xchg byte [ebx - 0x2a], bl
mov ch, byte [ebx - 0x20fd5455]
mov dword [0xf0a7a17f], eax
or bh, byte [ebp - 0x545454a4]
sbb al, 0x95
mov ah, 0x5c
ficom word [edx + 0x12]
fistp qword [ebp + ebp*8 + 0x54545455]
push esi
xchg byte [ebx - 0x2f], bl
push ecx
push esp
push esp
push esp
fiadd word [edx + 0x12]
inc esi
xchg byte [edi - 0x63], al
push esi
xchg byte [ebx - 0x2f], bl
push ecx
push esp
push esp
push esp
fiadd word [edx + 0x12]
inc esi
xchg byte [ebx - 0x2a], bl
mov ch, byte [ebx - 0x532a5455]
push esp
sub dword [esp + edx*2 - 0x2b], edx
lea ebp, [ebx - 0x2a545455]
lodsb al, byte [esi]
push esp
push ecx
push esp
push esp
aad 0x8d
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
aad 0xac
aam 0x54
push esp
push esp
aad 0x85
push esp
push esp
push esp
push esp
aad 0xac
aam 0x54
push esp
push esp
aad 0x85
push esp
push esp
push esp
push esp
add bl, bh
mov dword [0xf0a7a47f], eax
or bh, byte [ebp - 0x54545531]
ficom word [edx + 0x12]
popfd
xchg esp, eax
mov esp, 0x4ed05b55
push esp
push esp
push esp
aad 0x85
push esi
push esp
push esp
push esp
fistp qword [edx + eax - 0x5b805c21]
cmpsd dword [esi], dword es:[edi]
invalid