Function at 0xdb5558
Capabilities:
Encode data using xor

Disassembly:
cmp bh, dl
fild word [edi + 0x39]
or byte [ebx + ebp*8 + 0x3c20008], al
jmp 0xdb5562
add dl, al
add eax, dword [eax]
add byte [eax], al
add byte [eax], al
pushal
call 0xdb5568
jmp 0xdb5562
pushal
call 0xdb5568
pop ebp
sub ebp, 0x10
sub ebp, 0x9b5558
jmp 0xdb557e
push ebp
wait
add cl, ch
add al, 0
add byte [eax], al
sub al, 0xe9
std
xchg dword [eax + 0x9b5558], edi
mov eax, 0x9b5558
wait
add byte [ebx], al
lds eax, [ecx + 0x4cc0]
add byte [ecx + 0x5c3], bh
add eax, ebp
add eax, 0x4c
mov ecx, 0x5c3
add byte [edx + 0x3f04516a], bh
mov edx, 0x3f04516a
xor byte [eax], dl
inc eax
dec ecx
jne 0xdb5595
jmp 0xdb55a8
loope 0xdb5551
loope 0xdb558f
push esi
push 0x6a
push 0xffffffffffffffeb
stosd dword es:[edi], eax
xchg edx, eax
push 0x6a
push 0x69
cmpsd dword [esi], dword es:[edi]
shr byte [ecx + 0x6a], cl
push 0x6a
rol byte [edx + 0x6a], 1
push 0x6a
popfd
mov byte [ecx - 0x5e], ch
loope 0xdb55b3
push 0x6a
push 0x6a
push 0x69
scasd eax, dword es:[edi]
out 0xe, eax
dec esi
xchg esi, eax
jecxz 0xdb5642
dec esi
cmp al, byte [edx]
jle 0xdb5572
jne 0xdb5645
add ch, byte [esi]
or byte [ecx], dl
push 0x6b
inc esi
dec esi
add ch, byte [0x82ee6253]
outsd dx, dword [esi]
push 0x6a
push 0xffffffffffffff83
pop esi
push 0x6a
push 0xffffffffffffffe7
push cs
dec esi
xchg esi, eax
jecxz 0xdb563e
dec esi
loope 0xdb5581
loope 0xdb55ec
bound ebp, qword [edx + 0x6a]
push 0xffffffffffffffe1
jmp dword [esi + 0x6a]
jle 0xdb55c9
jne 0xdb569c
add ch, byte [esi]
or byte [ecx], dl
push 0x6b
inc esi
dec esi
cmp eax, dword [edx + 0x6a6a6a6f]
push 0x6a
adc dword [ecx + 0x68], 0x6a
push 0x3f
push 0xe73f6a6a
push es
aas
out 6, eax
dec esi
push 0xffffffffffffff95
xchg ebp, eax
pop ds
xchg bp, ax
pop ds
bound eax, qword [edx + 0x6a6a6a06]
loope 0xdb562e
bound ebp, qword [edx + 0x6a]
push 0x59
mov dword [0x82e9b859], eax
outsd dx, dword [esi]
and ah, byte [ebp - 0x12]
and al, 0x6a
push 0x6a
loop 0xdb568e
push 0x6a
push 0xc
loope 0xdb56e8
push ebx
ljmp 0x6a70
out dx, al
jnp 0xdb56ed
push 0x6a
or al, 0xeb
xchg ecx, eax
xchg ebp, eax
dec edi
out dx, al
jg 0xdb56f8
push 0x6a
sub eax, dword [ebx - 0x6a6a6a5a]
inc ebx
push ebx
imul ebp, ecx, 0xffffffab
outsd dx, dword [esi]
jmp 0xd85ec524
stosd dword es:[edi], eax
insb byte es:[edi], dx
jmp 0x83c4c531
outsb dx, byte [esi]
test al, 0x66
push 0x3f
loope 0xdb564a
cmp al, 0x3d
aas
loope 0xdb56e8
loope 0xdb56e3
bound edx, qword [esi + 0x6ce0ead8]
jmp 0xdb5680
insd dword es:[edi], dx
jmp 0xdb5689
push 0x6a
push 0x6fef65b8
out dx, eax
outsd dx, dword [esi]
push 0x6a
push 0xffffffffffffffe0
jl 0xdb571c
loopne 0xdb576b
sub al, 0x78
mov eax, 0x95b2e965
js 0xdb56aa
jmp 0x9670ecaa
mov dl, 0x95
xchg ebp, eax
xchg ebp, eax
push 0x6fef65b8
push 0x6a
push 0xffffffffffffffe0
jl 0xdb572f
js 0xdb56bd
jmp 0x6b45c10b
jmp 0x6b45c10b
push 0x6a
push 0xffffffffffffffe0
jl 0xdb5744
js 0xdb56d2
mov eax, 0x6b40e965
push 0x6a
push 0x6fef65b8
push 0x6a
push 0xffffffffffffffe0
jl 0xdb5757
jmp 0x6b45c260
inc eax
imul ebp, dword [edx + 0x6a], 0x68
mov eax, 0x6a6fef65
push 0x6a
loopne 0xdb57a6
sub al, 0x78
mov eax, 0xb868aa79
out dx, eax
js 0xdb56e5
jns 0xdb56d9
push 0x6fef65b8
outsd dx, dword [esi]
push 0x6a
push 0xffffffffffffffe0
jl 0xdb5766
js 0xdb56f4
jns 0xdb56e8
push 0x6fef65b8
push 0x6a
push 0xffffffffffffffe0
jl 0xdb5775
mov eax, 0x6a6fef65
push 0x6a
loopne 0xdb57c4
sub al, 0x78
mov eax, 0xb868aa79
out dx, eax
outsd dx, dword [esi]
js 0xdb5703
jns 0xdb56f7
push 0x6fef65b8
mov eax, 0x6a6fef65
push 0x6a
loopne 0xdb57d3
push 0x6a
push 0xffffffffffffffe0
jl 0xdb5784
sub al, 0x78
mov eax, 0xee65aa79
js 0xdb5712
jns 0xdb5706
out dx, al
insb byte es:[edi], dx
push 0x6a
push 0xffffffffffffffe1
mov ch, 0x41
push 0x6a
loope 0xdb5719
inc ecx
mov dl, 0xe0
imul esp, edx, 0x68d12d6d
push 0x6a
loopne 0xdb57d1
loop 0xdb57d7
sub eax, 0x6a6a68d1
shr dword [eax + 0x6a], 1
push 0x6a
push 0xffffffffffffff83
sbb dl, byte [ebp + 0x6bd29595]
push 0x6a
push 0x68
mov eax, 0x6a6fef65
push 0x6a
sbb dword [edx], 0xffffff95
xchg ebp, eax
xchg ebp, eax
shr byte [ebx + 0x6a], cl
push 0x6a
push 0x6fef65b8
push 0x6a
push 0xffffffffffffffe0
jl 0xdb57b1
loopne 0xdb5800
sub al, 0x78
mov eax, 0xb868aa79
out dx, eax
outsd dx, dword [esi]
js 0xdb573f
jns 0xdb5733
push 0x6fef65b8
push 0x6a
push 0xffffffffffffffe0
jl 0xdb57c0
js 0xdb574e
call 0x9670ed50
inc ecx
test eax, 0x6a6a6bd1
push 0x65
out dx, eax
push 0x6a
out dx, eax
pop esi
push 0x6a
push 0xffffffffffffffd3
imul ebp, dword [edx + 0x6a], 0x6a
push 0x6fef65b8
push 0x68
mov eax, 0x6a6fef65
push 0x6a
loopne 0xdb5834
out dx, eax
out dx, eax
outsd dx, dword [esi]
push 0x6a
push 0xffffffffffffffe0
jl 0xdb57e5
sub al, 0x78
mov eax, 0xb868a379
js 0xdb5773
jns 0xdb5760
push 0x6fef65b8
out dx, eax
out dx, eax
outsd dx, dword [esi]
push 0x6a
push 0xffffffffffffffe0
jl 0xdb57f4
loopne 0xdb5843
sub al, 0x78
mov eax, 0x95b4e865
xchg ebp, eax
xchg ebp, eax
js 0xdb5782
call 0x9670ed84
cmp al, 0xe1
popfd
loope 0xdb5770
inc ecx
lahf
cdq
into
xor al, 0x83
bound edx, qword [ebp - 0x54dd6a6b]
mov ah, byte [edx - 0x20]
insb byte es:[edi], dx
sub al, 0xe1
adc bl, 0x6b
push 0x6a
push 0x68
mov eax, 0x6a6fef65
push 0x6a
loopne 0xdb5871
jl 0xdb5822
sub al, 0x78
mov eax, 0xb868a379
out dx, eax
outsd dx, dword [esi]
js 0xdb57b0
jns 0xdb579d
push 0x6fef65b8
push 0x6a
push 0xffffffffffffffe0
jl 0xdb5831
push 0x6a
loopne 0xdb5880
sub al, 0x78
mov eax, 0x95b4e865
xchg ebp, eax
xchg ebp, eax
js 0xdb57bf
call 0x9670edc1
jmp 0xdb57a1
xchg ebp, eax
xchg ebp, eax
xchg ebp, eax
xchg ebp, eax
jmp 0xdb57ad
xchg ebp, eax
xchg ebp, eax
xchg ebp, eax
jmp 0xdb57b9
jmp 0xdb57c5
push 0x6a
push 0xffffffffffffffeb
mov ebx, 0x6a6a6a6a
cmp al, 0xe1
popfd
inc ecx
lcall 0x94f1, 0x8334ce99
into
xor al, 0x83
int1
xchg esp, eax
xchg ebp, eax
xchg ebp, eax
loopne 0xdb58b8
sub al, 0x59
mov dword [0x656b82aa], eax
out dx, al
jo 0xdb58c0
push 0x6a
jmp 0xdb5815
xchg ebp, eax
aaa
inc ecx
pop ss
invalid
loope 0xdb58d8
dec esi
out 0xe, eax
dec esi
outsb dx, byte [esi]
loope 0xdb58e7
dec esi
out 0xe, eax
dec esi
outsb dx, byte [esi]
sub dword [esi + 0x6a], 0x6a
push 0xffffffffffffffcf
pop esi
push ebp
xchg esi, eax
sal byte [edx], cl
aas
int1
push 0x69
scasd eax, dword es:[edi]
jmp 0xdb584a
sub dword [esi + 0x6a], 0x6a
push 0x6f
into
ror byte [eax], 0xd6
or dh, dl
scasd eax, dword es:[edi]
salc
cmpsb byte [esi], byte es:[edi]
fisub dword [esi]
insd dword es:[edi], dx
salc
cmpsb byte [esi], byte es:[edi]
invalid
insd dword es:[edi], dx
invalid
push ds
push ebp
shr byte [ebx + 0x51515151], 1
pop esi
aad 0x17
push ecx
push ecx
push ecx
push edx
xchg eax, edx
xchg esi, eax
pop ecx
push ecx
push ecx
push ecx
sar byte [eax + 0x51515159], 1
shr byte [eax + 0x51515151], 1
pop esi
aad 0x85
scasb al, byte es:[edi]
scasb al, byte es:[edi]
scasb al, byte es:[edi]
aaa
ficom dword [esi - 0x70]
mov ecx, 0x5eb1d25d
shr byte [ecx + 0x51515152], 1
pop esi
aam 0x5c
push ecx
push ecx
push ecx
aaa
ficom dword [esi - 0x30]
mov cl, 0xae
pop esi
push ecx
push ecx
push edx
xchg ebx, eax
push eax
dec ecx
sbb byte [eax], bl
rcl byte [esi - 0x516647ad], cl
scasb al, byte es:[edi]
scasb al, byte es:[edi]
mov eax, 0x51515155
add ebx, dword [ebp + 0x9e9e17d]
add al, 0xca
push ecx
push edx
xchg esp, eax
rcl byte [ecx + 0x51515543]
call 0x522caa02
jmp 0xdb59c9
jno 0xdb59ec
jno 0xdb59ef
invalid
push cs
jge 0xdb59f3
jle 0xdb5979
int3
push ebp
mov fs, esp
das
in al, 0x65
das
or dh, byte [ecx - 0xe]
push cs
jge 0xdb5a29
jle 0xdb59af
div byte [ecx + 0x71]
jno 0xdb59b1
push cs
jno 0xdb5a33
jle 0xdb59b8
jnp 0xdb5a37
jno 0xdb5a39
push cs
push cs
popal
jno 0xdb5a4b
cmc
push ss
jno 0xdb5a42
jno 0xdb59cf
adc eax, 0x5df88d55
push ebp
cli
movsb byte es:[edi], byte [esi]
cli
push ds
popal
jb 0xdb597f
or al, 0x71
or al, 0x71
jno 0xdb5a63
cmc
jno 0xdb5a5a
jno 0xdb59e1
cwde
cli
sbb byte [ecx - 0xa], dh
cwde
and dword [ebx], esp
neg byte [eax - 0x4785dcdf]
jp 0xdb59ad
jle 0xdb59ef
jge 0xdb5a6a
jno 0xdb5a6c
cld
adc eax, 0x7df88d55
push ebp
cwde
jle 0xdb5a76
jno 0xdb5a78
jb 0xdb59c8
invalid
cli
push ebp
cld
adc eax, 0x34f87555
jno 0xdb5a57
jne 0xdb5a23
xor al, 0x71
sub eax, esi
mov ah, 0x75
jno 0xdb5aa4
invalid
jno 0xdb59cd
salc
mov cs, word [esi - 0x490fd372]
jno 0xdb5ab0
mov cs, word [esi + 0x65b6f02c]
sub al, 0xf0
mov dh, 0x65
jno 0xdb5ab0
jno 0xdb59d9
dec eax
mov cs, word [esi - 0x71eada72]
inc esp
jno 0xdb5abc
jno 0xdb5abe
sbb dword [ecx], ebx
sub ch, dl
jno 0xdb5a77
cld
adc eax, 0x45f88d55
clc
inc ebp
push ebp
out 0xfa, eax
add dword [ebp - 0x19], ecx
cli
cmc
inc ecx
pop ecx
jno 0xdb5ad6
jno 0xdb5ad9
mov bh, 0x8e
xchg ecx, eax
and eax, 0x34511419
pop ds
adc al, 0x51
xor al, 0x1f
sbb byte [esi], dl
sbb al, 0x10
push ecx
and dword [ebx], eax
add ebx, dword [esi]
push ds
add eax, 0x1e051214
add edx, dword [ecx + 7]
adc al, 3
add bl, byte [eax]
push ds
pop ds
push ecx
inc eax
pop edi
inc edx
inc eax
jl 0xdb5b08
xor eax, 0x1d140714
push ds
add dword [ebx + eax], edx
dec ebx
push ecx
daa
sbb eax, 0x1c181510
sbb byte [ebx], al
push ecx
and al, byte [edx + ebx]
sbb dword [esi], ebx
pop es
jl 0xdb5b24
and bl, byte [eax]
add eax, 0x514b5114
sbb dword [0x4b020105], eax
pop esi
pop esi
adc al, 0x1f
sbb byte [esi], dl
sbb al, 0x10
add dword [ebx], eax
push ds
add eax, 0x1e051214
add ebx, dword [edi + 0x12]
push ds
sbb al, 0x5e
jl 0xdb5b49
xor al, 0x5c
sbb al, 0x10
sbb byte [0x2514b51], bl
add al, 1
push ecx
add al, byte [ecx + eax]
add dword [ecx], eax
push ds
add dword [esi], ebx
add eax, dword [0x181f1431]
push ss
sbb al, 0x10
add dword [ebx], eax
push ds
add eax, 0x1e051214
add ebx, dword [edi + 0x12]
push ds
sbb al, 0x7c
jnp 0xdb5b1a
sbb dword [eax], ebx
add dl, byte [ecx + 1]
add ebx, dword [esi]
push ss
add edx, dword [eax]
sbb al, 0x51
sbb byte [edx], al
push ecx
add dword [ebx], eax
push ds
add eax, 0x14051214
adc eax, 0x5180651
sbb dword [ecx + 0x23], edx
xor al, 0x36
cmp byte [edx], ah
adc al, 0x12
add eax, 0x6511514
sbb byte [0x34235119], al
cmp byte ss:[edx], ah
and eax, 0x35342334
push ecx
daa
xor al, 0x23
and esi, dword [esi + 0x23342751]
and bh, byte [eax]
aas
aas
push ecx
push ds
pop ss
push ecx
and eax, 0x34511419
pop ds
sbb byte [esi], dl
sbb al, 0x10
push ecx
and dword [ebx], eax
push ds
add eax, 0x14051214
adc eax, 0x1d307b7c
sbb eax, 0x16180351
sbb dword [0x14035102], eax
add dl, byte [ebx + eax]
push ecx
add edx, dword [edx + eax]
adc al, 3
pop es
adc al, 0x15
push eax
jl 0xdb5bd0
cmp eax, 0x1f140218
adc dl, byte [ecx + edx*2]
sbb dword [esi], ebx
sbb eax, 0x4b031415
push ecx
push esp
add dh, byte [ecx + 3]
add byte [eax], al
add byte [ebp + 0x10], ch
add byte [eax], al
push esp
test dword [eax], 0xd69d600
pushal
and al, 0x46
inc edx
ret 0x2e28
cmc
invalid
invalid
shr dword [ecx - 0x2efbdf9e], 0x4d
jecxz 0xdb5ba1
sal byte [ecx + 0x41b6bd51], cl
cmp eax, 0x6e48e391
mov cl, 0x51
push ecx
mov ebp, 0x913d41b6
jecxz 0xdb5c20
outsb dx, byte [esi]
test byte [ebx], bl
idiv dword [ebx - 0xd]
pop ebp
dec ecx
dec esp
fstp dword [esi + ebx]
mov edx, 0xaabd3b29
push esi
push es
outsd dx, dword [esi]
shl ah, 0xf4
sub dh, cl
push ebx
sub ebx, dword [ecx + 0x71]
movsb byte es:[edi], byte [esi]
test dword [esi - 0x46], ebx
xchg esp, eax
ret
mov edx, 0x562c394
call 0x19aae15e
ror byte [esp + ebp + 0x58], 1
rol byte [ecx], cl
push ebx
wait
mov dl, 0x92
cdq
arpl sp, ax
cmc
js 0xdb5c5f
jg 0xdb5bce
sbb dword [eax - 0x59af1bf3], esp
nop
pop dword [edx + 0x41f013a1]
adc esi, eax
inc ecx
aam 0x71
xchg ebp, eax
jp 0xdb5bba
jecxz 0xdb5bc6
mov eax, dword [0x8c795599]
jp 0xdb5bf8
inc ecx
sahf
test eax, 0x7d531677
rcl byte [edi + 0x4daaeea6], 0x3c
push esi
int1
daa
mov word [ecx + 0x7bf8abb1], ds
dec ecx
imul esp, dword [0x65001db2], 0x40151a2d
mov al, 0x78
sbb edx, ebx
cmp dl, byte [eax + 0x2149ce3f]
lcall 0x1788, 0xd12dfba3
add cl, byte [eax + 0x570ac6c1]
xor byte [ecx + esi*2 - 0x78], 0x3a
fisub dword fs:[esi - 0x79]
mov byte [0xc3a30297], al
out 0x6c, eax
aaa
add edi, dword [esi + eax*8 - 0x73]
cmp esi, dword [eax + 0x19]
inc ebx
js 0xdb5c9e
sti
sub eax, 0x21788d1
mov cl, al
invalid
pop ecx
cmp eax, 0x85dcbcc1
retf 0x2018
hlt