Function at 0x1015d922
Capabilities:
Encode data using xor

Disassembly:
sbb edi, 8
call 0x1009fc3d
inc esp
movsx esp, dl
inc ecx
rol esi, 3
inc ecx
shl ah, 0x87
inc cx
not ecx
adc edx, 0xa2392e05
inc ecx
xor esi, 0xd127ea91
inc cx
not ecx
sub edx, 0x4898091f
inc ecx
push edi
inc ecx
ror cl, 0x87
inc eax
not dh
dec ecx
rol ecx, 0x45
inc esp
xor dword [esp + eax - 1], esi
inc ecx
movzx ecx, ah
jmp 0x10131630
movsx ebx, dl
inc ecx
pop edi
sar esi, 0xbe
sub bx, 0xff0e
xor bl, 0x88
dec ebp
arpl si, si
dec ebp
adc edx, esi
dec ebp
inc sp
btr esi, esp
inc ecx
add ecx, esp
dec ecx
or esi, edx
jmp esi
inc esp
xor dword [esp + edi - 0xab19], ecx
inc ecx
shl ebx, cl
dec eax
mov dword [esp + edi*2 - 0x15652], ecx
dec esp
lea esi, [esi*8 - 0x1cef605f]
dec esp
mov edi, dword [esp + edi*4 - 0x2ac94]
inc ecx
shr esp, cl
dec ebp
arpl cx, cx
jns 0x101600a1
dec ecx
mov eax, ebp
mov edx, 0x599cda00
dec ecx
mov dword [ebp + edx - 0x599cda08], eax
dec eax
lea esi, [edx + edx*8 + 0xeb7f624]
inc esp
movzx esi, dx
dec ebx
mov edi, dword [ebp + esi - 0xda08]
shl edx, 0x4b
movzx ebp, dx
jae 0x101d0b1a
mov eax, 0x81be75ae
cbw
mov ecx, dword [ebp]
btr eax, 0xaf
btc eax, eax
adc ebp, 3
bts ax, 0xa8
xor ecx, ebx
call fcn.100a4c6d
xor edx, 0x3f3d8404
shl word [esp + 6], 0xac
mov dword [esp + 0x10], 0xb03a6ab
dec ecx
push 0xbe360d3a
jmp 0x1015d891
lea esp, [esp + 0x20]
jne 0x100e5db5
mov esi, 0x6991b913
lea esi, [esi*4 + 0xe07e7b4]
call fcn.1016ddc2
add byte [eax], al
inc edi
je 0x1015d902
jb 0x1015d923
arpl word [ecx + 0x64], ax
jb 0x1015d91f
jae 0x1015d92f
add byte [edx - 0x546ae367], bh
mov eax, edx
inc esp
movzx ebx, dl
inc edi
mov ecx, dword [eax + ebx*8 - 0x4c8]
dec edi
lea eax, [eax + ebx - 0x95]
movzx ebx, ax
dec eax
lea edi, [edx + edx + 0x2b0cfa22]
inc ecx
inc ebx
inc ebp
xor ecx, edi
dec ebp
lea esp, [ebx - 0x6d4f1279]
cwde
inc ecx
neg ecx
dec ecx
imul esp
inc esp
sbb ecx, edx
dec eax
sub ebx, edi
inc ecx
push ebx
sub bl, 0x88
inc ecx
bswap ecx
dec eax
shl dword [esp + edx*2 + 2], 0xa4
neg edx
inc cx
add ebx, 0x1b447b12
retf 0xe0c0
out dx, al
clc
inc edi
invalid
inc esp
and al, 0
inc edi
inc ecx
aad 2
call fcn.100a96b2
mov ecx, 0xc6241991
lea edx, [ecx + ecx*2 - 0xb77d958]
movzx cx, byte [edi + edx - 0x46f4735b]
mov eax, edx
bts edx, eax
rol dx, 0xec
mov al, byte [eax + edi - 0x46f47359]
not dx
dec dl
jbe 0x100bfc04
dec ebp
add edx, ecx
jmp 0x101dce31
dec esi
mov esp, dword [edi + esi*4 - 0x36800]
inc ecx
movsx edi, dh
xchg bp, dx
shr di, 0x4a
dec edi
mov dword [ebp + esi - 0xda08], esp
inc esp
movsx esp, dh
inc ecx
bt esp, 0x96
dec ebp
lea ebp, [ebp + ebp*2 - 8]
inc cx
ror esp, 0xcd
inc eax
movzx eax, dh
cwd
inc edi
mov ecx, dword [esi + eax - 0xda00]
inc ecx
dec dh
dec ebp
lea eax, [eax + edi + 4]
dec esp
xadd ebp, esi
inc ebp
xor ecx, edi
xadd dx, ax
inc ecx
movzx ecx, ah
mov ebx, 0x7cb706a2
inc ecx
bswap ecx
jne 0x101d18fc
movzx eax, bp
not ecx
inc esp
mov esi, edx
mov edi, 0x7caac812
not esi
and ecx, esi
inc eax
sar bh, 0xc4
inc ecx
mov dword [ebp + edi - 0x7caac801], ecx
inc esp
movsx ebx, bh
rol al, 0xe6
inc ebp
mov esi, dword [eax + eax - 0xa3cc]
sal bp, 0xc5
inc ecx
sets bl
movsx esi, dl
dec edi
lea eax, [eax + ebx*2 + 4]
inc esp
and bl, dh
cmovbe esi, eax
inc ecx
xchg ebx, eax
inc ebp
xor esi, edi
inc al
inc ecx
xor esi, 0x44983b24
inc ecx
bswap esi
or al, al
ror edi, 3
inc ecx
not esi
dec edi
lea ecx, [ebx + ebx*4 + 0x51a22e33]
inc esp
adc esi, eax
jmp 0x100d7211
inc ecx
setno dh
inc ecx
xor ecx, 0x2fbc4033
inc ecx
sal ah, 0xe7
inc ecx
adc bl, dh
inc esp
mov ebx, ebx
inc edi
lea ecx, [ecx + esi - 0x2f331f24]
jp 0x1011b3f8
jae 0x100ac015
dec esp
mov dword [esp + edi*2 - 0x15652], edx
ret 0x10