Function at 0x4f3f64
Capabilities:
Encode data using xor

Disassembly:
outsb dx, byte [esi]
cmp dh, byte [ebx + 0x63]
push 0x73616d65
sub eax, 0x7263696d
outsd dx, dword [esi]
jae 0x4f3fe4
je 0x4f3fa5
arpl word [edi + 0x6d], bp
cmp ah, byte [ecx + 0x73]
insd dword es:[edi], dx
jbe 0x4f3fb3
daa
and byte [ebp + 0x61], ch
outsb dx, byte [esi]
imul esp, dword [esi + 0x65], 0x65567473
jb 0x4f4003
imul ebp, dword [edi + 0x6e], 0x2e31273d
xor byte [edi], ah
or eax, 0x3c20200a
je 0x4f4013
jne 0x4f4016
je 0x4f3fee
outsb dx, byte [esi]
outsw dx, word [esi]
and byte [eax + 0x6d], bh
insb byte es:[edi], dx
outsb dx, byte [esi]
jae 0x4f3fec
and dh, byte [ebp + 0x72]
outsb dx, byte [esi]
cmp dh, byte [ebx + 0x63]
push 0x73616d65
sub eax, 0x7263696d
outsd dx, dword [esi]
jae 0x4f4032
je 0x4f3ff3
arpl word [edi + 0x6d], bp
cmp ah, byte [ecx + 0x73]
insd dword es:[edi], dx
jbe 0x4f4003
and bh, byte [esi]
or eax, 0x2020200a
and byte [ebx + esi*2], bh
arpl word gs:[ebp + 0x72], si
imul esi, dword [ecx + edi*2 + 0x3e], 0x20200a0d
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
cmp al, 0x72
jno 0x4f4064
jne 0x4f4055
jae 0x4f4066
jae 0x4f4066
push eax
push eax
jb 0x4f4060
jbe 0x4f4062
insb byte es:[edi], dx
jae 0x4f403d
or eax, 0x2020200a
and byte [eax], ah
and byte [eax], ah
and byte [edx + esi*2], bh
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
cmp al, 0x72
jno 0x4f4083
jae 0x4f4085
inc ebp
inc ebp
js 0x4f407b
arpl word [ebp + 0x74], si
imul ebp, dword [edi + 0x6e], 0x6576654c
insb byte es:[edi], dx
and byte [ebp + 0x76], ch
insb byte es:[edi], dx
cmp eax, 0x49736127
outsb dx, byte [esi]
jbe 0x4f409e
imul esp, dword [ebp + 0x72], 0x27
daa
and byte [ebp + 0x69], dh
inc ecx
arpl word [ebx + 0x65], sp
jae 0x4f40af
cmp eax, 0x6c616627
daa
popaw
insb byte es:[edi], dx
jae 0x4f40a8
daa
and byte [edi], ch
or eax, 0x2020200a
and byte [eax], ah
and byte [edi + ebp], bh
jb 0x4f40b8
jno 0x4f40ca
jae 0x4f40cc
push eax
jb 0x4f40c6
jbe 0x4f40c8
insb byte es:[edi], dx
jae 0x4f40a3
jae 0x4f40a3
or eax, 0x2020200a
or eax, 0x2020200a
or ah, byte [eax]
and byte [eax], ah
and byte [edi + ebp], bh
jae 0x4f40d4
arpl word [ebp + 0x72], si
imul esi, dword [ecx + edi*2 + 0x3e], 0x20200a0d
cmp al, 0x2f
das
je 0x4f40f0
jne 0x4f40f3
je 0x4f40cb
outsb dx, byte [esi]
outsw dx, word [esi]
or eax, 0x612f3c0a
jae 0x4f4100
insd dword es:[edi], dx
bound ebp, qword [ecx + edi*2 + 0x3e]
or eax, 0xa
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
push eax
or al, byte [eax]
add al, 1
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax + 0xa], dl
add byte [ecx + eax], al
add byte [eax], al
xor byte [esi - 0x59bf59c8], ah
dec eax
cmpsb byte [esi], byte es:[edi]
push eax
cmpsb byte [esi], byte es:[edi]
pushal
cmpsb byte [esi], byte es:[edi]
push 0x78a670a6
cmpsb byte [esi], byte es:[edi]
and byte [esi - 0x596f5978], 0x98
cmpsb byte [esi], byte es:[edi]
mov al, byte [0xb0a6a8a6]
cmpsb byte [esi], byte es:[edi]
mov eax, 0xc8a6c0a6
cmpsb byte [esi], byte es:[edi]
shl byte [esi - 0x591f5928], 1
call 0xf8f632df
cmpsb byte [esi], byte es:[edi]
add byte [edi - 0x58ef58f8], ah
sbb byte [edi - 0x58d758e0], ah
xor byte [edi - 0x58bf58c8], ah
pop eax
cmpsd dword [esi], dword es:[edi]
pushal
cmpsd dword [esi], dword es:[edi]
push 0x78a770a7
cmpsd dword [esi], dword es:[edi]
and byte [edi - 0x586f5878], 0xb8
cmpsd dword [esi], dword es:[edi]
shl byte [edi - 0x582f5838], 0xf0
cmpsd dword [esi], dword es:[edi]
clc
cmpsd dword [esi], dword es:[edi]
add byte [eax - 0x57ef57f8], ch
sbb byte [eax - 0x57d757e0], ch
shr byte [eax - 0x571f5728], 1
add byte [ecx - 0x56ef56f8], ch
sbb byte [ecx - 0x56d756e0], ch
add byte [edx - 0x55ef55f8], ch
sbb byte [edx - 0x55d755e0], ch
xor byte [edx - 0x55bf55c8], ch
dec eax
stosb byte es:[edi], al
push eax
stosb byte es:[edi], al
pop eax
stosb byte es:[edi], al
pushal
stosb byte es:[edi], al
push 0x78aa70aa
stosb byte es:[edi], al
sub byte [edx - 0x556f5578], 0x80
stosd dword es:[edi], eax
stosb byte es:[edi], al
mov byte [edx - 0x547f5570], ch
nop
stosd dword es:[edi], eax
mov al, byte [0xc0abb0ab]
stosd dword es:[edi], eax
shr byte [ebx - 0x540f5420], 1
add byte [eax + edx + 0x30ac20ac], ch
lodsb al, byte [esi]
inc eax
lodsb al, byte [esi]
push eax
lodsb al, byte [esi]
push 0x78ae70ae
scasb al, byte es:[edi]
sub byte [esi - 0x516f5178], 0x98
scasb al, byte es:[edi]
mov al, byte [0xb0aea8ae]
scasb al, byte es:[edi]
mov eax, 0xc8aec0ae
scasb al, byte es:[edi]
loopne 0x4f4292
and byte [edi - 0x50cf50d8], ch
cmp byte [edi - 0x50b750c0], ch
push eax
scasd eax, dword es:[edi]
pop eax
scasd eax, dword es:[edi]
jo 0x4f42a5
js 0x4f42a7
sub byte [edi - 0x506f5078], 0x98
scasd eax, dword es:[edi]
mov al, byte [0xaf]
pushal
or al, byte [eax]
dec esp
add byte [eax], al
add al, bl
mov byte [0xa2e8a2e0], al
invalid