Function at 0x464d2a
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0
add byte [esp + 0x24], dh
cmp esi, 0x7fff00b7
jae 0x464de9
add byte [esp + 0x20], bh
mov eax, dword [edi + 0x52]
add al, dh
jae 0x464d5e
sub esp, 4
inc dword [eax]
add byte [esi + 0x57], dl
call 0x1004dfa
add esp, 0x10
jmp 0x464ddc
cmp esi, 0
add byte [edi - 0x76], bl
dec esp
and al, 0x28
add byte [edi + edx*2 - 0x75], dh
dec edi
adc al, 0x39
int1
add byte [eax], al
ja 0x464d76
mov ebx, ecx
and dword [ebp - 0x72cb8e00], 0x4f
add al, 0x8b
sub dword [eax], eax
add byte [ecx + edx - 0x7d], dh
in al, dx
add al, 0xe5
add byte [ecx - 0x18], dl
push ebx
xor byte [ebp], bh
add dword [eax], 0
mov eax, dword [edi + 0x18]
lea eax, [ebx + eax]
cmp eax, 0x1000
jb 0x464da3
add byte [eax], al
cld
sub esp, 0xc
push ebp
rol dword [eax], cl
outsd dx, dword [esi]
jl 0x464dac
add esp, 0x10
mov dword [eax], 0x700
add byte [ecx - 0x3899ff22], cl
inc esp
pop edi
add al, 0
add byte [eax], al
add byte [ebp - 0x72e98a0a], al
out dx, eax
add byte [ebx + 0x27208f8], al
mov ecx, dword [ecx]
add byte [eax], al
adc al, 0
add byte [eax], al
add ch, dl
add byte [ecx], al
add byte [eax], al
test esi, esi
setne byte [eax]
add ah, al
or al, 0x5e
pop edi
pop ebx
test al, 0
sub esp, 0xc
push 0xd9844c
add byte [ebp + ebp*8 - 0xc7cff84], dh
add byte [eax + 0x53e58955], dl
push edi
push esi
add byte [eax], al
mov word [eax], es
add byte [eax], al
mov esi, dword [eax + eax - 0x74f3b275]
add byte [eax], al
add byte [ebx + 0x4d8b00b4], cl
or al, 0x8b
push ebp
or byte [ecx + 0x4d890000], cl
call 0xe293a2
jne 0x464e03
or esi, 7
mov ebx, dword [ebp]
add byte [ebp - 0x60], al
dec eax
mov al, 0xbe
test byte [eax], al
inc ebp
movsb byte es:[edi], byte [esi]
or al, 0x87
fld dword [eax]
mov dword [eax], eax
add byte [ecx + 0x45c7b065], cl
loopne 0x464e39
push esi
inc eax
add byte [ebp + 0xe88445], cl
add byte [esi], bh
cmp esi, 0x7f00b5fe
ja 0x464e7a
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
add byte [ecx - 0x45102e31], cl
adc dword [eax], eax
stosb byte es:[edi], al
stosb byte es:[edi], al
mov eax, esi
mul edx
rol dword [eax], 1
add bh, dl
mov ebx, esi
jbe 0x464e7a
into
add bh, bh
invalid
mov ecx, dword [ebp - 0x10]
mov eax, ebx
inc eax
add byte [eax], al
test eax, eax
js 0x4705de
add eax, eax
cmp eax, 0x1000
add byte [ebp - 0x14], bl
jb 0x464ed0
mov ecx, dword [esi]
cmp eax, 0xffffffdd
jae 0x464ff3
mov ecx, dword [ebp - 0x10]
add eax, 0x18
add byte [ebp - 0x28], cl
mov dword [ebp - 0x74], 3
mov dword [esp], eax
call fcn.00466f42
mov esi, eax
add esi, 0x23
add dword [eax], 0
mov dword [esi - 4], eax
jmp 0x464ee7
add byte [eax], al
invalid
jle 0x464ee9
in al, dx
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x34], esi
add byte [eax], al
je 0x464ef3
invalid
invalid
mov dword [ebp - 0x28], ecx
invalid
sub ch, byte [edi]
push ebx
sahf
test esi, 0xc85c25ea
popfd
cmpps xmm5, xmmword [eax], 0x5c
fist word [edi - 0x62dbe64b]
xchg byte [eax - 0x7549bf28], ch
test al, 0x8b
pop ss
scasd eax, dword es:[edi]
setle byte [eax + 0x15]
dec ebx
les edi, [ecx - 0x69d74adb]
imul ecx, eax, 0xe10fcd32
lcall 0x8d1a, 0xc44191ba
xor al, 0xc7
add esp, eax
jmp 0x47065a
sub edi, dword [esi + 0x4437ebef]
ret