Function at 0x1005b41
Capabilities:
Encode data using xor

Disassembly:
add eax, 0x5111708
pop ss
pop ecx
pop ds
pop ds
pop edi
bound esp, qword [eax + 0xc]
fiadd word [ebx]
fiadd word es:[eax]
adc dword [edi + edx], eax
pop eax
adc eax, dword [ecx + edx]
add al, 9
mov gs, word [ecx + 0x32]
mov cl, 0x72
add eax, 0x8700007
sub byte [ecx], ah
add byte [edx], cl
sub byte [edi], cl
add byte [edx], cl
sub byte [ebx], dl
add byte [eax], al
push es
push ss
sub byte [ebx], bl
add byte [eax], al
push es
and al, ch
add eax, dword [eax]
add byte [eax], ch
push esi
add byte [eax], al
or ch, byte [eax]
dec ebx
add byte [eax], al
or ah, byte [0x622808]
add byte [edx], cl
sub byte es:[ebp], cl
add byte [edx], cl
sub al, 0x11
and al, ch
add eax, dword [eax]
add byte [eax], ch
push esi
add byte [eax], al
or dl, byte [edi]
sub byte [ebx], bl
add byte [eax], al
push es
ficomp word es:[edx]
adc eax, dword [edi]
jb 0x1005bcc
pop es
add byte [eax + 0x11], dh
pop es
outsd dx, dword [esi]
aaa
add byte [eax], al
or ch, byte [eax]
dec edi
add byte [eax], al
or ch, byte [eax]
inc ebp
add byte [eax], al
or bl, dh
add byte [esi], al
sub al, byte [eax]
add byte [eax], al
add dword [eax + eax], ebx
add byte [eax], al
add byte [ebx], cl
sub dword [eax + eax + 3], esi
and byte [eax], al
add byte [ecx], al
add byte [eax], al
push es
add bl, cl
rol dword [eax], 1
sbb ah, byte [eax]
add byte [eax], al
add dword [ebx], edx
xor byte [ebx], al
add byte [eax + eax + 0xb0000], ah
add byte [ecx], dl
add bh, byte [ebx + 0xb]
add byte [eax], al
add al, 0x6f
push ebp
add byte [eax], al
or al, byte [edx]
jnp 0x1005c0e
add byte [eax], al
add al, 0x1d
inc eax
mov word [eax], es
add byte [eax], al
push ss
or dh, byte [edx + 0x5d]
pop ebp
pop es
add byte [eax + 0x28], dh
inc ebp
add byte [eax], al
or ch, byte [eax]
dec ebx
add byte [eax], al
or cl, byte [ebx]
pop es
sbb al, 0x18
sub byte [ebx], ah
add byte [edx], cl
or al, 8
sbb byte [edi + 0x18], bl
xor edi, dword [0x77d72]
pop edi
sbb byte [ebx], dh
cmp eax, 0x77d72
jo 0x1005c44
add ch, byte [eax]
add byte fs:[eax], al
or ch, byte [eax]
dec edi
add byte [eax], al
or ch, byte [eax]
adc eax, dword [eax]
add byte [esi], al
pop es
sbb al, 0x18
sub byte [ebx], ah
sbb byte [eax], ch
arpl word [eax], ax
add byte [edx], cl
or al, 8
sbb byte [edi + 0x18], bl
xor ebx, dword [eax]
jb 0x1005c28
pop es
add byte [eax + 0x12], dh
add ch, byte [eax]
add byte fs:[eax], al
or ch, byte [eax]
dec edi
add byte [eax], al
or ch, byte [eax]
adc eax, dword [eax]
add byte [esi], al
pop ss
or al, byte [esi]
sub al, 0x24
jb 0x1005c9b
or byte [eax], al
jo 0x1005c9a
inc ebp
add byte [eax], al
or al, byte [edi]
sub byte [ebp], ah
add byte [edx], cl
sub byte [eax], ch
add byte [eax], al
push es
jb 0x1005cf4
or byte [eax], al
jo 0x1005caf
dec edi
add byte [eax], al
or ch, byte [eax]
add dword [eax], eax
add byte [esi], al
pop es
sub byte [ebp], cl
add byte [edx], cl
sub bh, dl
add bh, byte [ebx + 0xb]
jnp 0x1005ca7
or eax, dword [eax]
add byte [edi + ebp*2], al
add byte [eax], al
add al, 0x6f
push ebp
add byte [eax], al
or al, byte [edx]
jnp 0x1005cb3
add byte [eax], al
add al, 0x1e
xor ebp, dword [ecx]
sub byte [eax + eax], bl
add byte [esi], al
add byte [eax], al
push es
pop ss
pop ss
add ch, byte [eax]
add byte es:[eax], al
push es
sbb al, byte cs:[edx]
push ss
sub byte [edi], ah
add byte [eax], al
push es
and al, dl
pop es
add byte [eax], al
sub byte [esi], dl
add byte [edx], cl
add dl, byte [edi]
add byte [eax], al
or al, byte [edx]
pop ss
sub byte [edi], ah
add byte [eax], al
push es
sub dl, byte es:[esi + 0x72]
xchg ecx, eax
or byte [eax], al
jo 0x1005d06
inc ebp
add byte [eax], al
or dh, byte [edx - 0x35]
or byte [eax], al
jo 0x1005d10
adc eax, dword [eax]
add byte [esi], al
sub ch, byte [esi + 0x72]
fisttp dword [eax]
add byte [eax + 0x28], dh
outsb dx, byte [esi]
jb 0x1005ccb
or byte [eax], al
jo 0x1005d1c
adc eax, dword [eax]
add byte [esi], al
jb 0x1005ced
or byte [eax], al
jo 0x1005d26
inc ebp
add byte [eax], al
or al, byte [edx]
sub byte [esi], ah
add byte [edx], cl
sub al, byte [eax]
add byte [eax], al
adc esi, dword [eax]
add al, byte [eax]
les eax, [eax]
add byte [eax], al
add byte [eax], al
add byte [eax], al
jb 0x1005d4f
or dword [eax], eax
jo 0x1005d46
inc ebp
add byte [eax], al
or al, byte [ebx]
inc ebp
or al, 0
add byte [eax], al
pop edx
add byte [eax], al
add byte [eax + eax], bh
add byte [esi], cl
add byte [eax], al
jl 0x1005d36
add byte [eax], al
sub al, byte [eax]
add byte [eax], al
jl 0x1005d3e
add byte [eax], al
add byte ss:[eax], al
add byte [edi], al
add byte [eax], al
add byte [eax + eax], bh
add byte [eax], al
jl 0x1005d4a
add byte [eax], al
push ds
add byte [esi], bl
add byte [eax], al
add byte [esi], ah
add byte [eax], al
jb 0x1005d56
add byte [eax], al
add ebx, dword [edi]
adc ch, byte [esi]
cmp eax, 0x4f72752b
or dword [eax], eax
jo 0x1005d8d
adc eax, dword [eax]
add byte [esi], al
add bh, byte [ebx + 0xa]
add byte [eax], al
add al, 0x6f
push esp
add byte [eax], al
or ch, byte [ebx]
pop esi
jb 0x1005de3
imul ecx, dword [ecx], 0
or dword [eax], eax
jo 0x1005da4
adc eax, dword [eax]
add byte [esi], al
sub edx, dword [edx + 0x72]
or dword [ecx], 0x13287000
add byte [eax], al
push es
sub eax, dword [esi + 0x72]
xchg ecx, eax
inc esi
jb 0x1005d21
or dword [eax], eax
jo 0x1005dbc
adc eax, dword [eax]
add byte [esi], al
sub edi, dword [edx]
jb 0x1005d4b
or dword [eax], eax
jo 0x1005dc8
adc eax, dword [eax]
add byte [esi], al
sub ebp, dword [esi]
jb 0x1005d77
or dword [eax], eax
jo 0x1005dd4
add byte [eax + 0x28], dh
adc eax, dword [eax]
add byte [esi], al
sub esp, dword [edx]
jb 0x1005da9
cmc
or dword [eax], eax
jo 0x1005de0
adc eax, dword [eax]
add byte [esi], al
sub edx, dword [esi]
jb 0x1005dcf
or al, byte [eax]
jo 0x1005dec
adc eax, dword [eax]
add byte [esi], al
sub ecx, dword [edx]
jb 0x1005dff
or al, byte [eax]
jo 0x1005df8
sub byte [ebx], dl
add byte [eax], al
push es
adc eax, dword [eax]
add byte [esi], al
add al, byte [ebx]
sub byte [edi], ah
add byte [edx], cl
sub ah, byte [edx]
add al, byte [ebx]
sub byte [eax], ch
add byte [edx], cl
sub al, byte [eax]
add byte [eax], al
sbb esi, dword [eax]
add al, byte [eax]
push 0x2a0a0000
or ch, byte [edx]
add byte [eax], al
add byte [ebx], bl
xor byte [edx], al
add byte [esi], dl
add byte [eax], al
or al, 0
push esi
add byte [eax], al
add byte [eax + eax], cl
add byte [ecx], dl
adc eax, 0xa45720a
add byte [eax + 0x73], dh
jb 0x1005e3d
or al, byte [eax]
jo 0x1005e6f
push edi
add byte [eax], al
or dh, byte [edx - 0x6d]
or al, byte [eax]
jo 0x1005e2e
imul eax, dword [eax], 0xc2c0a00
jb 0x1005db3
or al, byte [eax]
jo 0x1005e3a
inc ebp
add byte [eax], al
or dl, byte [edi]
or bl, dh
sbb byte [ebx], cl
jb 0x1005df6
or al, byte [eax]
jo 0x1005e28
outsd dx, dword [esi]
aaa
add byte [eax], al
or ch, byte [eax]
dec edi
add byte [eax], al
or ch, byte [eax]
inc ebp
add byte [eax], al
or bl, dh
add byte [edx + 0x13], dh
add byte [edx], cl
fiadd word [eax]
jb 0x1005e47
or eax, dword [eax]
jo 0x1005e4a
add byte [eax], ch
push 0
add byte [edx], cl
sub byte [edi], cl
add byte [edx], cl
sub byte [ebp], al
add byte [edx], cl
push es
or ch, byte [eax]
dec edi
add byte [eax], al
or ch, byte [eax]
inc ebp
add byte [eax], al
or al, byte [esi]
sub al, byte [eax]
add byte [ecx], al
adc byte [eax], al
add byte [eax], al
add byte [edx], al
add byte [esi], ah
add byte [eax], al
add dword [eax], edx
add byte [eax], al
add byte [eax], al
add al, byte [eax]
and al, 0x26
add byte [eax], bl
and byte [eax], al
add byte [ecx], al
sbb esi, dword [eax]
add eax, 0x1a400
add byte [0x72110000], cl
inc edi
or eax, dword [eax]
jo 0x1005e96
inc ebp
add byte [eax], al
or dl, byte [0x2f9720a]
add byte [eax + 0xb], dh
jb 0x1005ef3
or eax, dword [eax]
jo 0x1005ef3
imul eax, dword [eax], 0
or cl, byte [eax + ecx]
cmp dword [ecx], edx
add dword [eax], eax
add byte [eax], cl
outsd dx, dword [esi]
pop ebp
add byte [eax], al
or ch, byte [edi + 0x32]
add byte [eax], al
or dl, byte [ebx]
add al, 0x38
adc eax, dword [eax + edi]
in eax, 0
add byte [eax], al
adc dword [edi + ebp*2], eax
xor eax, dword [eax]
add byte [edx], cl
je 0x1005ec5
add byte [eax], al
add dword [ebx], edx
add eax, 0xeb720511
or eax, dword [eax]
jo 0x1005f22
outsd dx, dword [esi]
cmp al, 0
add byte [edx], cl
je 0x1005eba
add byte [eax], al
sbb edx, dword [ebx]
push es
add byte [ebx], bl
adc eax, dword [esi]
adc dword [esi], eax
cmp dword [ecx + 0x11000000], esp
push es
adc dword [esi], eax
invalid
add byte [edx], cl
adc dword [esi], eax
adc dword [edi], eax
lcall 0x720a, 0x6d6f
xchg ebx, eax
or al, byte [eax]
jo 0x1005f2d
insd dword es:[edi], dx
add byte [eax], al
or ch, byte [edi + 0x3b]
add byte [eax], al
or ch, byte [eax*2 + 0x4d720511]
or al, 0
jo 0x1005f87
cmp al, 0
add byte [edx], cl
outsd dx, dword [esi]
aaa
add byte [eax], al
or dh, byte [edx + 0x57]
push edi
or al, 0
jo 0x1005f96
cmp eax, dword [eax]
add byte [edx], cl
sub al, 0x28
jb 0x1005eb2
or al, 0
jo 0x1005f44
push es
jb 0x1005ef9
or al, 0
jo 0x1005f62
outsb dx, byte [esi]
add byte [eax], al
or ch, byte [eax]
inc ebp
add byte [eax], al
or dl, byte [ecx]
add eax, 0xcdf72
jo 0x1005fba
cmp al, 0
add byte [edx], cl
outsd dx, dword [esi]
aaa
add byte [eax], al
or cl, byte [ebx]
adc dword [edi], eax
pop ss
pop eax
adc eax, dword [edi]
adc dword [edi], eax
adc dword [esi], eax
mov gs, word [ecx + 0x3f]
outsd dx, dword [esi]
invalid
add byte [edx], cl
cmp cl, byte [edi]
invalid
ud0
outsd dx, dword [esi]
pop ds
add byte [eax], al
or bl, ah
adc al, byte [ebx]
jb 0x1005f20
or eax, 0x57287000
push edi
add byte [eax], al
or al, byte [edi]
jb 0x1005fa4
add al, byte [eax]
jo 0x1005fd7
inc esp
add byte [eax], al
or ch, byte [eax - 0x21f6eceb]
dec edi
jb 0x1005f8a
or eax, 0x3127000
invalid
sub byte [eax + eax], ch
or ch, byte [eax]
inc ebp
add byte [eax], al
or cl, byte [ecx]
pop es
add ebp, dword [eax]
outsd dx, dword [esi]
add byte [eax], al
or dl, byte [edi]
or bl, dh
sbb dl, byte [ebx]
or dh, byte [edx - 2]
or eax, 0xa117000
outsd dx, dword [esi]
aaa
add byte [eax], al
or ch, byte [eax]
dec edi
add byte [eax], al
or ch, byte [eax]
inc ebp
add byte [eax], al
or bl, dh
add byte [esi], al
sub dl, byte [ecx]
or dword [edx], ebp
inc ecx
dec esp
add byte [eax], al
add byte [eax], al
add byte [eax], al
inc ebx
add byte [eax], al
add byte [ebp], bh
add dword [eax], eax
add byte [edx], bl
add byte [eax], al
add byte [eax], ah
add byte [eax], al
add dword [edx], eax
add byte [eax], al
add byte [eax], dh
add byte [eax], al
add al, bh
add byte [eax], al
add byte [eax], ch
add dword [eax], eax
add byte [eax + eax], cl
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
sbb eax, 0x68000000
add dword [eax], eax
add byte [ebp + 0x1a000001], al
add byte [eax], al
add byte [eax], ah
add byte [eax], al
add dword [edx + 0x28], ebp
jo 0x100605c
add byte [edx], cl
outsd dx, dword [esi]
jno 0x1006061
add byte [edx], cl
jae 0x10060d7
add byte [eax], al
or ch, byte [eax]
jae 0x100606b
add byte [edx], cl
sub byte [eax + eax], dh
or ch, byte [edx]
jp 0x1006078
sub al, 0x13
add bh, byte [ebx + 0xf]
jnp 0x1006089
add byte [eax], al
add al, 0x2c
or eax, dword [edx]
jnp 0x1006091
add byte [eax], al
add al, 0x6f
pop ds
add byte [eax], al
or al, byte [edx]
add ebp, dword [eax]
jne 0x100608f
add byte [edx], cl
sub ah, byte [edx + 0xe607202]
add byte [eax + 0x28], dh
jbe 0x100609c
add byte [edx], cl
add dl, byte [edi]
sub byte [edi], dh
add byte [edx], cl
add dl, byte [edi]
sub byte [eax], bh
add byte [edx], cl
add dl, byte [edi]
sub byte [ecx], bh
add byte [edx], cl
add dl, byte [edi]
sub byte [edx], bh
add byte [edx], cl
sub ch, byte [esi]
jb 0x1006130
push cs
add byte [eax - 0x80], dh
or eax, 0x2a040000
push edx
pop ss
lea ebx, [edx]
add byte [eax], al
add dword [0x107316], esp
add byte [esi], al
mov byte [0x7b28], al
or ch, byte [edx]
inc edx
push ebx
jnp 0x10060d9
add byte [edx], cl
sub al, byte [edx + 0x53]
dec edx
inc edx
add dword [eax], eax
add dword [eax], eax
add byte [eax], al
add byte [eax], al
or al, 0
add byte [eax], al
jbe 0x1006122
xor byte cs:[esi], ch
xor esi, dword [eax]
xor esi, dword [ecx]
cmp dword [eax], eax
add byte [eax], al
add byte [0x6c00], al
add byte [eax + 0x2300000d], dh
jle 0x1006107
add byte [esi + ecx], bl
add byte [eax], al
in al, 0x11
add byte [eax], al
and edx, dword [ebx + 0x74]
jb 0x100617e
outsb dx, byte [esi]
jae 0x1006119
add byte [eax], al
add byte [eax], al
and byte [eax], al
add byte [esi + ecx + 0x55230000], bh
push ebx
add byte [eax], al
and edx, dword [ebp + 0x53]
add byte [esi + ebp + 0x100000], bh
add byte [eax], al
and eax, dword [edi + 0x55]
dec ecx
inc esp
add byte [eax], al
add ah, cl
add byte cs:[eax], al
sub al, 4
add byte [eax], al
and eax, dword [edx + 0x6c]
outsd dx, dword [esi]
bound eax, qword [eax]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add al, byte [eax]
add byte [ecx], al
push edi
cmp eax, 0xb091c02
add byte [eax], al
add dl, bh
add dword [ebx], esi
add byte [esi], dl
add byte [eax], al
add dword [eax], eax
add byte [eax], al
dec ebp
add byte [eax], al
add byte [eax + eax], cl
add byte [eax], al
dec esp
add byte [eax], al
add byte [eax + eax], ch
add byte [eax], al
aaa
add byte [eax], al
add byte [ebx], bh
add byte [eax], al
and eax, dword [eax]
add byte [eax], al
sldt word [eax]
add byte [ebx], al
add byte [eax], al
add byte [0x4000000], cl
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [esi], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [edi], al
add byte [eax], al
add byte [ebx], al
add byte [eax], al
add byte [esi], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [eax + 8], cl
add dword [eax], eax
add byte [eax], al
add byte [eax], al
push es
add byte [eax + 7], dh
mov bh, 0xd
push es
add ch, bl
pop es
mov bh, 0xd
push es
add byte [esi + 6], bh
test dword [0xe4d000f], ecx
add byte [eax], al
push es
add byte [esi + 0x60ada06], ah
add byte [0x60ada07], bh
add byte [esi], bl
pop es
fimul dword [edx]
push es
add ah, al
pop es
fimul dword [edx]
push es
add byte [eax + 0x60ada07], dl
add byte [ecx + 0x60ada07], ch
add byte [ebp + 0x60ada06], bh
add byte [edx + 0x60d9806], dl
add byte [eax + 6], dh
cwde
or eax, 0x7010006
fimul dword [edx]
push es
add al, bl
push es
lea ecx, [eax]
push es
add byte [esi], dl
push es
dec esp
or al, byte [esi]
add dh, ch
cmovl ecx, dword [edx]
push es
add byte [edi + 0xa], bh
dec esp
or cl, byte [edx]
add byte [edx + 7], bl
cmp ecx, dword [ecx]
push cs
add byte [ebp + 0xa09790c], al
add byte [edx + 0x12093b0c], bh
add byte [esi + 0xc], ah
pop ecx
movlps xmm0, qword [eax]
push ebp
or al, 0x59
femms
add bl, cl
push cs
jns 0x100624f
push es
add byte [ebx], bh
adc ebp, ebx
add byte [edx], dl
add byte [ecx + 6], cl
push es
pop ecx
invalid