Function at 0x410013
Capabilities:
Encode data using xor

Disassembly:
jae 0x40fe9a
add byte [eax], al
or cl, byte [edx]
jle 0x40ff35
add byte [eax], al
or cl, byte [ebx]
add ebp, dword [esi + ecx]
add ecx, dword [esi + 0x8311669]
adc al, 3
imul edx, dword [esi], 0x3140831
sub byte [eax], ch
add byte [esi], al
or ecx, dword [esi]
push 0xb060000
push cs
add al, 0x17
xor ebx, dword [ebx]
push es
sbb eax, dword [esi]
jb 0x40ff0d
adc eax, dword [eax]
jo 0x40ff2c
sub byte [ebx], cl
add byte [edx], cl
outsd dx, dword [esi]
lcall 0x605, 0xe0a0000
outsd dx, dword [esi]
and eax, dword [eax]
add byte [eax], al
or cl, byte [esi]
add eax, 0x236f06
add byte [edx], cl
sub al, byte es:[esi]
pop es
outsd dx, dword [esi]
lcall 0x507, 0x60a0000
sub byte [ebx], ch
add byte [esi], al
or al, 4
or byte [edi - 0x65], ch
add byte [eax], al
or ch, byte [edx]
add byte [eax], al
add byte [ebx], dl
xor byte [esi], al
add byte [edx], bh
add byte [eax], al
and eax, 0x3110000
sbb byte [ebp + 0x1000028], cl
adc ecx, dword [eax]
adc dword [eax], ecx
push ss
jb 0x40ffdf
add al, 0
jo 0x40ff14
adc dword [eax], ecx
pop ss
jb 0x40fefc
add al, 0
jo 0x40ff1d
adc dword [eax], ecx
sub byte [ebp], ch
add byte [esi], al
or al, byte [esi]
sub byte [esi], ch
add byte [esi], al
or eax, dword [esp + ecx]
pop es
sub byte [edx], dh
add byte [edx], cl
sub eax, 0x6f280707
add byte [eax], al
push es
pop es
pop es
sub byte [edi], ch
add byte [esi], al
or al, 0xd0
inc ecx
add byte [eax], al
add dword [eax], ebp
sub dword [eax], eax
add byte [edx], cl
sub byte [esi], cl
add byte [edx], cl
or eax, 0x140e72
jo 0x40ffc4
add al, 9
outsd dx, dword [esi]
popfd
add byte [eax], al
or ch, byte [edi - 0x62]
sahf
add byte [eax], al
or dl, byte [ebx]
add eax, 0x5110411
adc al, 3
or byte [ebx - 0x61], dh
add ecx, dword [eax]
jae 0x40ff67
add byte [eax], al
or dl, byte [ebx]
push es
add dl, byte [ecx]
push es
jae 0x410015
add byte [eax], al
push es
adc eax, dword [edi]
adc dword [edi], eax
sub al, byte [eax]
add byte [ebx], bl
xor byte [esi], al
add byte [ecx], dl
add dword [eax], eax
add byte [esi], ah
add byte [eax], al
adc dword [edx], eax
cmp dword [edx], ecx
add dword [eax], eax
add byte [esi + 0x31], bh
add byte [eax], al
or cl, byte [edx]
add ebp, dword [esi + ecx]
add ecx, dword [esi + 0x8311669]
adc al, 3
sub byte [eax], ch
add byte [esi], al
or al, byte [esi]
pop ss
lea ebp, [eax]
add byte [eax], al
add dword [ebx], edx
or dword [ecx], edx
or dword [esi], edx
jb 0x40ff93
adc al, 0
jo 0x40ffb9
adc dword [ecx], ecx
sub byte [ebp], ch
add byte [esi], al
or eax, dword [edi]
sub byte [esi], ch
add byte [esi], al
or al, 8
sub byte [edx], dh
add byte [edx], cl
sub eax, 0xa0280825
add byte [eax], al
or ch, byte [0x7207061d]
nop
adc al, 0
jo 0x410066
mov eax, dword [0x80a0000]
sub byte [edx + 0x280a0000], al
dec ebx
add byte [eax], al
or ch, byte [edi - 0x5e]
add byte [eax], al
or cl, byte [edx]
ficomp word [eax]
or eax, 0xa32809
add byte [edx], cl
sub al, 2
invalid
or dword [ebx - 0x5c], esi
add byte [eax], al
or bh, byte [edx + 8]
sub byte [edx], dh
add byte [edx], cl
sub al, 0x3d
push es
sub byte [edx], dh
add byte [edx], cl
sub eax, 0x9272061a
adc eax, dword [eax]
jo 0x41009f
outsd dx, dword [esi]
movsd dword es:[edi], dword [esi]
add byte [eax], al
or ch, byte [0x9272060c]
adc eax, dword [eax]
jo 0x4100ba
dec ebx
add byte [eax], al
or cl, byte [edx]
push es
jb 0x41002a
adc al, 0
jo 0x4100c6
mov eax, dword [0x720a0000]
mov byte [0x28700014], al
add byte [eax], al
or dh, byte [edx - 0x5e]
adc al, 0
jo 0x4100d0
add byte [eax], 0
or ch, byte [eax]
xor byte [eax], al
add byte [edx], cl
or dl, al
inc ecx
add byte [eax], al
add dword [eax], ebp
sub dword [eax], eax
add byte [edx], cl
sub byte [esi], cl
add byte [edx], cl
adc eax, dword [edx + esi*2]
mov edx, 0x13700014
add byte [eax + 0x13], dh
add eax, 0x9d6f0411
add byte [eax], al
or ch, byte [edi - 0x62]
add byte [eax], al
or dl, byte [ebx]
push es
adc dword [0x6140611], eax
sbb dword [ebx - 0x61], esi
add byte [eax], al
or dl, byte [ebx]
pop es
adc al, 0x11
pop es
jae 0x41012e
add byte [eax], al
push es
adc ecx, dword [eax]
add al, 0x11
or byte [edi - 0x65], ch
add byte [eax], al
or ch, byte [edx]
add byte [eax], al
add byte [ecx], al
adc byte [eax], al
add byte [eax], al
add byte [esi], bh
add byte [edi], ch
insd dword es:[edi], dx
add byte [eax], bl
add eax, 0x13010000
xor byte [eax + eax], al
jl 0x410112
add byte [eax], al
daa
add byte [eax], al
adc dword [edx], eax
pop ss
lea ebp, [ecx]
add byte [eax], al
add dword [ebx], edx
add eax, 0x1f160511
cmp ebx, dword [ebp - 0x5990faef]
add byte [eax], al
or cl, byte [edx]
push es
or al, byte [esi]
adc eax, dword [esi]
push ss
adc eax, dword [edi]
sub edx, dword [eax + 0x11]
push es
adc dword [edi], eax
lcall 0x1316, 0x813030b
or dword [ebx], ebp
xor al, 0x11
or byte [ecx], dl
or dword [edx + 0x7208070c], ebx
push ds
adc eax, 0x4b287000
add byte [eax], al
or bl, byte [ebx]
outsd dx, dword [esi]
outsd dx, dword [esi]
add byte [eax], al
or ch, byte [0x1b07080a]
sub byte [ebx], dh
add byte [edx], cl
sub eax, dword [ecx]
pop ss
or eax, 0x7052c09
adc eax, dword [esi + ebx*8]
push ds
adc dword [ecx], ecx
pop ss
pop eax
adc ecx, dword [ecx]
adc dword [ecx], ecx
adc dword [eax], ecx
mov gs, word [ecx + 0x32]
les edx, [ecx]
pop es
pop ss
pop eax
adc eax, dword [edi]
adc dword [edi], eax
adc dword [esi], eax
mov gs, word [ecx + 0x32]
test al, 0x14
sub dl, byte [ecx]
add al, 0x2a
adc esi, dword [eax]
add al, 0
sub eax, 0x28000000
add byte [eax], al
adc dword [edx + ecx], edx
add ch, byte [eax]
jb 0x4101a6
add byte [edx], cl
sub eax, 0x8d170221
sub dword [eax], eax
add byte [ecx], al
or al, 8
push ss
pop ds
cmp eax, 0xa66f089d
add byte [eax], al
or cl, byte [ebx]
pop es
mov gs, word [ecx + 0x17]
xor byte [ebx], al
adc al, 0x2b
add eax, dword [edi]
pop ss
lcall 0, 0x2a060a
adc esi, dword [eax]
add eax, dword [eax]
mov dl, 0
add byte [eax], al
sub dword [eax], eax
add byte [ecx], dl
sbb byte [edx], cl
add dh, byte [edx + 0x22]
adc eax, 0x281b7000
jae 0x4101e8
add byte [edx], cl
sub eax, 0x2672020e
adc eax, 0x281b7000
jae 0x4101f6
add byte [edx], cl
sub al, 7
push ss
or bh, byte [eax]
mov eax, dword [eax]
add byte [eax], al
add dh, byte [edx - 0x7d]
add eax, 0x281b7000
jae 0x41020b
add byte [edx], cl
sub eax, 0x3272020e
adc eax, 0x281b7000
jae 0x410219
add byte [edx], cl
sub al, 4
pop ss
or ch, byte [ebx]
imul eax, dword [edx], 0x72
inc edx
adc eax, 0x281b7000
jae 0x41022b
add byte [edx], cl
sub eax, 0x4672020e
adc eax, 0x281b7000
jae 0x410239
add byte [edx], cl
sub al, 4
sbb byte [edx], cl
sub ecx, dword [ebx + 2]
jb 0x410298
adc eax, 0x281b7000
jae 0x41024b
add byte [edx], cl
sub eax, 0x5872020e
adc eax, 0x281b7000
jae 0x410259
add byte [edx], cl
sub al, 4
sbb dword [edx], ecx
sub ebp, dword [ebx]
add dh, byte [edx + 0x6a]
adc eax, 0x281b7000
jae 0x41026b
add byte [edx], cl
sub eax, 0x7472020e
adc eax, 0x281b7000
jae 0x410279
add byte [edx], cl
sub al, 4
sbb cl, byte [edx]
sub ecx, dword [ebx]
jb 0x41020d
adc eax, 0x28027000
inc ecx
add byte [eax], al
push es
push es
sub al, byte [eax]
add byte [ebx], dl
xor byte [eax + eax], al
inc ebx
add byte [eax], al
add byte [edx], ch
add byte [eax], al
adc dword [ebx + 0x21], esi
sub al, byte [eax]
add byte [ecx], dl
jae 0x4102bf
add byte [eax], al
or cl, byte [edx]
add dl, byte [ebx]
add al, 0x16
adc eax, dword [0x4112b2b]
adc dword [0x28070b9a], eax
and byte [eax], al
add byte [esi], al
or al, 7
or byte [ebx], al
sub byte [edx], dh
add byte [esi], al
or eax, 0x8030906
sub byte [ebx], dh
add byte [esi], al
outsd dx, dword [esi]
and eax, dword [eax]
add byte [edx], cl
adc dword es:[0x5135817], eax
adc dword [0x698e0411], eax
xor cl, ch
push es
sub al, byte [eax]
adc esi, dword [eax]
or byte [eax], al
out 0, al
add byte [eax], al
sub eax, dword [eax]
add byte [ecx], dl
jae 0x410295
add byte [eax], al
or cl, byte [edx]
add dl, byte [ebx]
or dword [esi], edx