Function at 0x5b4bac
Capabilities:
Encode data using xor

Disassembly:
pop es
push cs
push esp
popal
arpl word [ebx + 0x42], dx
inc ecx
outsb dx, byte [esi]
imul ebp, dword [ebp + 0x61], 0x6e6f6974
lodsb al, byte [esi]
dec eax
pop ebx
add byte [eax + eax*4 + 0x50051], ah
or eax, 0x696b5373
outsb dx, byte [esi]
push eax
jb 0x5b4982
jbe 0x5b497e
jb 0x5b4919
add byte [eax + 0x5b497490], dl
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ecx + ecx*2 + 0x5b], dl
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
or byte [ecx + 0x5b], 0
inc esp
add byte [eax], al
add byte [ebp + 0xa780049], ch
dec esp
add byte [eax + 0x58004c0a], al
or al, 0x4c
add byte [eax + 0xc], dl
dec esp
add byte [eax + 0xc], dh
dec esp
add byte [esp + ecx + 0x4c], dh
add byte [eax + 0xc], bh
dec esp
add byte [esp + ecx + 0x4c], ch
add byte [ecx + ecx + 0x4c], dl
add byte [eax + 9], dh
dec esp
add byte [ecx + 0x5d], bh
add byte [ebx*2 + 0x5d340049], ch
sub al, 0x5d
dec ecx
add byte [ebx*2 + 0x5c5c0049], dh
dec ecx
dec ecx
add byte [0x42636154], cl
outsd dx, dword [esi]
popal
arpl word [edx + 0x6f], ax
jb 0x5b49ec
jb 0x5b49d1
outsd dx, dword [esi]
jb 0x5b49fb
nop
nop
xchg esp, eax
dec ecx
pop ebx
add byte [edi], al
pop es
or eax, 0x42636154
outsd dx, dword [esi]
jb 0x5b4a01
jb 0x5b49e6
outsd dx, dword [esi]
jb 0x5b4a10
je 0x5b49ee
pop ebx
add byte [esi], ch
dec ecx
add byte [eax], al
add byte [0x696b5373], cl
outsb dx, byte [esi]
push eax
jb 0x5b4a25
jbe 0x5b4a21
jb 0x5b49bc
add byte [eax + 0x4a189090], dl
pop ebx
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax + 0x5b4a], cl
dec edx
pop ebx
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [edx + ecx*2 + 0x5b], dh
add byte [eax + eax], bh
add al, ch
dec ebx
dec esi
add byte [eax + 0xa], bh
add byte [eax], al
call 0x785b9838
or cl, byte [eax + eax - 0x80]
or cl, byte [eax + eax + 0x58]
js 0x5b49f8
dec esp
add byte [eax + 0x58004c0a], al
or al, 0x4c
add byte [eax], bl
dec edx
pop eax
add byte [edx], cl
jo 0x5b4a0a
add byte [eax + 0xc], dh
dec esp
add byte [ecx + edi*8 + 0x49], dh
stc
dec ecx
add byte [eax + 0xc], bh
dec esp
add byte [esp + ecx + 0x4c], ch
dec esp
add byte [ecx + ecx + 0x4c], dl
add byte [eax + 9], dh
or dword [eax + eax + 0x70], ecx
or dword [eax + eax + 0x20], ecx
jo 0x5b4a1b
dec esp
add byte [eax], ah
mov ebx, 0x5d2c004e
dec ecx
add byte [esp + edi*8], bh
dec ecx
add byte [esp + ebx*2 + 0x49], bl
pop esp
dec ecx
add byte [esi + ebp*4 + 0x4e], al
scasb al, byte es:[edi]
dec esi
add al, ah
scasb al, byte es:[edi]
dec esi
add byte [edi*8 - 0x1d3ffb7], dh
dec ecx
add byte [eax], dh
dec edx
add byte [ebp + edi*8 + 0x49], al
add byte [edi*8 + 0x780049], bh
dec edx
add byte [eax + 0x2c004eba], ch
scasb al, byte es:[edi]
dec esi
add byte [eax + 0x5c004ea3], ch
scasb al, byte es:[edi]
dec esi
add byte [ebx + edi*4 + 0x4e], dl
add byte [eax], dl
mov esp, 0xb0004e
dec esp
add byte [eax - 0x4fffb400], dh
add byte [eax + eax - 0x50], cl
add byte [eax + eax - 0x50], cl
add byte [eax + eax - 0x50], cl
add byte [eax + eax + 0xf], cl
push esp
jae 0x5b4abb
jne 0x5b4aed
je 0x5b4aeb
insd dword es:[edi], dx
push ebx
jns 0x5b4af3
dec ebp
outsb dx, byte gs:[esi]
jne 0x5b4a0d
dec edx
pop ebx
add byte [edi], al
pop es
andps xmm6, xmmword [ebx + 0x43]
jne 0x5b4b02
je 0x5b4b00
insd dword es:[edi], dx
push ebx
jns 0x5b4b08
dec ebp
outsb dx, byte gs:[esi]
jne 0x5b4ab2
dec edx
pop ebx
add byte [eax + 0x10004e4c], dl
add byte [0x696b5373], cl
outsb dx, byte [esi]
push eax
jb 0x5b4b1b
jbe 0x5b4b17
jb 0x5b4ab2
add byte [eax - 0xf4a0817], dl
call dword [eax - 0x10166f70]
jmp 0x4c00b0
nop
nop
nop
jmp 0x4c00b0
nop
nop
nop
jmp 0x4c00b0
nop
nop
nop
jmp 0x4c00b0
nop
nop
nop
jmp 0x4c00b0
nop
nop
nop
cmp al, 0x4b
pop ebx
add byte [eax], al
add byte [eax], al
nop
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ebx + ecx*2 + 0x5b], ch
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
cwde
dec ebx
pop ebx
add byte [eax + eax + 0x49c00000], ah
movsb byte es:[edi], byte [esi]
add byte [eax], al
add al, al
dec ecx
pop ebx
add byte [eax + 0xa], bh
dec esp
add byte [eax + 0x58004c0a], al
or al, 0x4c
add byte [eax + 0xc], bl
dec esp
add byte [eax], bl
dec edx
add byte [eax + 0xc], dh
dec esp
add byte [ecx + edi*8 + 0x49], dh
add byte [eax + 0xc], bh
dec esp
add byte [esp + ecx + 0x4c], ch
add byte [ecx + ecx + 0x4c], dl
add byte [eax + 9], dh
dec esp
add byte [eax], ah
mov ebx, 0x5d2c004e
sub al, 0x5d
dec ecx
add byte [esp + edi*8], bh
dec ecx
add byte [esp + ebx*2 + 0x49], bl
add byte [esi + ebp*4 + 0x4e], al
add al, ah
scasb al, byte es:[edi]
dec esi
add byte [edi*8 - 0x1d3ffb7], dh
dec ecx
add byte [eax], dh
dec edx
add byte [ebp + edi*8 + 0x49], al
add byte [edi*8 + 0x780049], bh
dec edx
add byte [eax], cl
and ebx, dword [ebp]
sub al, 0xae
dec esi
add byte [eax + 0x5c004ea3], ch
scasb al, byte es:[edi]
dec esi
add byte [ebx + edi*4 + 0x4e], dl
add byte [eax], dl
mov esp, 0x32cc004e
pop ebp
add byte [ebx + esi], ah
pop ebp
add al, dh
xor ebx, dword [ebp]
xor al, 0x24
pop ebp
add byte [esp + 0x5d], ch
add byte [eax + 0xc005d24], bl
push esp
or al, 0x54
jae 0x5b4bef
jns 0x5b4c11
je 0x5b4c05
insd dword es:[edi], dx
dec ebp
outsb dx, byte gs:[esi]
jne 0x5b4b36
nop
nop
lodsb al, byte [esi]
dec ebx
pop ebx
add byte [edi], al
pop es
or al, 0x54
jae 0x5b4c04
jns 0x5b4c26
je 0x5b4c1a
insd dword es:[edi], dx
dec ebp
outsb dx, byte gs:[esi]
jne 0x5b4bf7
dec ebx
pop ebx
add byte [edx + ecx*2 + 0x10005b], al
or eax, 0x696b5373
outsb dx, byte [esi]
push eax
jb 0x5b4c3c
jbe 0x5b4c38
jb 0x5b4bd3
add al, bl
dec ebx
pop ebx
add byte [ecx], dl
adc dword [edi], ecx
push esp
popal
arpl word [ecx + 0x64], ax
popal
jo 0x5b4c56
jb 0x5b4c2e
je 0x5b4c4c
insd dword es:[edi], dx
jae 0x5b4bee
add byte [eax], al
add byte [eax], al
add byte [eax], al
add bh, bh
invalid
add byte [eax], al
pop ebx
add byte [0x696b5373], cl
outsb dx, byte [esi]
push eax
jb 0x5b4c71
jbe 0x5b4c6d
jb 0x5b4b98
jb 0x5b4b98
or al, 0x4c
pop ebx
add byte [ecx], dl
adc dword [0x47636154], ecx
inc edi
jb 0x5b4c75
jo 0x5b4c7e
dec ecx
je 0x5b4c7e
insd dword es:[edi], dx
jae 0x5b4c20
add byte [eax], al
add byte [eax], al
add byte [eax], al
add bh, bh
invalid
invalid
imul ebp, dword [ecx + 0x6e], 0x50
jb 0x5b4ca3
jbe 0x5b4c9f
jb 0x5b4bca
jb 0x5b4bca
nop
nop
xchg esp, eax
dec esp
pop ebx
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax - 0x27ffa4b4], ah
dec esp
pop ebx
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add dl, al
dec esp
pop ebx
add byte [eax], ah
add byte [eax], al
add byte [ebp + 0xa780049], ch
fmul dword [ebx + ebx*2]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
ret 0x5b4c
add byte [eax], al
lodsb al, byte [esi]
and eax, 0xa780049
dec esp
add byte [eax + 0x58004c0a], al
or cl, byte [eax + eax + 0x58]
or al, 0x4c
add byte [eax + 0xc], dl
dec esp
or al, 0x4c
add byte [eax + 0xc], dh
dec esp
add byte [esp + ecx + 0x4c], dh
dec esp
add byte [eax + 0xc], bh
dec esp
add byte [esp + ecx + 0x4c], ch
add byte [ecx + ecx + 0x4c], dl
add byte [eax + 9], dh
dec esp
add byte [esi + eax*2], ch
pop ebp
add byte [ebx*2 + 0x5d340049], ch
sub al, 0x5d
dec ecx
add byte [ebx*2 + 0x5c5c0049], dh
dec ecx
add byte [esi], cl
add byte [eax], al
add byte [eax], al
add byte [ebx], al
add byte [eax], al
add byte [esp + ebx*8], al
dec ebx
add byte [eax + eax], cl
add byte [eax], al
aam 0x4b
pop ebx
add byte [eax], dl
add byte [eax], al
add byte [eax], cl
dec esp
pop ebx
add byte [eax + eax], dl
add byte [eax], al
push cs
push esp
popal
arpl word [ebx + 0x74], ax
jb 0x5b4d36
inc ecx
popal
jo 0x5b4d43
jb 0x5b4c62
nop
nop
fmul dword [ebx + ebx*2]
dec esp
add byte [eax + 0xc], bl
dec esp
add byte [eax], bl
dec edx
add byte [eax + 0xc], dh
dec esp
add byte [ecx + edi*8 + 0x49], dh
add byte [eax + 0xc], bh
dec esp
add byte [esp + ecx + 0x4c], ch
add byte [ecx + ecx + 0x4c], dl
add byte [eax + 9], dh
dec esp
add ah, dh
or byte [edi], ah