Function at 0x438a02
Capabilities:
Encode data using xor

Disassembly:
and al, 0xb0
imul esp, dword [ecx + 0x1ca5939e], 0x40
mov eax, dword [0x1ca5939e]
inc eax
mov eax, dword [0x1ca5939e]
inc eax
mov dword [ebx + 0x25], edi
sbb dword [ecx], esi
mov edx, 0x7be85be1
push ecx
insb byte es:[edi], dx
xor al, 0x9d
popfd
cmp bl, byte [esi + 0x20]
outsd dx, dword [esi]
mov al, byte [0xf71aa35c]
push dword [0xda74fc9f]
and byte [edi - 0x60], ch
pop esp
mov dword [0x35fff71a], eax
lahf
cld
je 0x4389ff
cld
outsb dx, byte [esi]
or bl, ch
stosd dword es:[edi], eax
call 0xdc82b1e6
add dh, byte [eax]
mov dword [0x61238f78], eax
daa
aas
fadd qword [edx]
xor byte [ebx + 0x61238f78], ah
sub edi, dword [edi - 0x27b0fe8]
ja 0x438a2c
and byte [ecx - 0x39], cl
rcr byte [esi - 0x605f00d0], 1
rcr byte [esi - 0x605f00d0], 1
loopne 0x438a15
insb byte es:[edi], dx
shl cl, 0x9d
sub eax, 0xbca928a7
mov edi, 0x4e021ba9
push esp
jae 0x438a42
sbb eax, 0x4063d24c
or al, 0xe4
push esp
mov edi, 0xcf03a176
pop eax
in al, dx
arpl word [eax + 0x22], cx
lahf
neg byte [ebx - 0x6e4f40d0]
jp 0x438a18
sbb al, 0x87
and al, 0xb3
mov al, 0x92
adc edi, ecx
js 0x438af7
and dword [eax], eax
lodsb al, byte [esi]
add al, 0x37
jb 0x438a68
invalid
test byte [edx], al
scasd eax, dword es:[edi]
jae 0x438aab
lodsb al, byte [esi]
mov al, byte [0xbdcdcbe1]
push ds
sub byte [edx - 0x40c19010], ah
lahf
xchg dword [edi], esp
sbb bh, byte [esi + edx - 0x4e]
fist word [ecx - 0x31]
pop ebp
cld
push eax
adc byte [edi + ebp*4], dl
in al, dx
in al, dx
iretd
jo 0x438b6d
popfd
out dx, al
push ebp
int1
xchg dword [edx], edi
mov ah, ah
push edi
loopne 0x438a8b
lodsd eax, dword [esi]
test al, 0x48
xchg ebp, eax
sbb ah, ch
popal
iretd
mov eax, 0x13d44de6
mov ebp, 0x3555230f
adc esp, dword [ecx + ecx - 0x2cba9c33]
or dword [edi + 0x72fae4aa], eax
jl 0x438bd7
insd dword es:[edi], dx
xchg ebx, eax
sbb esi, ebp
loopne 0x438be4
pop esp
test dword [ebx + 0x4a], esi
cmova ebp, dword [edi]
invalid
xchg esp, eax
sahf
leave
inc ecx
inc ebx
xchg byte [ebx], ah
or dword [ebp + 0x5fb8d30d], esi
test dword [ebp + edx*2 - 0x78], esi
pop ebx
inc ecx
invalid
push ds
insd dword es:[edi], dx
les edx, [edx - 0x49]
sahf
in al, dx
pop esp
das
xchg esi, eax
mov edi, 0x9e5ef53a
cmc
pop esi
sahf
mov edi, 0x2eec07f2
lea esi, [ecx]
add byte [edi + 0x71c62e2a], bl
sub dword [esi + eax*8 - 0x3eb14a32], esi
mov al, byte [0x2fc66f9e]
mov ecx, 0x9d3f65c7
jle 0x438ba0
invalid
jne 0x438c7e
inc eax
push esi
mov al, 0x86
pop edi
inc eax
push cs
sbb esp, esp
mov byte [0x204aa278], al
xor edx, dword [ecx + ecx*4 - 0x29]
jge 0x438bfe
and cl, al
outsd dx, dword [esi]
wait
mov bl, 0x77
push ebx
xchg esp, eax
adc dword [ebp + 0x1b271baa], edx
sbb al, 0x9d
les eax, [esi - 6]
insb byte es:[edi], dx
mov edi, 0x41a24001
dec esp
mov dl, 0xc7
cmpsd dword [esi], dword es:[edi]
in al, dx
or eax, dword [ebp + 0x6666e57e]
or ah, byte [esi - 0x1c]
cmpsb byte [esi], byte es:[edi]
and byte [ebx], 0xb8
int 0xe
mov ah, 0x7f
xchg eax, eax
mov dh, byte [esi + ebp*8 + 0x31]
out dx, al
xchg edx, eax
imul eax, dword [ecx + 0x65], 0xffffff88
cmp al, 0xc5
jle 0x438cb4
xor dh, 0x38
mov word [esi - 0x48], gs
push 0xffffffffffffffff
dec ebp
push ebp
dec edi
into
xor esi, 0xffffff96
sbb eax, 0x8cc9852f
fst qword [ebp - 0x48]
push ss
xlatb
aad 0x63
aad 0x8f
loopne 0x438c0d
add byte [ebx + 0x45], bh
inc ebp
in eax, dx
xchg ecx, edx
invalid
sar byte [edx + edi*2 + 0x1b2880de], 0x15
and eax, ebx
call 0x900bd40
out dx, eax
cmpsd dword [esi], dword es:[edi]
pop ecx
sub eax, ebp
xor al, 0xd7
fdiv dword [ebx]
xchg ebp, eax
add byte [esi + 0x6a8d5d82], 0x3b
dec edi
invalid