Function at 0x4137da
Capabilities:
Encode data using xor

Disassembly:
je 0x4137ee
add byte [eax], al
add dword [esi + eax], ecx
or byte [ebx], bl
sub byte [esi], ah
add byte [eax], al
or ch, byte [0xbd720310]
push cs
add byte [eax + 2], dh
add ch, byte [edi + 0x33]
add byte [eax], al
push es
pop ss
or ebp, dword [ebx]
or dword [ecx], edx
or ch, byte [edi + 0x76]
add byte [eax], al
or ch, byte [0x1115ded0]
or dh, byte [ebp + 0x50]
adc eax, 0x50750a11
add byte [eax], al
add dword [ebx], edx
or edx, dword [ecx]
or ebp, dword [edi + eax]
adc dword [ebx], ecx
outsd dx, dword [esi]
ja 0x413801
add byte [edx], cl
fadd qword [edi]
sub eax, 0x4d7e7b
add byte [esi + eax], al
outsd dx, dword [esi]
and eax, dword [eax]
add byte [edx], cl
push es
sub byte [eax + eax], bh
or dh, byte [ebx + 0x7d]
add byte [eax], al
or dl, byte [ebx]
add al, 0x73
and dword [eax], eax
add byte [edx], cl
or eax, 0x4113b2b
outsd dx, dword [esi]
jle 0x41382d
add byte [edx], cl
push ss
lea ebp, [ecx]
add byte [eax], al
add dword [edi + 0x7f], ebp
add byte [eax], al
or dl, byte [ebx]
add eax, 0xf1720511
push cs
add byte [eax + 0x1a], dh
outsd dx, dword [esi]
outsd dx, dword [esi]
add byte [eax], al
or ch, byte [0x5110918]
sub byte [eax + 0x160a0000], al
lea ebp, [ecx]
add byte [eax], al
add dword [eax], ebp
push ds
add byte [eax], al
push es
outsd dx, dword [esi]
sub byte [eax], al
add byte [edx], cl
adc dword [edi + ebp*2], eax
add dword [eax], 0x33150a00
mov ebx, 0x4110cde
sub al, 7
adc dword [edi + ebp*2], eax
ja 0x413878
add byte [edx], cl
fmul qword [ecx]
add ebp, dword [eax]
push edi
add byte [eax], al
push es
fimul word [eax + 0x13]
push es
add esi, dword [edx - 0xb]
push cs
add byte [eax + 2], dh
adc dword [esi], eax
outsd dx, dword [esi]
xor al, 0
add byte [esi], al
fidiv word [esi]
adc eax, dword [edi]
add esi, dword [edx - 0xb]
push cs
add byte [eax + 2], dh
adc dword [edi], eax
outsd dx, dword [esi]
xor al, 0
add byte [esi], al
fisub word [ebx + edx]
or byte [ebx], al
jb 0x4138a2
push cs
add byte [eax + 2], dh
adc dword [eax], ecx
outsd dx, dword [esi]
xor al, 0
add byte [esi], al
ficom word [edx]
adc ecx, dword [ecx]
add esi, dword [edx - 0xb]
push cs
add byte [eax + 2], dh
adc dword [ecx], ecx
outsd dx, dword [esi]
xor al, 0
add byte [esi], al
fiadd word [eax]
sub al, byte [eax]
add byte [eax], al
inc ecx
xchg esp, eax
add byte [eax], al
add al, byte [eax]
add byte [eax], al
dec edi
add byte [eax], al
add byte [eax + eax], dh
add byte [eax], al
add dword [eax], 0
add byte [0], dl
add byte [eax], al
add byte [edx], al
add byte [eax], al
add byte [eax + eax + 0x4f0000], dh
add byte [eax], al
add eax, dword [ecx]
add byte [eax], al
or al, 0
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], al
sbb byte [ecx], al
add byte [eax], al
sbb byte [ecx], al
add byte [eax], al
adc al, byte [eax]
add byte [eax], al
push esp
add byte [eax], al
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], bl
add dword [eax], eax
add byte [edx], ch
add dword [eax], eax
add byte [edx], dl
add byte [eax], al
add byte [ebp], dl
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
sbb byte [ecx], al
add byte [eax], al
cmp al, 1
add byte [eax], al
adc al, byte [eax]
add byte [eax], al
push esi
add byte [eax], al
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], bl
add dword [eax], eax
add byte [esi + 1], cl
add byte [eax], al
adc al, byte [eax]
add byte [eax], al
push edi
add byte [eax], al
add esi, eax
add al, 0x6f
sbb eax, dword [eax]
add byte [edx], cl
sub eax, 0x6f030220
daa
add byte [eax], al
push es
sub al, 3
add eax, 0x3020a2d
push cs
add al, 0x6f
and eax, 0x2a060000
add al, byte [0x326f040e]
add byte [eax], al
push es
sub al, byte [edx]
push cs
add al, 0x6f
xor dword [eax], eax
add byte [esi], al
sub al, byte [eax]
add byte [ebx], al
xor byte [esi], al
add byte [edi], bl
add byte [eax], al
add byte [eax], al
add byte [eax], al
add al, 0x6f
sbb eax, dword [eax]
add byte [edx], cl
pop ss
xor byte [esi + ecx], al
add eax, 0x302472d
outsd dx, dword [esi]
sub al, byte [eax]
add byte [esi], al
sub al, 3
add eax, 0x6f04312d
sbb eax, dword [eax]
add byte [edx], cl
push ss
xor dword [ecx], ecx
add al, 0x17
outsd dx, dword [esi]
jo 0x4139cb
add byte [edx], cl
adc byte [edx], al
add al, byte [ebx]
push cs
pop es
add al, 0xe
add al, 0xe
push es
outsd dx, dword [esi]
add byte es:[eax], al
push es
sub eax, 0x2c050e23
pop ds
add cl, byte [esi]
add eax, 0x326f070e
add byte [eax], al
push es
sub al, byte [edx]
add eax, 0x326f070e
add byte [eax], al
push es
sub al, byte [edx]
push cs
add eax, 0x326f070e
add byte [eax], al
push es
sub al, byte [eax]
adc esi, dword [eax]
add al, 0
insb byte es:[edi], dx
add byte [eax], al
add byte [eax], bl
add byte [eax], al
adc dword [edx], eax
or al, byte [edx]
sbb dword [edi + 0x28], ebp
add byte [eax], al
push es
sub eax, 0x4c7e5f
add byte [edx + esi*2], al
and dword [edi], ecx
add byte [eax + 0x28], dh
add byte [eax], 0
or cl, byte [ebx]
pop es
sub byte [edx], bh
add byte [edx], cl
sub al, 0x47
jae 0x413a59
add byte [eax], al
push es
or dh, byte [edx + 0x75]
or al, 0
jo 0x413a46
sub byte [ebx], cl
add byte [edx], cl
push es
sub byte [ecx], bl
add byte [esi], al
pop ecx
add byte [eax], al
push es
push es
sbb dword [edi + 0x28], ebp
add byte [eax], al
push es
sub al, 0x12
push es
jb 0x413a8f
invalid
push es
sbb dword [edi + 0x29], ebp
add byte [eax], al
push es
outsd dx, dword [esi]
xor al, byte [eax]
add byte [esi], al
push es
outsd dx, dword [esi]
das
add byte [eax], al
push es
sub al, 6
pop ss
or byte [esi], 0
add al, 6
add ch, byte [edi + 0x38]
add byte [eax], al
push es
push es
sub dl, byte [ebx]
xor byte [eax + eax], cl
bound eax, qword [ecx]
add byte [eax], al
sbb dword [eax], eax
add byte [ecx], dl
push ss
or cl, byte [esi]
or eax, dword [edx]
sub byte [esi], bl
add byte [esi], al
add byte [eax], al
push es
push edx
add bl, byte [eax]
outsd dx, dword [esi]
sub byte [eax], al
add byte [esi], al
sub eax, 0x752805
add byte [esi], al
push es
add dl, byte [esi]
outsd dx, dword [esi]
sub byte [eax], al
add byte [esi], al
sub al, 0xa
sub byte [esi], dh
add byte [esi], al
cmp byte [ecx + eax], bl
add byte [eax], al
add bl, byte [esi]
outsd dx, dword [esi]
sub al, byte [eax]
add byte [esi], al
sub al, 0xb
add ch, byte [eax]
pop edi
add byte [eax], al
push es
cmp byte [eax], cl
add dword [eax], eax
add byte [edx], al
outsd dx, dword [esi]
aaa
add byte [eax], al
push es
add dl, byte [edi]
outsd dx, dword [esi]
sub byte [eax], al
add byte [esi], al
sub al, 0xa
sub byte [eax], bh
add byte [esi], al
cmp bh, ch
add byte [eax], al