Function at 0x153abbb
Capabilities:
Encode data using xor

Disassembly:
dec eax
lea edi, [edi + ebx - 0x6d]
dec eax
rol ebx, 0x4a
inc eax
mov ch, byte [ebx + edi - 0x1b000]
push ebx
dec eax
inc dword [esp + ebx - 0x1b000]
mul bx
inc ecx
xor ch, ch
inc eax
sub ch, 0x10
inc eax
neg ch
inc ecx
pop esi
cwd
inc cx
and eax, 0xd040abbf
int 0x40
sub ch, 0x35
inc cx
or eax, 0xd040113d
int 0x4c
xchg edx, esi
inc ecx
add ah, 0x10
inc eax
sbb ch, dl
dec esp
sub eax, ebx
dec eax
bts edx, eax
inc eax
ror ch, 1
inc eax
not ch
inc esp
xor ch, ch
btr bx, 0x3f
dec eax
add ebp, esp
and dl, bh
dec eax
xchg ebx, edx
dec esp
mov dword [ebx + ebp - 0x1b000], edi
seto dl
inc esp
movzx ecx, bx
inc cx
and esi, ecx
inc ecx
jmp ebx
inc ecx
not bh
ror ecx, 1
dec eax
cwde
dec ebp
xchg edi, eax
bswap ecx
inc eax
ror ch, 0xa5
xor ecx, 0x27805c3f
dec esp
lea esi, [ebx*2 - 0x27d21442]
neg ecx
not ecx
inc esp
movsx esp, al
inc ecx
push ebp
xor dword [esp + ebx*2 - 0x1a], ecx
inc eax
xor bl, dh
inc ecx
pop ebp
inc ecx
not al
dec eax
arpl cx, cx
inc esp
bt eax, esi
dec esp
adc ebx, ecx
inc ecx
movsx ecx, ah
dec ebp
mov edi, dword [edx + ebx*8 - 0x2f0]
shl al, cl
dec eax
xor ebx, ebp
inc ecx
mov edx, esi
dec esi
lea edx, [ebx + edx - 0x64]
jno 0x14dc641
mov ecx, dword [esp + ebp*2 - 0x35f]
inc eax
sub dh, dl
inc eax
rol dh, 1
push edx
inc esp
xor ch, dh
dec esp
lea ecx, [eax*2 - 0x4871cafb]
inc ecx
bts ecx, ebx
dec eax
lea esi, [esp + esi + 0x18]
push edx
inc esp
mov dword [esi + ebp*2 - 0x36a], esi
adc ax, word [esp + ebp - 0x1af]
shr word [esp + ebp - 0x19b], 0x66
mov ebp, dword [edi + ebp*2 - 0x36f]
setne byte [esp + ecx - 5]
inc ecx
xor ebp, ebp
idiv word [esp + ecx - 6]
inc ecx
add bh, 0xa6
inc ecx
mov esi, 0xc89f0a2a
ror ebp, 3
dec ecx
shr ecx, 0x1c
cwde
sar ecx, 0x5f
bswap ebp
inc sp
adc edi, dword [esp + ecx*2 + 0xd]
rol ebp, 1
bswap ebp
dec esi
lea esp, [esi*4 - 0x7773dfd5]
inc ecx
ror ah, 0xc2
not ebp
inc esp
movzx eax, byte [esp + ecx + 0x1c]
sal edx, 0xde
dec esp
mov dword [esp + edx - 0x7fffffe8], ebp
bts edx, 0x3f
inc ebp
xor esi, esp
inc ecx
setb dh
xor dword [esp + edx - 0x7fffffe8], ebp
inc cx
dec ecx
inc esp
movzx ebp, byte [esp + edx - 0x7ffffffa]
setl byte [esp + ecx*2 + 0xe]
dec esp
mov ebp, dword [esp + ecx + 0x18]
dec eax
arpl bp, bp
jle 0x15080d9
dec esp
lea eax, [ecx + 0xf0f8b1b]
dec esp
add ebx, ebp
movzx eax, byte [ecx + edi - 6]
sal dword [esp + ecx + 9], 0x5a
inc ecx
movsx ebp, ax
dec eax
lea edi, [edi + ecx*2 - 6]
call fcn.0154154a
cmp al, byte [edi + 0x60865481]
sub byte [0xf1b18c76], ah
or byte [ebp - 0x464e738a], al
rcr dword [ebp - 0xe4e738a], 1
call 0xb2e02301
add dword [eax - 0x4e738913], edx
mov cl, 0x48
jbe 0x153ac53
mov cl, 0x99
shr byte [ebp - 0x764e738a], 0xa8
jne 0x153ad48
invalid
mov al, byte [0xf0ed2dd0]
mov word [eax + 0x782465d0], fs
mov word [eax - 0x579aa330], fs
mov word [eax - 0x305d8a30], fs
and byte [edi + 0x61dc5177], dl
adc al, 0x11
dec esp
shr edi, cl
mov ch, 0x22
pop edi
fdiv st(1), st(0)
mov ebx, 0x3ed84809
inc ebx
out 0x95, al
dec edi
xor byte [ecx + 0x55c55f9a], dh
je 0x153ad59
inc eax
inc edi
mov edi, 0xc868a911
outsd dx, dword [esi]
mov edi, 0xd078a911
inc edi
mov edi, 0x700ca911
pop ds
mov edi, 0x30c0a911
pop es
mov edi, 0xf4a911
pop ds
mov edi, 0x8c4a911
pop es
mov edi, 0x5388a911
ret