Function at 0x684357
Capabilities:
Encode data using xor

Disassembly:
call fcn.00687f7a
add byte [eax], al
inc edi
je 0x5c2adf
dec ecx
inc edx
imul esi, dword [ebx + esi*2], 0x6e550000
push 0x6c646e61
inc ebp
js 0x5c2b12
jo 0x5c2b26
imul ebp, dword [edi + 0x6e], 0x746c6946
jb 0x5c2abc
add byte [eax], al
inc edi
je 0x5c2b15
arpl word [edx + 0x6f], si
insb byte es:[edi], dx
insb byte es:[edi], dx
push eax
outsd dx, dword [esi]
jae 0x5c2acb
add byte [eax], al
push ebx
je 0x5c2b17
outsd dx, dword [esi]
jb 0x5c2b39
jb 0x5c2b46
jne 0x5c2b47
push edi
imul ebp, dword [esi + 0x64], 0x8d00776f
and al, 0x30
ja 0x5c2ae1
add byte fs:[eax], al
add byte [edi + 0x6c], al
insb byte es:[edi], dx
outsd dx, dword [esi]
bound esp, qword [ecx + 0x6c]
inc esi
imul ebp, dword [esi + 0x64], 0x6d6f7441
inc ecx
add byte [eax - 0x17], cl
and ch, bh
invalid
add byte [eax], al
add byte [edi + 0x65], al
je 0x5c2b93
je 0x5c2ba6
dec eax
popal
outsb dx, byte [esi]
insb byte es:[edi], dx
insb byte es:[edi], dx
add byte gs:[eax], al
add byte [ebx + 0x6f], al
push esp
popal
jae 0x5c2bbc
dec ebp
insd dword es:[edi], dx
inc ecx
insb byte es:[edi], dx
insb byte es:[edi], dx
outsd dx, dword [esi]
arpl word [eax], ax
push ebp
cmp dword [edx - 0x19], eax
pop esp
add al, dl
mov dword [0x5ca6bee5], eax
add dword [eax + ebp*2], ecx
xchg dword [ebp - 0x4000a201], esp
push 0x2e
movsd dword es:[edi], dword [esi]
jg 0x5c2b9c
not dword [ecx + ebp*4 + 0x4e]
pop edx
nop
hlt
inc ebx
insb byte es:[edi], dx
imul esi, dword [eax + 0x62], 0x6472616f
add byte [ecx], dl
leave
pushal
lea esp, [esp + 0x24]
jmp 0x6c9a03
outsb dx, byte [esi]
adc byte [eax], al
out 0xb5, al
test eax, esi
sbb edx, ecx
je 0x5c2bf6
and al, 0x13
int3
xor al, byte [esi - 0x14]
cmp eax, 0x7fd1f72c
xor edx, ebp
mov ah, 0x66
inc ecx
loope 0x5c2c13
dec ebp
test byte [ecx + 0x60886fe7], 0xce
add eax, 0x416c61e9
js 0x5c2c00
inc ecx
iretd
loope 0x5c2bad
push edx
cmpsd dword [esi], dword es:[edi]
sub byte [ebx], ch
mov dh, bl
inc ebp
shl byte [edx + 6], cl
bound eax, qword [esi]
xchg esp, eax
dec eax
xor dword [esi + ecx*8], esi
popfd
or eax, 0x664db1d
cmpsb byte [esi], byte es:[edi]
add byte [eax], al
inc edi
je 0x5c2c58
inc esp
insb byte es:[edi], dx
inc ebx
je 0x5c2c8b
insb byte es:[edi], dx
dec ecx
inc esp
add byte [eax + edx*2 + 0xc2444c7], bl
pushfd
push eax
mov dword [esp + 0xc], 0x6c9791
pushfd
pushfd
push ebp
mov dword [esp + 0x14], eax
pushal
pushfd
pushfd
push dword [esp + 0x3c]
ret 0x40
je 0x5c2c5a
add byte [eax], al
push ebx
push 0x5f6c6c65
dec esi
outsd dx, dword [esi]
je 0x5c2ccf
jns 0x5c2cb2
arpl word [edi + 0x6e], bp
inc ecx
add byte [eax], al
add byte [ebx + esi*2 + 0x74], ch
jb 0x5c2cd8
popal
je 0x5c2cb9
add byte [eax - 8], ch
invalid
in al, 0xea
xchg ecx, edi
retf 0x40de
push eax
lahf
mov ebp, 0x9492f68e
invalid
div dword [ebp + 0xccb51ec]
mov bl, 0x2e
mov edi, 0xffdca852
push eax
bnd jecxz 0x5c2ce7
push edx
test al, 0xdc
call dword [eax - 0xe]
jecxz 0x5c2ce7
popal
mov dh, 0xaa
ret
mov dh, 0xf8
mov eax, dword [0xc1d15b59]
mov ah, 0x92
sbb edx, eax
xor ebp, eax
aas
dec edx
adc al, 0xc8
lds esp, [eax]
out dx, al
mov byte [0xe4186db8], al
nop
pop ss
mov esp, eax
xor al, 0x52
inc ebx
jne 0x5c2cee
xor byte [bx + si + 0x692e], 0x3a
aas
call 0xf3f2a971
add ecx, dword [eax]
and byte [esi + ebp*8], ah
xchg ebp, eax
inc ebp
sti
mov bl, byte [ecx]
xchg byte [eax], al
mov eax, 0x994d7417
loopne 0x5c2cee
ror dword [ecx], cl
pop ecx
pop esp
salc
loope 0x5c2d86
mov al, byte [0x896aa317]
inc ebx
push dword [esp]
lea esp, [esp + 0x30]
je 0x5c3b6a
clc
clc
clc
bt edx, ebx
cmp ebx, 2
jmp 0x5c2a90
mov word [esp + 0x10], bx
shr eax, 0x10
clc
bt cx, ax
push 0xb10707a8
cmp dword [esi], 0
jmp 0x685316
push eax
push 0x2e3e49ef
lea esp, [esp + 0x34]
je 0x682dac
btc bx, 5
mov ecx, dword [esi + 4]
movzx bx, bl
movsx bx, bl
stc
bsf bx, ax
sub ecx, 8
movzx di, bl
rcl bh, 1
lea edi, [ecx*8 - 0x13d9958f]
cmp ebx, 0x6db25452
shr ecx, 1
shld bx, bp, cl
neg edi
mov edi, dword [esi]
push esp
add edi, dword [ebp - 4]
bsf bx, sp
dec bx
ror bx, cl
test dl, bl
add esi, 8
pushfd
mov bx, word [esi]
pushal
shr ebx, 0xc
push 0xee6fd62a
cmp ebx, 1
jmp 0x67dfe5
jmp 0x6cac98
inc ecx
mov bl, 0x5b
inc ecx