Function at 0x4f7aa4
Capabilities:
Encode data using xor

Disassembly:
popal
je 0x4f73c6
add byte [eax], al
pop eax
adc eax, dword [eax]
inc eax
add byte [eax], al
add byte [edi], dl
inc esi
inc ebp
outsb dx, byte [esi]
arpl word [edi + 0x64], bp
jb 0x4f741b
outsd dx, dword [esi]
outsb dx, byte [esi]
je 0x4f743d
imul ebp, dword [esi + 0x65], 0x726f4672
insd dword es:[edi], dx
popal
je 0x4f73e9
add byte [eax], al
add byte [eax], dl
inc eax
add byte [eax], dl
add byte [eax], al
push cs
inc esi
inc esi
outsd dx, dword [esi]
jb 0x4f7464
popal
je 0x4f743d
push 0x65676e61
add al, byte fs:[eax]
add byte [eax], al
pop es
add byte [edx + 0x74], cl
dec edi
add byte [eax + eax + 0x14], cl
add byte [eax + 0x74], dh
dec edi
add byte [ebp], cl
invalid
add byte [edx], al
add ch, cl
je 0x4f7470
add byte [edx], cl
sbb byte [eax], al
or esi, dword [ebp + 0x4f]
add byte [edx], cl
sbb dword [eax], eax
inc edi
jne 0x4f7480
add byte [edx], cl
sbb al, byte [eax]
mov al, 0x75
dec edi
add byte [edx], cl
sbb eax, dword [eax]
sbb eax, 0x57540900
add byte [0x57540900], bl
dec ecx
inc ebx
dec ecx
insd dword es:[edi], dx
popal
add byte es:[si + 0x2f], bh
push eax
add byte [esi], al
inc ebx
jb 0x4f74b9
popal
je 0x4f74bc
add eax, dword [eax]
add byte [eax], al
add byte [eax], al
or byte [eax], al
add dword [eax], ecx
sbb byte [esi + 0x4f], dh
add byte [eax], al
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
add al, byte [eax]
daa
add byte [eax], ah
xor byte [eax], dl
pop es
inc esp
jae 0x4f74ef
jb 0x4f74ec
jns 0x4f7482
add byte [eax], al
add byte [eax], al
add byte [eax], cl
add byte [ecx], al
or byte [eax], bl
jbe 0x4f74da
add byte [eax], al
add byte [eax], al
or byte [eax], al
add dword [eax], ecx
sbb byte [esi + 0x4f], dh
add byte [eax], al
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
add al, byte [eax]
add byte ss:[eax + 0x600502d], bh
inc ecx
jae 0x4f7514
imul esp, dword [edi + 0x6e], 3
add byte [eax], al
or byte [eax], al
add cl, byte [eax]
sbb byte [esi + 0x4f], dh
add byte [eax], al
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
add al, byte [eax]
or byte [eax - 0x5c], dl
push eax
movsb byte es:[edi], byte [esi]
dec eax
add byte [ecx], al
add byte [esi], al
push ebx
outsd dx, dword [esi]
jne 0x4f7539
arpl word [ebp + 2], sp
add byte [edx], al
add byte [esi], bh
add al, al
xor dl, byte [eax]
push cs
dec esp
outsd dx, dword [esi]
popal
inc esi
jb 0x4f754a
outsd dx, dword [esi]
insd dword es:[edi], dx
push ebx
je 0x4f7551
popal
insd dword es:[edi], dx
add eax, dword [eax]
add byte [eax], al
add byte [eax], al
or byte [eax], al
add cl, byte [eax]
sbb byte [esi + 0x4f], dh
add byte [eax], al
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
or byte [esp + esi*8 + 0x10048], cl
push es
push ebx
je 0x4f7576
popal
insd dword es:[edi], dx
add al, byte [eax]
add al, byte [eax]
cmp al, 0
sbb al, 0x34
push eax
add byte [ebx + edx*2], cl
popal
jbe 0x4f757b
push esp
outsd dx, dword [esi]
push ebx
je 0x4f758d
popal
insd dword es:[edi], dx
add eax, dword [eax]
add byte [eax], al
add byte [eax], al
or byte [eax], al
add cl, byte [eax]
sbb byte [esi + 0x4f], dh
add byte [eax], al
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
or byte [esp + esi*8 + 0x10048], cl
push es
add byte [ecx], al
add byte [esi], al
push ebx
je 0x4f75b2
popal
insd dword es:[edi], dx
add al, byte [eax]
add al, byte [eax]
imul eax, dword [eax], 0x5035d0
pop ss
dec esp
xor eax, 0x4c170050
outsd dx, dword [esi]
popal
inc esi
jb 0x4f75c4
insd dword es:[edi], dx
inc ebx
insb byte es:[edi], dx
imul esi, dword [eax + 0x62], 0x6472616f
inc esi
outsd dx, dword [esi]
jb 0x4f75d0
popal
je 0x4f7569
add byte [eax], al
add byte [eax], al
add byte [eax + eax], cl
add byte [eax], al
or al, 0
add al, 8
sbb byte [esi + 0x4f], dh
add byte [eax], al
add byte [ebx + edx*2], al
push ebx
insb byte es:[edi], dx
add al, byte [eax]
add ah, cl
adc byte [eax], al
add dword [eax], eax
pop es
inc ecx
inc esi
outsd dx, dword [esi]
jb 0x4f75f6
add byte [eax], al
int3
popal
je 0x4f758e
add byte [eax], al
add byte [eax + 0x11], dh
jo 0x4f75a1
inc eax
add byte [edx], al
add byte [0x74614441], al
popal
add al, byte [eax]
add byte [eax], ah
aas
inc ecx
add byte [eax], cl
add byte [eax], cl
inc ecx
push eax
or byte [eax], al
or byte [ecx + 0x50], al
popal
insb byte es:[edi], dx
je 0x4f761f
add al, byte gs:[eax]
add al, byte [eax]
add byte [si + 0x36], ch
push eax
insb byte es:[edi], dx
push eax
add byte [0x65766153], dl
push esp
outsd dx, dword [esi]
inc ebx
insb byte es:[edi], dx
imul esi, dword [eax + 0x62], 0x6472616f
jb 0x4f762a
inc esi
outsd dx, dword [esi]
jb 0x4f7637
popal
je 0x4f75d0
add byte [eax], al
add byte [eax], al
add byte [eax + eax], cl
add byte [eax], al
or al, 0
add al, 8
sbb byte [esi + 0x4f], dh
add byte [eax], al
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
add esp, ecx
adc byte [eax], al
add dword [eax], eax
pop es
inc ecx
inc esi
outsd dx, dword [esi]
jb 0x4f765d
popal
je 0x4f75f5
add byte [ecx], al
jo 0x4f7608
adc dword [eax], eax
add al, byte [eax]
add eax, 0x74614441
inc eax
add byte [edx], al
add byte [0x74614441], al
popal
add al, byte [eax]
add dword [eax], esp
aas
inc ecx
add byte [eax], cl
add byte [eax], cl
inc ecx
push eax
or byte [eax], al
or byte [ecx + 0x50], al
popal
insb byte es:[edi], dx
je 0x4f7686
add al, byte gs:[eax]
add al, byte [eax]
add byte [esi + esi*2], bl
dec edi
add byte [edi], al
or dword [edi + edx*2 + 0x49], edx
push edi
dec ecx
inc ebx
dec ecx
insd dword es:[edi], dx
popal
sal byte gs:[bp + si + 0x4f], 0
clc
add al, bh
dec ebx
dec edi
add byte [eax], al
add byte [esi + edx*2], cl
arpl word [esi + ebp + 0x47], bp
jb 0x4f769a
jo 0x4f76a3
imul esp, dword [ebx + 0x73], 0x30000
add bl, byte [ebx + 0x76]
dec edi
add byte [edx], al
add byte [edx], al
jl 0x4f76c2
dec edi
add byte [edx], al
add byte [edx], al
mov byte [0x2004f76], al
add byte [edx], al
add byte [eax], al
add byte [ebx*4 + 0x3244004e], ch
push eax
dec esi
add byte [edx + esi + 0x50], al
add ah, ah
aaa
push eax
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x4806ffff], al
popal
outsb dx, byte [esi]
insb byte es:[edi], dx
call 0x3c4fc5f2
add byte [eax], al
call dword [eax + 0x37]
push eax
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x490bffff], al
insd dword es:[edi], dx
popal
inc esi
outsd dx, dword [esi]
jb 0x4f770d
popal
je 0x4f76fb
adc eax, dword [eax]
inc eax
add byte [eax], al
call [esi + esi + 0x10050]
add byte [eax], al
add byte [eax], al
add byte [eax - 0x80000000], al
invalid
jb 0x4f7708
outsd dx, dword [esi]
outsb dx, byte [esi]
je 0x4f772a
imul ebp, dword [esi + 0x65], 0x726f4672
insd dword es:[edi], dx
popal
je 0x4f7664
add byte [edi + esi*2 + 0x4f], al
add byte [edi + 0x4f77], al
add byte [eax], al
add ch, cl
ja 0x4f775a
int 0x77
dec edi
add byte [eax], ch
add byte [eax], al
add byte [eax], ch
pop ss
inc eax
add byte [edi + edi*2 + 0x7f9c0040], dl
inc eax
add ah, bl
add byte [eax], 0xd4
add byte [eax], 0xf4
add byte [eax], 0xf8
add byte [eax], 0xfc
inc eax
add ah, bh
add byte [eax], 0xf0
add byte [eax], 0x10
jge 0x4f7777
add byte [edi*2 + 0x7af40040], ch
dec edi
add byte [eax + 0x4f7d], bl
add byte [eax], al
add byte [eax], al
add byte [ebx], al
add byte [edx], al
inc esp
sbb al, 0x4f
add byte [eax + eax], al
add byte [eax], al
pop es
push edx
jae 0x4f77a6
imul esi, dword [ebx + 0x74], 0x94020002
cmp eax, 0x80041
add byte [eax], al
add eax, 0x636f4c46
imul eax, dword [edx], 0
add cl, ah
adc byte [eax], al
and byte [eax], al
add byte [eax], al
or edx, dword [edx + 0x65]
jae 0x4f77c2
popal
je 0x4f77e2
push ebx
imul edi, dword [edx + 0x65], 2
or byte [eax], al
fidiv word [edi + 0x4f]
add byte [eax + eax - 0xc], al
call [edx]
js 0x4f77e5
add byte [ebp], cl
invalid
add byte [edx], al
hlt
call dword [ecx + 0x42004f79]
add ah, dh
inc dword [ecx]
add byte [eax], dl
push esp
push edx
jae 0x4f7842
jne 0x4f7847
arpl word [ebp + 0x4d], sp
popal
outsb dx, byte [esi]
popal
jb 0x4f781b
add byte [eax + 0x6004f7a], bh
dec edi
add byte [esi], al
inc ebx
jb 0x4f784d
popal
je 0x4f7850
add eax, dword [eax]
add byte [eax], al
add byte [eax], al
or byte [eax], al
add cl, byte [eax]
mov eax, 0x4f79
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
add ah, cl
adc byte [eax], al
add al, byte [eax]
or al, 0x41
push edx
jae 0x4f7853
popal
je 0x4f7873
push ebx
imul edi, dword [edx + 0x65], 0x20002
daa
add ah, dh
jp 0x4f786e
add byte [edi], al
inc esp
jae 0x4f7899
jb 0x4f7896
jns 0x4f782c
add byte [eax], al
add byte [eax], al
add byte [eax], cl
add byte [ecx], al
or byte [eax + 0x4f79], bh
add byte [eax], al
or byte [eax], al
add dword [eax], ecx
mov eax, 0x4f79
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
add al, byte [eax]
add byte ds:[eax], dh
add byte [eax], dh
jnp 0x4f7895
add byte [0x6f6c6c41], cl
or eax, 0x6f6c6c41
arpl word [edx + 0x65], dx
jae 0x4f78c0
push edx
jae 0x4f78c0
outsd dx, dword [esi]
jne 0x4f78c5
arpl word [ebp + 3], sp
add byte [esp + ebx + 0x4f], al
add byte [eax], cl
add byte [edx], al
or byte [eax + 0x4f79], bh
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
add al, byte [eax]
add byte [eax], al
add byte [ecx], al
add byte [edi], al
pop es
push edx
jae 0x4f78bc
popal
je 0x4f78dc
add al, byte [eax]
add al, byte [eax]
add byte ds:[eax + 0x7c], al
dec edi
add byte [esi + eax*2], cl
jb 0x4f78ee
push edx
jae 0x4f78fd
jne 0x4f7902
arpl word [ebp + 3], sp
add byte [eax], al
add byte [eax], al
add byte [eax], cl
add byte [eax], al
or byte [eax], al
add cl, byte [eax]
mov eax, 0x4f79
add byte [edx], al
or byte [eax + 0x4f79], bh
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
add byte [esp + ebx + 0x4f], al
add byte [ecx], al
add byte [eax], cl
push edx
jae 0x4f7924
jne 0x4f7929
arpl word [ebp + 2], sp
add byte [edx], al
add byte [edi], dl
adc byte [ebp + 0x4f], bh
jge 0x4f7911
add byte [esi], cl
inc ebx
push 0x65676e61
push edx
jae 0x4f793d
jne 0x4f7942
arpl word [ebp + 3], sp
add byte [eax], al
add byte [eax], al
add byte [eax], cl
add byte [ebx], al
or byte [eax + 0x4f79], bh
mov eax, 0x4f79
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
or byte [eax], bl
push ds
dec edi
add byte [ecx], al
add byte [esi], cl
add dword [eax], eax
push cs
inc edi
jb 0x4f7955
jo 0x4f795e
imul esp, dword [ebx + 0x73], 0x656a624f
arpl word [edx + eax], si
add al, byte [eax]
add byte [eax], al
add byte [edx], al
add byte [edi], al
add byte [eax], al
add byte [eax], al
add al, byte [eax]
pop es
push edx
jae 0x4f7951
popal
je 0x4f7971
add al, byte [eax]
add al, byte [eax]
pop ecx
add byte [ebp + edi*2 + 0x410e004f], bl
add byte [edx], al
add byte [ecx], bl
pushfd
jge 0x4f7968
add byte [esi], cl
inc ecx
jae 0x4f7991
imul esp, dword [edi + 0x6e], 0x6f736552
outsd dx, dword [esi]
jne 0x4f7999
arpl word [ebp + 3], sp
add byte [eax], al
add byte [eax], al
add byte [eax], cl
add byte [ebx], al
or byte [eax + 0x4f79], bh
add eax, dword [eax]
add byte [eax], al
add byte [eax], al
or byte [eax], al
add ecx, dword [eax]
mov eax, 0x4f79
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
or byte [eax], bl
push ds
dec edi
add byte [ecx], al
add byte [esi], cl
inc edi
jb 0x4f79ac
jo 0x4f79b5
imul esp, dword [ebx + 0x73], 0x656a624f
bound ebp, qword [edx + 0x65]
arpl word [edx + eax], si
add byte [esp + ebx + 0x4f], al
je 0x4f7959
add byte [eax], al
inc esp
sbb al, 0x4f
add byte [edx], al
add byte [ecx], cl
inc ecx
push edx
jae 0x4f79d4
jne 0x4f79d9
arpl word [ebp + 2], sp
add byte [edx], al
add byte [eax + eax], ah
add al, byte gs:[eax]
add al, byte [eax]
and al, 0
sbb byte [ebx + 0x4f], bh
dec edi
add byte [esp + ecx*2], al
outsd dx, dword [esi]
arpl word [ebx + 3], bp
add byte [eax], al
add byte [eax], al
add byte [eax], cl
add byte [ecx], al
or byte [eax + 0x4f79], bh
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
add al, byte [eax]
add byte es:[ebx + edi*2], ah
dec edi
add byte [esi], al
push ebp
outsb dx, byte [esi]
insb byte es:[edi], dx
outsd dx, dword [esi]
arpl word [ebx + 3], bp
add byte [eax], al
add byte [eax], al
add byte [eax], cl
add byte [ecx], al
or byte [eax + 0x4f79], bh
add byte [ebx + edx*2], al
add byte [eax], al
add al, 0x53
insb byte es:[edi], dx
add al, byte [eax]
add al, byte [eax]
add byte [ecx + edi*2 + 0x1007004f], bh
push esp
push edx
jae 0x4f7a32
jne 0x4f7a37
arpl word [ebp + 0x4d], sp
popal
outsb dx, byte [esi]
popal
jb 0x4f7a0f
ja 0x4f7a20
add byte [eax + 0x401f], ah
inc eax
add byte [eax], al
add byte [esi + edx*2], cl
push esi
arpl word [esi + ebp + 0x47], bp
jb 0x4f7a41
jo 0x4f7a4a
imul esp, dword [ebx + 0x73], 0
add al, byte [eax]
add byte [eax], al
add byte [eax], al
add byte [eax + 0x7a], cl
dec edi
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [edx + edi*2 + 0x4f], ch
add byte [eax], al
add byte [eax], al
add byte [edx + edi*2 + 0x4f], cl
add byte [eax], al
add byte [eax], al
add byte [edx + 0x7a], dl
dec edi
add byte [eax], ch
add byte [eax], al
add al, ch
jbe 0x4f7a6a
add byte [edi + edi*2 + 0x7f9c0040], dl
inc eax
pushfd
jg 0x4f7a63
add ah, bl
add byte [eax], 0xd4
add byte [eax], 0xf4
add byte [eax], 0xf8
add byte [eax], 0xfc
inc eax
add ah, bh
add byte [eax], 0xf0
add al, dh
add byte [eax], 0x10
jge 0x4f7a7f
add byte [edi*2 + 0x7af40040], ch
dec edi
jge 0x4f7a83
add ah, dh
jp 0x4f7a96
add byte [eax], dh
jle 0x4f7a9a
dec edi
add byte [eax], al
add byte [eax], al
add byte [ecx], al
add byte [0x75724254], dl
jae 0x4f7ac1
push edx
jae 0x4f7acc
jne 0x4f7ad1
arpl word [ebp + 0x4d], sp
popal
outsb dx, byte [esi]
popal
jb 0x4f7ad5
jp 0x4f7aba
dec edi
add byte [edi], al
adc eax, 0x75724254
jae 0x4f7adc
push edx
jae 0x4f7ae7
jne 0x4f7aec
arpl word [ebp + 0x4d], sp
popal
outsb dx, byte [esi]
popal
jb 0x4f7acc
dec eax
jp 0x4f7ad5
add byte [eax + 0x4f79], bh
add byte [esi + edx*2], cl
arpl word [esi + ebp + 0x47], bp
jb 0x4f7af6
jo 0x4f7aff
push 0x736369
add byte [eax], al
add byte [edx], al
add byte [eax], al
add byte [ebx - 0x762e7640], cl
mov ecx, edx
mov edx, eax
xor eax, eax
imul esp, dword [ebx + 0x73], 0
add byte [eax], al
add byte [eax], al
add al, byte [eax]
add byte [eax], al
mov eax, eax
test dl, dl
je 0x4f7ac6
add esp, 0xfffffff0
call fcn.00408534
mov ebx, edx
mov esi, eax
mov word [esi + 0x20], cx
lea eax, [esi + 8]
dec esi
and byte [ebp - 0x17aff7ba], cl
mov ecx, 0x8bfff1d0
mov byte [ebx + ebx*8 - 0x5517f08c], 0xa
int1
jmp dword [edi + ecx*4 + 5]
push eax
call sub.kernel32.dll_InitializeCriticalSection_1
mov eax, esi
test bl, bl
je 0x4f7aec
int1
dec dword [ebx + 0x74db84c6]
psubsb mm5, qword [edx + 0x64fff10a]
pop dword [0]
call fcn.0040858c
pop dword fs:[0]
add byte [eax], al
add esp, 0xc
mov eax, esi
pop esi
pop ebx
ret
call fcn.004085dc
mov ebx, edx
mov esi, eax
lea eax, [esi + 8]
push eax
call sub.kernel32.dll_DeleteCriticalSection_1
test bl, bl
jle 0x4f7b13
mov eax, esi
call fcn.00408584
pop esi
pop ebx
ret