Function at 0x406fc9
Capabilities:
Encode data using xor

Disassembly:
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
pop ds
xchg edi, eax
bound esi, qword [eax]
mov eax, 0x55f9825d
ror dh, 1
das
std
push cs
xchg dh, bh
invalid
jne 0x407000
sub ecx, dword [ebx]
cmp cl, dh
adc eax, edi
pop edx
aas
push 0x5a6cb57e
mov esi, 0x420b4c1e
mov bl, 0x46
adc esi, dword [eax]
sbb dword [edi - 0x2c], edi
jnp 0x406f72
scasd eax, dword es:[edi]
mov al, 0x72
mov dl, 0x61
mov dl, 0x14
imul eax, dword [ebp - 0x1926dba8], 0x4b69ca3c
dec ecx
jmp 0x14c244fc
push ds
add ch, byte [eax]
sbb eax, dword [eax]
add byte [edx], cl
sub dh, byte [edx + 2]
add edi, dword [ebp + 1]
add byte [eax], al
add al, 2
add al, 0x7d
add al, byte [eax]
add byte [edx + eax], al
jnp 0x40701c
add byte [eax], al
add al, 0x17
outsd dx, dword [esi]
sbb al, 0
add byte [edx], cl
pop ss
sub al, byte [eax]
add byte [eax], al
adc esi, dword [eax]
add eax, 0x19e00
add byte [ecx], al
add byte [eax], al
adc dword [edx + ecx], edx
jb 0x407039
add byte [eax], al
jo 0x407064
add byte [eax + 0x28], dh
sbb eax, 0x730a0000
push ds
add byte [eax], al
or cl, byte [ebx]
add bh, byte [ebx + 2]
add byte [eax], al
add al, 0x72
cmp eax, dword [eax]
add byte [eax + 0x72], dh
inc edi
add byte [eax], al
jo 0x407069
add byte [edi + 0x1f], ch
add byte [eax], al
or ah, byte [esi]
push es
adc ecx, dword [0x380e1316]
dec edi
add dword [eax], eax
add byte [ecx], dl
or eax, 0xc9a0e11
cmp byte [edi + 1], cl
add byte [eax], al
adc dword [0xc9a0e11], ecx
or byte [edi + 0x20], ch
add byte [eax], al
or dh, byte [edx + 0x4f]
add byte [eax], al
jo 0x4070a3
and dword [eax], eax
add byte [edx], cl
or eax, 0x2041317
jnp 0x407088
add byte [eax], al
add al, 0x17
lea edx, [edi]
add byte [ecx], al
adc ecx, dword [edi]
adc dword [edi], ecx
push ss
or byte [edi + 0x22], ch
add byte [eax], al
or ah, byte [edx + 0x236f0f11]
add byte [eax], al
or ch, byte [0x5d720b]
add byte [eax + 0x73], dh
or esi, dword [edx + 0x5d]
add byte [eax], al
jo 0x40711d
and al, 0
add byte [edx], cl
jp 0x4070b3
outsd dx, dword [esi]
and eax, 0x130a0000
adc byte [esi], dl
add byte [edx], cl
adc edx, dword [eax]
push ss
adc edx, dword [ecx]
sub ebp, dword [edx + 0x11]
adc byte [ecx], dl
adc dword [edx + 0x5110513], ebx
pop ss
sub byte [eax + eax + 0x1f2c0600], dl
jb 0x4070d0
add byte [eax], al
jo 0x4070fb
add byte [eax + 0x28], dh
sbb eax, 0x730a0000
push ds
add byte [eax], al
or dh, byte [edx + 0x10]
add dword [eax], eax
jo 0x407151
add byte es:[eax], al
or dh, byte [ebx + 0x27]
add byte [eax], al
or bh, byte [edx + 9]
adc dword [0x2128], eax
or dl, byte [ebx]
push es
adc dword [esi], eax
sub byte [eax], ch
add byte [eax], al
or ch, byte [ecx]
add byte [edx], cl
sub al, 0x21
adc dword [esi], eax
sub byte [ecx], ch
add byte [eax], al
or ch, byte [eax]
sub al, byte [eax]
add byte [edx], cl
outsd dx, dword [esi]
sub eax, dword [eax]
add byte [edx], cl
jb 0x40714a
add dword [eax], eax
jo 0x407131
sub byte [eax + eax], ch
add byte [edx], cl
sub al, 3
push ss
adc eax, dword [ecx + edx]
adc dword [edi], edx
pop eax
adc edx, dword [ecx]
adc dword [ecx], edx
adc dword [eax], edx
mov gs, word [ecx + 0x32]
mov es, word [ebx]
outsd dx, dword [esi]
sub eax, 0x130a0000
add byte [eax], al
or dl, byte [ebx]
pop es
add ebp, dword [edi + 0x25]
add byte [eax], al
or dl, byte [ebx]
or byte [ecx], dl
pop es
mov gs, word [ecx + 3]
outsd dx, dword [esi]
sub eax, 0x8e0a0000
imul ebp, dword [esi], 0x142720b
add byte [eax + 0x73], dh
or esi, dword cs:[edx + 0x42]
add dword [eax], eax
jo 0x4071c5
jae 0x407177
and al, 0
add byte [edx], cl
jp 0x40716e
add byte [eax], al
or bh, byte [edx + 0x16]
adc ecx, dword [ecx]
sub ecx, dword [esi + 2]
jnp 0x407161
add byte [eax], al
add al, 0x6f
add byte cs:[eax], al
or ch, byte [esp + ebp]
or dword [ecx], edx
or byte [ecx], dl
or dword [edx + 0x2128], ebx
or dl, byte [ebx]
lcall 0x130a, 0x2128
or eax, dword [edx]
jnp 0x40717b
add byte [eax], al
add al, 0x11
pop es
adc dword [ecx], ecx
lcall 0x32d, 0x4110b11
sbb eax, 0x1216012b
or ch, byte [edi + 0x2f]
add byte [eax], al
or ah, byte [esi]
sub ecx, dword [edi]
pop es
jb 0x407161
add dword [eax], eax
jo 0x40720b
add byte es:[eax], al
or dl, byte [ebx]
or al, 0xde
sub edx, dword [ecx]
or dword [edi], edx
pop eax
adc ecx, dword [ecx]
adc dword [ecx], ecx
adc dword [edi], eax
mov gs, word [ecx + 0x32]
stosb byte es:[edi], al
adc dword [esi], ecx
pop ss
pop eax
adc ecx, dword [esi]
adc dword [esi], ecx
adc dword [0xa63f698e], ecx
invalid
add dword [eax], eax
jo 0x407239
add byte es:[eax], al
or ch, byte [edx]
adc dword [edx + ebp], ecx
or dl, byte [esi]
sub cl, byte [edx]
adc al, 0x2a
and al, byte [edx]
add edi, dword [ebp + 1]
add byte [eax], al
add al, 0x2a
add byte [eax], al
add byte [ebx], dl
xor byte [ebx], al
add byte [eax + eax], dh
add byte [eax], al
add al, byte [eax]
add byte [ecx], dl
add dl, byte [eax + ebp]
xor byte [eax], al
add byte [edx], cl
add ch, byte [eax]
or eax, dword [eax]
add byte [esi], al
jb 0x407200
add byte [eax], al
jo 0x40722b
add byte [eax + 0x28], dh
sbb eax, 0x730a0000
push ds
add byte [eax], al
or cl, byte [edx]
add al, byte [esi]
jb 0x407230
add al, byte [eax]
jo 0x407284
xor dword [eax], eax
add byte [edx], cl
je 0x407241
add byte [eax], al
add dword [eax], ebp
xor al, byte [eax]
add byte [edx], cl
sub dl, byte [ebx]
xor byte [ebx], al
add byte [eax + eax], dh
add byte [eax], al
add al, byte [eax]
add byte [ecx], dl
add byte [edx], al
add byte [eax], al
adc dword [edx], eax
add ebp, dword [eax]
xor byte [eax], al
add byte [edx], cl
add ch, byte [eax]
add al, byte [ebx]
sub byte [eax], dh
add byte [eax], al
or al, byte [edx]
sub byte [ebx], cl
add byte [eax], al
push es
or eax, dword [eax]
add byte [esi], al
jb 0x407240
add byte [eax], al
add byte [eax + 0x28], dh
jo 0x40726b
sbb eax, 0x730a0000
push ds
add byte [eax], al
or cl, byte [edx]
add al, byte [esi]
jb 0x407270
add al, byte [eax]
jo 0x4072c4
xor dword [eax], eax
add byte [edx], cl
je 0x407281
add byte [eax], al
add dword [eax], ebp
xor al, byte [eax]
add byte [edx], cl
sub bh, byte [edx]
add ch, byte [eax]
xor eax, dword [eax]
add byte [edx], cl
pop ss
pop ss
outsd dx, dword [esi]
xor al, 0
add byte [edx], cl
sub bh, byte [edx + 3]
sub al, 0x13
add bh, byte [ebx + 3]
add byte [eax], al
add al, 0x2c
or eax, dword [edx]
jnp 0x407285
add eax, dword [eax]
add byte [edi + ebp*2], al
add byte [eax], al
add al, 0x6f
outsd dx, dword [esi]
xor eax, 0x20a0000
add ebp, dword [eax]
add byte ss:[eax], al
or ch, byte [edx]
add byte [eax], al
adc esi, dword [eax]
add eax, dword [eax]
sub byte [eax], al
add byte [eax], al
add eax, dword [eax]
add byte [ecx], dl
rol byte [ebx], 1
add byte [eax], al
add ch, byte [eax]
aaa
add byte [eax], al
or dh, byte [ebx + 0x38]
add byte [eax], al
or cl, byte [edx]
add dh, byte [edx + 0x2f]
add al, byte [eax]
jo 0x4072df
cmp dword [eax], eax
add byte [edx], cl
push es
add dh, byte [edx + 0x4f]
add al, byte [eax]
jo 0x407332
cmp al, byte [eax]
add byte [edx], cl
sub dl, byte [ebx]
xor byte [ebx], al
add byte [eax], cl
add byte [eax], al
add al, byte [eax]
add byte [ecx], dl
add ch, byte [eax]
cmp eax, dword [eax]
add byte [edx], cl
add dl, byte [esi]
add byte [eax], al
or ch, byte [edx]
adc esi, dword [eax]
add eax, dword [eax]
dec eax
add byte [eax], al
add byte [edx], al
add byte [eax], al
adc dword [edx], eax
sub byte [ebx], bh
add byte [eax], al
or al, byte [edx]
push ss
jge 0x4072e2
add byte [eax], al
add al, 0x72
add byte [edx + esi*2], al
add dword [eax], eax
add byte [eax + 0x28], dh
sbb eax, 0x730a0000
push ds
add byte [eax], al
or cl, byte [edx]
add dl, byte [edi]
sub byte [eax + eax], bh
add byte [edx], cl
add al, byte [esi]
jb 0x407357
add al, byte [eax]
jo 0x40736f
xor dword [eax], eax
add byte [edx], cl
je 0x407368
add byte [eax], al
add dword [eax], ebp
cmp eax, 0x20a0000
push ss
sub byte [esi], bh
add byte [eax], al
or al, byte [edx]
sub byte [esi], bl
add byte [eax], al
push es
sub ah, byte [edx]
add al, byte [ebx]
jge 0x407326
add byte [eax], al
add al, 0x2a
add byte [eax], al
add byte [ebx], al
xor byte [eax + eax], al
add byte [eax], al
add esi, dword [eax]
add al, 0
pop edx
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ebx], al
outsd dx, dword [esi]
aas
add byte [eax], al
add ebp, dword [edi + 0x3f]
add byte [eax], al
or al, byte [0x406f]
or al, byte [edi + ebp*2]
inc ecx
add byte [eax], al
or al, byte [ebx]
push cs
add al, 0x6f
inc edx
add byte [eax], al
or al, byte [ebx]
push ss
outsd dx, dword [esi]
inc ebx
add byte [eax], al
or al, byte [ebx]
outsd dx, dword [esi]
aas
add byte [eax], al
or al, byte [0x406f]
or ch, byte [eax]
pop ss
add byte [eax], al
push es
outsd dx, dword [esi]
inc esp
add byte [eax], al
or al, byte [ebx]
outsd dx, dword [esi]
aas
add byte [eax], al
or al, byte [0x406f]
add byte [edx], cl
add eax, 0x406f
or al, byte [ebx]
outsd dx, dword [esi]
inc ebp
add byte [eax], al
or ch, byte [edi + 0x46]
add byte [eax], al
or bl, byte [edx]
jae 0x4073cc
add byte [eax], al
or ch, byte [edi + 0x48]
add byte [eax], al
or ch, byte [edx]
dec esi
add ebp, dword [edi + 0x3f]
add byte [eax], al
or al, byte [0x406f]
or al, byte [edi + ebp*2]
inc ecx
add byte [eax], al
or ch, byte [edx]
and al, byte [ebx]
add al, 0x6f
inc edx
add byte [eax], al
or ch, byte [edx]
push ds
add ebp, dword [edi + 0x49]
add byte [eax], al
or ch, byte [edx]
add byte [ebx], dl
xor byte [ebx], al
add byte [0x4000000], ah
add byte [eax], al
adc dword [edx], eax
jb 0x40742e
add al, byte [eax]
jo 0x4073ef
dec edx
add byte [eax], al
or dh, byte [ecx + edx]
adc dword [eax], eax
add byte [edx], al
or al, byte [esi]
jnp 0x4073ef
add byte [eax], al
add al, 0x25
outsd dx, dword [esi]
dec ebx
add byte [eax], al
or dl, byte [edi]
pop eax
outsd dx, dword [esi]
dec esp
add byte [eax], al
or ch, byte [edx]
add byte [eax], al
add byte [ebx], dl
xor byte [edx], al
add byte [esi], bl
add byte [eax], al
add byte [eax + eax], al
add byte [ecx], dl
add dh, byte [edx + 0x6b]
add al, byte [eax]
jo 0x407423
dec edx
add byte [eax], al
or dh, byte [ecx + edx]
add byte [edx], al
or al, byte [esi]
jnp 0x407420
add byte [eax], al
add al, 3
outsd dx, dword [esi]
dec ebp
add byte [eax], al
or ch, byte [edx]
add al, byte es:[ebx]
add al, 0x28
dec esi
add byte [eax], al
or ch, byte [edx]
add al, byte es:[ebx]
add al, 0x28
xor al, 0
sub byte [eax + eax], dh
add byte [edx], cl
sub al, byte [eax]
add byte [ebx], bl
xor byte [ebx], al
add byte [esi], ch
add byte [eax], al
add eax, 0x2110000
jb 0x4074a2
add al, byte [eax]
jo 0x407463
dec edx
add byte [eax], al
or dh, byte [ecx + edx]
add byte [edx], al
or al, byte [esi]
jnp 0x407464
add byte [eax], al
add al, 0x6f
dec edi
add byte [eax], al
or cl, byte [ebx]
pop es
outsd dx, dword [esi]
push eax
add byte [eax], al
or cl, byte [ebp + 0x1000010]
or al, 0x16
or eax, 0x516f07
add byte [edx], cl
adc eax, dword [0x511172b]
or dl, byte [ebx]
add eax, 0x511172b
outsd dx, dword [esi]
push edx
add byte [eax], al
or dh, byte [eax + edx]
add byte [ecx], al
adc eax, dword [eax + ecx]
or dword [ecx], edx
add al, 0xa2
or dword [edi], edx
pop eax
or eax, 0x536f0511
add byte [eax], al
or ch, byte [0x1115dee0]
add eax, 0x5d75
add dword [ebx], edx
push es
adc dword [esi], eax
sub al, 7
adc dword [esi], eax
outsd dx, dword [esi]
xor eax, 0xdc0a0000
or byte [edx], ch
add byte [eax], al
add dword [eax], edx
add byte [eax], al
add al, byte [eax]
xor eax, dword [eax]
and al, 0x57
add byte [0], dl
adc esi, dword [eax]
add al, 0
xchg ebx, eax
add byte [eax], al
add byte [esi], al
add byte [eax], al
adc dword [esi + 0x54], edi
add byte [eax], al
or dh, byte [edx - 0x69]
xchg edi, eax
add al, byte [eax]
jo 0x40753a
push ebp
add byte [eax], al
or cl, byte [edx]
push es
jb 0x4074c6
add al, byte [eax]
jo 0x407549
or eax, 0x6f700003
push esi
add byte [eax], al
or dh, byte [edi + edx*2]
add byte [ecx], al
or eax, dword [edi]
pop ss
lea ebp, [edx]
add byte [ecx], al
adc eax, dword [edi]
adc dword [edi], eax
push ss
pop ds
sub al, 0x9d
adc dword [edi], eax
outsd dx, dword [esi]
push edi
add byte [eax], al
or cl, byte [eax + ebp]
pop eax
add byte [eax], al
or cl, byte [0x19698e08]
xor ecx, dword [eax + 8]
push ss
lcall 0x200a, 0x5928
inc dword [eax]
add byte [eax], al
sub byte [edx], bl
add byte [edx], cl
adc eax, dword [eax + ecx]
pop ss
lcall 0x200a, 0x5928
inc dword [eax]
add byte [eax], al
sub byte [edx], bl
add byte [edx], cl
adc eax, dword [0x289a1808]
pop ecx
add byte [eax], al
or ah, byte [eax]
inc dword [eax]
add byte [eax], al
sub byte [edx], bl
add byte [edx], cl
adc eax, dword [esi]
adc dword [ecx + edx], eax
add eax, 0x5b280611
add byte [eax], al
or cl, byte [0x1b002a09]
adc dword [esi], eax
sub byte [ebx], bl
add byte [edx], cl
or eax, 0x1b002a09
xor byte [0x45300], al
add byte [edi], al
add byte [eax], al
adc dword [edx], eax
pop ss
jge 0x40756b
add byte [eax], al
add al, 2
jb 0x4075d5
add al, byte [eax]
jo 0x407596
add byte [eax + 0x28], dh
dec edx
add byte [eax], al
or dh, byte [ecx + edx]
add byte [edx], al
or al, byte [edx]
jb 0x40759c
add eax, dword [eax]
jo 0x4075a7
dec edx
add byte [eax], al
or dh, byte [ecx + eax]
add byte [ebx], bl
or eax, dword [edx]
jb 0x4075d1
add eax, dword [eax]
jo 0x4075b8
dec edx
add byte [eax], al
or dh, byte [edx + eax]
add byte [ebx], bl
add dl, byte es:[esi]
add byte [eax], al
sbb esp, dword [esi]
add dl, byte [esi]
jge 0x4075a4
add byte [eax], al
add al, 2
add bh, dh
push es
adc eax, 0x73060000
cmp eax, dword [eax]
add byte [esi], al
add byte [esi], al
jae 0x4075e6
add byte [eax], al
push es
sbb byte [ebp + 0x1000001], cl
adc ecx, dword [0x18160d11]
mov word [ecx], ss
add byte [eax], al
add dword [edx + 0x16170d11], esp
mov word [esi], gs
add byte [ecx], al
mov byte [0x5c280d11], al
push ss
sbb byte [ecx + edx - 0x5dff0000], cl
adc dword [0x6e8c1617], ecx
add byte [eax], al
add dword [edx + 0x5c280d11], esp
add byte [eax], al
or ah, byte [esi]
add al, byte [edx]
add al, byte es:[edx]
inc byte [esi]
push es
push ss
add byte [eax], al
push es
jae 0x40761b
add byte [eax], al
push es
push ss
lea eax, [ecx]
add byte [eax], al
add dword [eax], ebp
pop esp
add byte [eax], al
or dh, byte [ebx + eax]
add byte [ebx], bl
or al, 2
jnp 0x4075f8
add byte [eax], al
add al, 0x14
outsd dx, dword [esi]
add dword [eax], 0x8260600
adc ecx, dword [esi]
push ss
adc ecx, dword [edi]
cmp byte [edx + 3], ah
add byte [eax], al
adc dword [esi], ecx
adc dword [edi], ecx
lcall 0, 0x57b020d
add al, 0x6f
xchg byte [eax], al
add byte [esi], al
sub eax, 0x392dd05
add byte [eax], al
add al, byte [edx]
inc byte [esi]
fst qword [edx + 0x2000003]
add bh, dh
push es
adc dword [eax], eax
add byte [esi], al
jae 0x407655
add byte [eax], al
push es
pop ss
lea eax, [ecx]
add byte [eax], al
add dword [ebx], edx
adc byte [ecx], dl
adc byte [esi], dl
or dword [edx + 0x5c281011], esp
add byte [eax], al
or dh, byte [ebp + edx]
add byte [edx], al
adc eax, dword [ecx + edx]
add al, 0x7b
aaa
add byte [eax], al
add al, 0x2c
jne 0x4076c4
add dword [eax], eax
add byte [eax + 0x28], dh
jo 0x40767f
sbb eax, 0x730a0000
push ds
lea eax, [ecx]
add byte [eax], al
add dword [ebx], edx
adc dword [ecx], edx
adc dword [esi], edx
add byte [eax], al
push es