Function at 0x4060c0
Capabilities:
Encode data using xor

Disassembly:
push edi
push ebx
mov ch, 0xd7
out 0x1b, al
add byte [eax], al
call fcn.00404a60
lahf
push ss
pop esi
pop ebx
pop edi
mov dword [edx + 0x5720], eax
xor eax, eax
add al, 0x90
adc byte [esi - 0x2a5f6f70], ah
nop
test eax, 0xec8b5590
push ebp
mov ebp, esp
push ebp
mov ebp, esp
mov ecx, dword [esi + edx + 0x53]
push esi
push edi
mov esi, eax
add al, 0x9a
push eax
xchg esp, eax
jns 0x40609b
jne 0x4060df
xor ebp, dword [esi*8 + 0xe9960c]
pop ebx
pop ebp
ret 0x98
mov esi, dword [esp + ebx]
xor al, 0x1c
push 0
add byte [ebx + 0xc480c00], cl
mov dword [ebx + 0x213c8df3], ecx
mov ecx, 5
dec ecx
movsd dword es:[edi], dword [esi]
mov edx, dword [ebx + 4]
mov ecx, 1
cmp eax, esp
jne 0x4061e9
mov edx, dword [ebx + 0xc]
mov edi, dword [edx - 0x2d]
or al, 0x8b
jp 0x4060e0
mov dl, byte [ebx + 8]
test cl, dl
je 0x406143
mov edx, dword [eax - 0x6b]
xor edi, edi
test edx, edx
pop ss
jge 0x3e797192
fimul word [eax]
inc ecx
add esi, 4
cmp ecx, edx
jb 0x406109
cmp ecx, edx
jne 0x406166
cmp edx, 0x400
or ecx, dword es:[ecx - 0x74ef7746]
dec eax
add byte [ecx - 0x77], al
dec eax
or al, 0xf6
inc ebx
sub esp, ebp
test byte [ebx + 0x2b], 0xe5
je 0x406187
mov edx, dword [eax + 0x1010]
xor ecx, ecx
test edx, edx
jbe 0x406167
lea esi, [eax + 0x1014]
cmp dword [esi], edi
je 0x406167
inc ecx
add esi, 4
cmp ebp, dword [esi - 0x35c40b8e]
hlt
cmp ecx, edx
push ds
add dword [ecx + 0x7e9ffa], 0x89147300
or eax, 0x1014af
add byte [ebx - 0x7cefef78], cl
add byte [ecx - 0x77], al
mov byte [eax], dl
adc byte [eax], al
add dh, dh
inc ebx
or byte [edx + 0x48], dh
test byte [ebx + 8], 0x72
dec eax
mov edx, dword ds:[eax - 0x74ffdfec]
push ss
leave
test dword [esi - 0x43], edi
adc cl, byte [ebp + 0x1220187a]
add byte [ecx], bh
je 0x4061ab
inc ecx
add esi, 4
pop es
loopne 0x40621c
hlt
cmp ecx, edx
jne 0x4061cb
cmp edx, 0x400
jae 0x406217
mov dword [eax + ecx*4 - 0x69ffdfe8], edi
mov ecx, dword [eax + 0x2014]
inc ecx
mov dword [eax + 0x5d002014], ecx
push ss
mov eax, 0x4218
jle 0x4061d9
mov dword [eax + 0xe53018], edi
mov esi, dword [esp + eax + 0x5f]
mov eax, dword [0x4ff895e]
lodsb al, byte [esi]
rcr byte [ebx + 0x5d], 0xc2
or byte [edi + ebx*2 + 0x9b85e], bh
add byte [eax], al
pop edi
pop esi
mov eax, 9
pop ebx
pop ebp
ret 0xa7
pop eax
fisttp qword [ebx - 0x36ccf7bb]
xor ecx, ecx
mov edx, dword [eax + 4]
out dx, al
jnp 0x406228
test dword [esi - 0x77], esp
jge 0x406221
clc
jbe 0x406240
mov esi, dword [eax + 0xf8301c]
adc al, 0xc6
or al, 0x3b
push ds
push ebx
push ss
sbb eax, dword [ebx - 0x35c4eb3a]
jb 0x406253
inc ecx
pop esi
mov eax, 0x1117f
pop ebx
mov esp, ebp
pop ebp
add dword [0x41d98b00], ebp
lea esi, [edx - 1]
cmp ebp, dword [esi + 0x73047089]
lea ebx, [ebx + ebx*4]
lea edi, [ecx + ecx*4]
shl ebx, 2
sar ebp, 2
sub edx, ecx
mov dword [ebp + 8], edi
lcall 0x301c, 0x88f6fc55
add byte [eax], al
mov edx, 0x58b0c55
dec esp
lea esi, [edi + ecx]
invalid
test byte [eax + 0x301c], 0xba
push ebp
or al, 0x8b
add eax, 0xf348d4c
cmp esp, dword [ecx - 0xfa8a25]
push ds
add al, 0xeb
adc byte [ebp + 0x5b97d3c], cl
xor byte [eax], al
add bl, dh
movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 4]
add ebx, 0x14
mov ecx, dword [ebp + 0x2a]
add edi, 0x14
dec ecx
mov dword [eax + ecx - 0x77], eax
dec ebp
cld
jne 0x40626f
mov eax, dword [edi - 0x45af74a2]
xor ecx, ecx
adc dl, dl
jbe 0x4062e1
lea esi, [eax + 0x10]
invalid
mov edx, dword [eax + 0x5f109e]
xor ecx, ecx
test edx, edx
jbe 0x406327
lea esi, [eax + 0x1014]
cmp dword [esi], edi
je 0x406301
inc ecx
xlatb
push 0x72ca3b04
imul ebx, dword [edi - 0x35f4b5da], 0x948d1b73
mov byte [esi], cl
adc byte [eax], al
add byte [ebx - 0x76befb8e], cl
xor cl, byte [ebx + 0x1010b0]
add byte [ebx + 0x3b4e04c2], al
into
dec edx
or ecx, edx
jae 0x406321
lea edx, [eax + ecx*4 + 0x100e]
mov esi, dword [edx + 4]
inc ecx
mov dword [edx], esi
mov esi, dword [eax + 0x1010]
add edx, 4
dec esi
cmp ecx, esi
jb 0x40634e
dec dword [eax - 0x69ffeff0]
mov edx, dword [eax + 0x2014]
sub al, 0xc9
test edx, edx
jbe 0x40636d
lea esi, [eax + 0x2015]
cmp dword [esi], edi
je 0x406347
inc ecx
jae 0x406306
add al, 0x3b
hlt
sbb eax, 0x7973ca3b
lea edx, [eax + ecx*4]
xchg dword [eax], esp
add byte [eax], al
mov esi, dword [edx + 4]
mov byte [edi - 0x74ffffe0], al
jb 0x40635a
inc ecx
mov dword [ecx], ebp
mov eax, dword [edi + 0x14]
cwde
inc edi
adc al, 0x98
add byte [eax], al
push edx
ret 0xb504
pop ds
mov byte [eax], bl
xor byte [eax], al
add byte [ebx], bh
stc
dec edi
or eax, dword [ebp + 0x49077ec9]
aas
mov byte [eax], bl
cmpsd dword [esi], dword es:[edi]
add bl, ch
adc byte [esi + 0x33], bl
shl byte [ebx - 0x3df51a75], 8
add bl, cl
pop esi
fisttp qword [ecx]
stc
add byte [edx + 0x5d418b5b], ah
mov al, byte [0x90900008]
pop ss
nop
fcom qword [ebp - 0x75]
invalid