Function at 0x5516a0
Capabilities:
Encode data using xor

Disassembly:
cld
xor eax, eax
push ebp
push 0xaa15bf
push dword fs:[eax]
mov dword fs:[eax], esp
je 0x5515db
cld
je 0x551618
invalid
jg 0x551585
jmp 0x55159e
add eax, dword [eax]
add al, ch
bound edx, qword [eax]
invalid
pop ebx
pop ecx
pop ebp
ret
wait
push ss
push ebp
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 ah, bh
pop ss
push ebp
add byte [edi + edx + 0x55], bl
add byte [eax + 0x17], bh
push ebp
add bh, cl
pop ss
push ebp
add bl, ah
pop ss
push ebp
add byte [eax], bl
cld
add byte [eax], al
mov esp, 0x6c004ce6
je 0x551689
add byte [esp + ebp*8], bl
dec esp
add al, bh
push edi
dec ecx
add byte [eax + 0x4c00403d], al
aas
dec esp
add byte [edx + edi + 0x3ad80040], bh
inc eax
add byte [eax + 0x58], ah
dec ecx
add byte [eax + 0x3000479e], ch
aas
dec esp
add al, dl
in al, 0x41
add byte [eax], ah
pop edx
dec ecx
add byte [eax], ch
dec esp
add byte [eax + 0x5b], ch
dec ecx
add byte [ebp + 0x47], al
add byte [esp + esi*2 + 0x64180042], al
dec ecx
add byte [eax + 0x71], dl
inc edx
jno 0x5516cd
add byte [edi + ebx*4 - 0x1153ffb7], bl
dec esp
add byte [ecx + ebx*4 - 0x6127ffb9], bh
inc edi
add byte [esi + ebx*4], ah
inc edi
add byte [edx + ebx + 0x47], dh
je 0x5516bc
inc edi
add byte [eax], bh
xchg esp, eax
inc edi
add al, al
pushal
dec ecx
add byte [eax - 0x6f], dh
inc edi
add byte [ecx + ebx + 0x19c00047], bh
inc edi
add byte [ecx + 0x4a780049], dh
inc edi
add byte [0x1b380047], ch
inc edi
add byte [eax - 0x1fffb8da], bh
arpl word [ecx], cx
je 0x551734
dec ecx
add al, dh
daa
inc edi
add byte [eax + 0x64], bl
dec ecx
add ah, bh
dec edx
inc edi
add ah, al
xchg ecx, eax
inc edi
add byte [eax + 0x7c004792], al
lea eax, [edi]
xchg edx, eax
inc edi
add byte [eax - 0x7bffb6b0], bl
push 0x49
add byte [eax + 0x38004765], al
out dx, eax
dec esp
add byte [eax + 0x3d], bl
dec esp
add byte [ecx + edi*2 + 0x49], ah
jns 0x551750
add byte [eax], bl
inc di
add byte [esi], bl
inc edi
add byte [edi + edi], cl
dec esp
add byte [esp + 0x47], bh
add byte [ebx + edx*4 - 0x7d23ffb9], ah
dec ecx
add byte [edi], cl
inc edi
add byte [eax], ah
nop
inc edi
add al, dh
xchg edi, eax
dec ecx
add byte [edx + ecx*2 + 0x4d3c0049], cl
dec ecx
add al, dl
mov byte [ecx], cl
inc esp
pop ecx
ror byte [eax + 0x59440049], 1
dec ecx
add al, al
pop ecx
dec ecx
add byte [ecx + eax*2], bl
dec esp
add al, ch
out dx, al
dec esp
add ah, dl
xchg esi, eax
dec ecx
add byte [ebp + edi*2 - 0x6777ffb7], ch
dec ecx
add ah, bl
arpl word [ecx], cx
xor al, 0x24
mov byte [eax + 0x63dc0049], bl
dec ecx
add byte [esp], dh
push ebp
add byte [ecx], al
add cl, dh
pop ss
push ebp
add byte [eax], cl
add eax, dword [eax]
add byte [eax], al
add al, dh
push eax
popal
outsb dx, byte [esi]
insb byte es:[edi], dx
mov ebp, 0x676b6361
jb 0x551705
mov dl, byte [ecx + 0x13000564]
add byte [eax - 0xc0055e6], dl
mov ecx, 0x41928d90
arpl word [esi + edx*4 + 0x76], si
sahf
mov ebx, dword [edx + 0x1b2c0010]
push ebp
add byte [ecx], cl
mov ecx, 0x43928d90
insb byte es:[edi], dx
outsd dx, dword [esi]
jae 0x551802
invalid
xchg edx, eax
dec ebp
inc esp
dec ecx
inc ebx
push 0x9b646c69
push ss
push ebp
add byte [eax], bl
call 0xb81861
or byte [ebp + 0x44], cl
dec ecx
inc ebx
push 0x1646c69
add byte [eax], al
out dx, eax
mov edi, 0x5700
inc esp
sbb ebp, dword [edx + 0x47483cff]
add byte [eax], al
add byte [eax], al
jg 0x551835
add byte [eax], al
inc esi
add byte [edi], al
push esi
imul esi, dword [ebx + 0x69], 0x8b9a939d
sar byte [ebx + 0x2d], 0x8b
and dword [ebp - 0x6aff6b00], edx
or esp, dword [ecx + 0x569128]
je 0x551855
je 0x5518d6
push esp
add al, byte [eax]
jmp [edi - 0x146a2c18]
mov eax, ebx
call fcn.00479390
cmp eax, dword [esi + 8]
je 0x5518ff
mov byte [0x568ed0], 0xfe
cmp dword [esi + 8], 0
or byte [eax], al
je 0x5518e3
mov dl, 1
mov eax, ebx
call 0x1551844
mov eax, dword [0x569128]
je 0x5518ea
xor ecx, ecx
je 0x5518c1
call fcn.0055c25c
mov edx, esi
mov edi, dword [edi + edx]
mov esp, 0x5e00f471
pop ebx
ret
mov edi, dword [edi + edx]
mov bh, byte [edx - 0xe]
invalid