Function at 0x64a2c5
Capabilities:
Encode data using xor

Disassembly:
jmp 0x6493ee
mov dword [esp + 0x24], eax
jmp 0x6494ad
pop eax
sub eax, 0xfa064377
jmp 0x649409
call 0x649419
push ebp
push ebx
inc ebp
push edx
xor esi, dword [edx]
insb byte es:[edi], dx
insb byte es:[edi], dx
add bh, bh
nop
jo 0x649443
add al, 0xfa
jmp 0x649472
mov ecx, dword [esp]
call fcn.0064949f
call 0x649450
jmp 0x649646
call 0x649483
dec ebp
jae 0x6494ee
popal
inc edx
outsd dx, dword [esi]
js 0x6494d9
add bl, ch
aam 0x89
sub dword [eax - reloc.KERNEL32.dll_WriteConsoleW], 0x24448927
and al, 0xe9
aaa
add al, byte [eax]
add byte [0xa95a3faf], ch
push es
inc edx
std
int3
popal
inc dword [esp + 8]
jmp 0x6494d1
popfd
ret
cmp ebx, 0xdab677be
je 0x64953d
fidiv dword [esp + ebx*2 + 0xf]
test esi, esp
invalid
jne 0x6493cd
call 0x6494f6
ja fcn.00649561
jo 0x649562
imul ebp, dword [esi + 0x74], reloc.KERNEL32.dll_WriteConsoleW
jne 0x6494de
adc al, 0x87
popfd
ret
sub al, 0xeb
inc ebx
call dword [eax + 0x2c265545]
jmp 0x6494e7
outsb dx, byte [esi]
add eax, dword [eax]
add byte [eax + 0x35c6a333], ch
xor dword [esi + reloc.KERNEL32.dll_WriteConsoleW], 0
add al, ch
add byte [eax], al
add byte [eax], al
jmp 0x649909
mov dword [esp + 0x24], eax
jmp 0x649865
mov dword [esp + 0x24], eax
jmp 0x649956
jmp 0x6496e4
mov al, 0x9f
lahf
mov eax, dword [esp]
mov eax, dword [esp]
call fcn.00649669
jno 0x649647
pushal
pop es
inc eax
jae 0x6496c5
test dword [ebx + reloc.KERNEL32.dll_WriteConsoleW], eax
jne 0x64960d
pushal
jmp 0x64944b
ret
inc dword [esp + 8]
popfd
ret
popal
popfd
ret
movzx ebx, byte [eax]
add ebx, 0xf6a1b0cd
jmp 0x6499e7
pop ecx
sub ecx, 0x10019180
mov dword [ecx + reloc.KERNEL32.dll_WriteConsoleW], eax
jmp 0x649868
popal
popfd
ret
cmp ebx, 0xf6a1b199
je 0x649a4b
jne 0x6495cd
call fcn.00649a2b
call 0x6499ff
jmp 0x64a213
add ch, dl
push edx
shl byte [edi - 0x35ac19ae], 0x81
sti
pop esp
call 0x5cd8d6e5
jne 0x6495d6
inc dword [esp + 8]
popfd
jmp 0x649b46
mov edi, dword [reloc.KERNEL32.dll_WriteConsoleW]
lea esp, [esp - 4]
ret
lea esp, [esp + 4]
push dword [esp]
lea esp, [esp + 8]
jmp 0x649adf
call fcn.00649daa
add byte [eax], al
add byte [eax], al
mov edi, dword [reloc.KERNEL32.dll_WriteConsoleW]
lea esp, [esp - 4]
ret
add ebx, 0x3c7b0f33
jmp 0x64a1f4
mov esi, ecx
lea esi, reloc.KERNEL32.dll_WriteConsoleW
mov dword [esi], eax
pop esi
movzx ebx, byte [eax]
jmp 0x64a1cd
cmp ebx, 0x3c7b0fff
je 0x64a258
jne 0x6495f2
add eax, 0x8d7e1b8b
cmp ch, byte [ebp + 0x34c5a22c]
mov edi, dword [ecx + reloc.KERNEL32.dll_WriteConsoleW]
pop ecx
sub ecx, 0x10019607
push esi
jmp 0x64a1e4
pushfd
call fcn.0064a249
fcomp dword [esi - 0x34]
stosd dword es:[edi], eax
aam 0x2a
mov bl, 0x23
inc esi
mov ch, 7
and dword ss:[eax - 0x5d], esp
jmp 0x64a357
loop 0x64a2ba
not byte [ecx + 0x6c1d9660]
jg 0x64a2ca
add byte [eax], al
add byte [eax], al
jmp 0x64a21d
push esi
inc ecx
push eax
dec ecx
xor esi, dword [edx]
insb byte es:[edi], dx
insb byte es:[edi], dx
add bh, bh
nop
sal esp, 1
or eax, 0x891aeb6e
add al, 0x24
call fcn.0064a315
outsb dx, byte [esi]
jmp 0x64a2e7
add byte [eax], al
cmc
jo 0x64a2be
xor dword [eax - 0x40], reloc.KERNEL32.dll_WriteConsoleW
ja 0x64a2d3
cld
iretd
call 0x64a2fa
push edx
dec edi
jo 0x64a357
outsb dx, byte [esi]
dec ebx
jns 0x64a33c
js 0x64a33a
add al, ch
popfd
invalid
mov word [eax - 0x17], ss
push ebp
cli
invalid
jmp 0x649d96
inc dword [esp + 8]
popfd
ret