Function at 0x4fe5b0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov eax, 0xc8
call fcn.005dfa60
mov eax, dword [0x6a704c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 0xc]
push esi
mov esi, dword [ebp + 0x24]
push edi
mov edi, dword [ebp + 8]
shr edi, 3
mov dword [ebp - 0xc8], ecx
mov dword [ebp - 0xa0], ebx
mov dword [ebp - 0xc4], esi
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x88], 0
cmp edi, 0x14
je 0x4fe628
cmp edi, 0x1c
je 0x4fe628
cmp edi, 0x20
je 0x4fe628
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005df097
mov esp, ebp
pop ebp
ret
test ebx, ebx
jne 0x4fe655
cmp edi, 0x14
jne 0x4fe63d
mov dword [ebp - 0xa0], 0x6375f4
jmp 0x4fe658
cmp edi, 0x1c
mov ebx, 0x637624
mov eax, 0x637684
cmovne ebx, eax
mov dword [ebp - 0xa0], ebx
jmp 0x4fe658
mov edi, dword [ebx + 8]
mov eax, 0x200
cmp edx, eax
cmovae eax, edx
add eax, 0x3f
and eax, 0xffffffc0
mov dword [ebp - 0xb0], eax
call fcn.004942e0
mov dword [ebp - 0x8c], eax
test eax, eax
je 0x4fe77a
call fcn.004a24f0
mov ebx, eax
mov dword [ebp - 0x88], ebx
test ebx, ebx
je 0x4fe77a
mov ecx, ebx
call fcn.004a2690
mov ecx, ebx
call fcn.004a2800
mov ecx, dword [ebp - 0x88]
mov ebx, eax
call fcn.004a2800
mov ecx, dword [ebp - 0x88]
mov dword [ebp - 0xac], eax
call fcn.004a2800
mov ecx, dword [ebp - 0x88]
mov dword [ebp - 0x98], eax
call fcn.004a2800
mov ecx, dword [ebp - 0x88]
mov dword [ebp - 0xa4], eax
call fcn.004a2800
mov ecx, dword [ebp - 0x88]
mov dword [ebp - 0xa8], eax
call fcn.004a2800
mov ecx, dword [ebp - 0x88]
mov dword [ebp - 0xc0], eax
call fcn.004a2800
mov ecx, dword [ebp - 0x88]
mov dword [ebp - 0x9c], eax
call fcn.004a2800
mov dword [ebp - 0x94], eax
test eax, eax
je 0x4fe77a
mov ecx, dword [ebp - 0xb0]
mov edx, 0x6373a0
dec ecx
push ecx
mov ecx, eax
call fcn.004c06d0
add esp, 4
test eax, eax
je 0x4fe77a
nop dword [eax]
test esi, esi
je 0x4fe7fb
mov eax, dword [esi]
sub eax, 1
je 0x4fe7e4
sub eax, 1
jne 0x4ff0a2
push esi
push dword [ebp - 0x90]
push eax
mov eax, dword [esi + 8]
call eax
inc dword [ebp - 0x90]
add esp, 0xc
test eax, eax
jne 0x4fe801
mov ecx, dword [ebp - 0x88]
call fcn.004a2790
call fcn.004a2590
mov ecx, dword [ebp - 0x8c]
test ecx, ecx
je 0x4fe7cd
add ecx, 4
call fcn.0047d860
mov ecx, dword [ebp - 0x8c]
lea ecx, [ecx + 0x18]
call fcn.0047d860
mov ecx, dword [ebp - 0x8c]
lea ecx, [ecx + 0x2c]
call fcn.0047d860
mov eax, dword [ebp - 0x8c]
test byte [eax + 0x48], 1
je 0x4fe7cd
push eax
call fcn.005e4cbe
add esp, 4
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0xb8]
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.005df097
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 8]
test eax, eax
je 0x4fe7fb
push dword [esi + 4]
push dword [ebp - 0x90]
push 0
call eax
add esp, 0xc
inc dword [ebp - 0x90]
call fcn.00487f00
test eax, eax
je 0x4ff086
mov eax, dword [eax + 4]
test eax, eax
je 0x4ff086
lea ecx, [ebp - 0x84]
push edi
push ecx
call eax
add esp, 8
test eax, eax
jle 0x4fe77a
push edi
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0x64]
push eax
call fcn.005e1be0
push edi
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0x44]
push eax
call fcn.005e1be0
lea eax, [edi - 1]
add esp, 0x18
test eax, eax
js 0x4fe86c
nop word [eax + eax]
add byte [ebp + eax - 0x64], 1
jne 0x4fe86c
sub eax, 1
jns 0x4fe860
push ecx
push dword [ebp - 0xa0]
lea eax, [ebp - 0x24]
mov edx, edi
push 0
push eax
lea ecx, [ebp - 0x84]
call fcn.004813a0
add esp, 0x10
test eax, eax
je 0x4fe77a
push ecx
push dword [ebp - 0xa0]
lea eax, [ebp - 0x44]
mov edx, edi
push 0
push eax
lea ecx, [ebp - 0x64]
call fcn.004813a0
add esp, 0x10
test eax, eax
je 0x4fe77a
xor ecx, ecx
test edi, edi
jle 0x4fe934
cmp edi, 0x40
jb 0x4fe927
mov eax, edi
and eax, 0x8000003f
jns 0x4fe8cc
dec eax
or eax, 0xffffffc0
inc eax
mov edx, edi
sub edx, eax
movups xmm0, xmmword [ebp + ecx - 0x24]
movups xmm1, xmmword [ebp + ecx - 0x44]
pxor xmm1, xmm0
movups xmmword [ebp + ecx - 0x24], xmm1
movups xmm0, xmmword [ebp + ecx - 0x14]
movups xmm1, xmmword [ebp + ecx - 0x34]
pxor xmm1, xmm0
movups xmmword [ebp + ecx - 0x14], xmm1
movups xmm0, xmmword [ebp + ecx - 4]
movups xmm1, xmmword [ebp + ecx - 0x24]
pxor xmm1, xmm0
movups xmmword [ebp + ecx - 4], xmm1
movups xmm0, xmmword [ebp + ecx + 0xc]
movups xmm1, xmmword [ebp + ecx - 0x14]
pxor xmm1, xmm0
movups xmmword [ebp + ecx + 0xc], xmm1
add ecx, 0x40
cmp ecx, edx
jl 0x4fe8d0
cmp ecx, edi
jge 0x4fe934
mov al, byte [ebp + ecx - 0x44]
xor byte [ebp + ecx - 0x24], al
inc ecx
cmp ecx, edi
jl 0x4fe927
or byte [ebp - 0x24], 0x80
lea ecx, [ebp - 0x24]
push dword [ebp - 0xa4]
or byte [ebp + edi - 0x25], 1
mov edx, edi
call fcn.0047dbb0
add esp, 4
test eax, eax
je 0x4fe77a
mov ecx, dword [ebp - 0xa4]
mov edx, 0x40
push esi
push 1
push dword [ebp - 0x88]
call fcn.005185c0
add esp, 0xc
test eax, eax
jg 0x4fe983
je 0x4fe740
jmp 0x4fe77a
test esi, esi
je 0x4fe9f9
mov eax, dword [esi]
sub eax, 1
je 0x4fe9ad
sub eax, 1
jne 0x4ff0a2
push esi
push eax
mov eax, dword [esi + 8]
push 2
call eax
add esp, 0xc
test eax, eax
je 0x4fe77a
jmp 0x4fe9c0
mov eax, dword [esi + 8]
test eax, eax
je 0x4fe9c0
push dword [esi + 4]
push 0
push 2
call eax
add esp, 0xc
mov eax, dword [esi]
sub eax, 1
je 0x4fe9e6
sub eax, 1
jne 0x4ff0a2
push esi
push eax
mov eax, dword [esi + 8]
push 3
call eax
add esp, 0xc
test eax, eax
je 0x4fe77a
jmp 0x4fe9f9
mov eax, dword [esi + 8]
test eax, eax
je 0x4fe9f9
push dword [esi + 4]
push 0
push 3
call eax
add esp, 0xc
mov ecx, dword [ebp - 0xb0]
mov eax, 0xcccccccd
mov dword [ebp - 0xb4], 0
lea ecx, [ecx - 1]
mul ecx
mov ecx, dword [ebp - 0xb4]
shr edx, 7
mov dword [ebp - 0xbc], edx
test ecx, ecx
je 0x4fea61
test esi, esi
je 0x4fea61
mov eax, dword [esi]
sub eax, 1
je 0x4fea4f
sub eax, 1
jne 0x4ff0a2
push esi
push ecx
push eax
mov eax, dword [esi + 8]
call eax
add esp, 0xc
test eax, eax
je 0x4fe77a
jmp 0x4fea61
mov eax, dword [esi + 8]
test eax, eax
je 0x4fea61
push dword [esi + 4]
push ecx
push 0
call eax
add esp, 0xc
mov ecx, dword [ebp - 0x98]
cmp dword [ecx + 8], 1
jl 0x4fea71
mov eax, ecx
jmp 0x4fea81
mov edx, 1
call fcn.0047d980
mov ecx, dword [ebp - 0x98]
test eax, eax
je 0x4fea9b
mov eax, dword [ecx]
mov dword [ecx + 0xc], 0
mov dword [eax], 0
mov dword [ecx + 4], 0
xor esi, esi
cmp dword [ebp - 0xbc], esi
jl 0x4feb7a
nop dword [eax]
lea eax, [edi - 1]
test eax, eax
js 0x4feac3
add byte [ebp + eax - 0x64], 1
jne 0x4feac3
sub eax, 1
jns 0x4feab7
push ecx
push dword [ebp - 0xa0]
lea eax, [ebp - 0x24]
mov edx, edi
push 0
push eax
lea ecx, [ebp - 0x64]
call fcn.004813a0
add esp, 0x10
test eax, eax
je 0x4fe77a
push ebx
mov edx, edi
lea ecx, [ebp - 0x24]
call fcn.0047dbb0
add esp, 4
test eax, eax
je 0x4fe77a
lea eax, [edi*8]
imul eax, esi
test eax, eax
js 0x4fed56
push eax
mov edx, ebx
mov ecx, ebx
call fcn.004c0740
mov ecx, dword [ebx + 4]
add esp, 4
mov edx, eax
test ecx, ecx
jle 0x4feb43
mov eax, dword [ebx]
lea eax, [eax + ecx*4]
nop dword [eax + eax]
cmp dword [eax - 4], 0
lea eax, [eax - 4]
jne 0x4feb3e
dec ecx
test ecx, ecx
jg 0x4feb30
mov dword [ebx + 4], ecx
test ecx, ecx
jne 0x4feb4c
mov dword [ebx + 0xc], 0
test edx, edx
je 0x4fe77a
mov eax, dword [ebp - 0x98]
push ebx
push eax
push eax
call fcn.004a3a40
add esp, 0xc
test eax, eax
je 0x4fe77a
inc esi
cmp esi, dword [ebp - 0xbc]
jle 0x4feab0
mov esi, dword [ebp - 0xb0]
sub esi, 1
js 0x4ff0a2
mov eax, esi
cdq
and edx, 0x1f
lea ecx, [edx + eax]
sar ecx, 5
and esi, 0x8000001f
jns 0x4feba2
dec esi
or esi, 0xffffffe0
inc esi
mov edx, dword [ebp - 0x98]
cmp ecx, dword [edx + 4]
jge 0x4ff0a2
test esi, esi
jne 0x4febba
mov dword [edx + 4], ecx
jmp 0x4febd9
lea eax, [ecx + 1]
mov dword [edx + 4], eax
mov eax, dword [edx]
lea edx, [eax + ecx*4]
or eax, 0xffffffff
mov ecx, esi
shl eax, cl
not eax
and dword [edx], eax
mov edx, dword [ebp - 0x98]
mov ecx, dword [edx + 4]
mov esi, ecx
mov eax, ecx
test ecx, ecx
jle 0x4febfb
mov eax, dword [edx]
lea eax, [eax + ecx*4]
cmp dword [eax - 4], 0
lea eax, [eax - 4]
jne 0x4febf4
dec ecx
test ecx, ecx
jg 0x4febe6
mov dword [edx + 4], ecx
mov eax, ecx
mov esi, ecx
test eax, eax
jne 0x4fec02
mov dword [edx + 0xc], eax
test byte [edx + 0x10], 4
je 0x4fec0b
mov esi, dword [edx + 8]
mov ecx, dword [ebp - 0xa8]
cmp ecx, edx
je 0x4fec6b
cmp esi, dword [ecx + 8]
jg 0x4fec1e
mov eax, ecx
jmp 0x4fec31
mov edx, esi
call fcn.0047d980
mov edx, dword [ebp - 0x98]
mov ecx, dword [ebp - 0xa8]
test eax, eax
je 0x4ff0a2
cmp dword [edx + 4], 0
jle 0x4fec5f
lea eax, [esi*4]
push eax
push dword [edx]
push dword [ecx]
call fcn.005e1be0
mov edx, dword [ebp - 0x98]
add esp, 0xc
mov ecx, dword [ebp - 0xa8]
mov eax, dword [edx + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [edx + 4]
mov dword [ecx + 4], eax
test ecx, ecx
je 0x4fe77a
push dword [ebp - 0x94]
push ecx
push ecx
call fcn.004a3a40
add esp, 0xc
test eax, eax
je 0x4fe77a
mov edx, dword [ebp - 0xa4]
mov ecx, ebx
call fcn.004c0520
test eax, eax
je 0x4fe77a
push dword [ebp - 0x88]
mov esi, dword [ebp - 0xa8]
xor ecx, ecx
mov edx, dword [ebp - 0xc0]
push ebx
push esi
call fcn.004ca590
add esp, 0xc
test eax, eax
je 0x4fe77a
push 0x6373a0
push dword [ebp - 0xc0]
push ebx
call fcn.004a3b40
add esp, 0xc
test eax, eax
je 0x4fe77a
push ebx
push esi
mov esi, dword [ebp - 0x9c]
push esi
call fcn.004a3b40
add esp, 0xc
test eax, eax
je 0x4fe77a
mov edx, dword [ebp - 0x94]
mov ecx, esi
call fcn.0047de30
mov esi, dword [ebp - 0xc4]
test eax, eax
js 0x4fed38
mov ecx, dword [ebp - 0x9c]
mov edx, 0x40
push esi
push 1
push dword [ebp - 0x88]
call fcn.005185c0
add esp, 0xc
test eax, eax
jg 0x4fed6e
jne 0x4fe77a
mov ecx, dword [ebp - 0xb4]
inc ecx
mov dword [ebp - 0xb4], ecx
cmp ecx, 0x1000
jl 0x4fea22
jmp 0x4fe740
push 0x56
push str.C:mediagetdependencies_installeropenssl1_1_win_build_1.1.1qcrypto_bn_bn_shift.c
push 0x77
mov edx, 0x91
mov ecx, 3
jmp 0x4ff09a
test esi, esi
je 0x4fedac
mov eax, dword [esi]
sub eax, 1
je 0x4fed99
sub eax, 1
jne 0x4ff0a2
mov eax, dword [esi + 8]
push esi
push 1
push 2
call eax
add esp, 0xc
test eax, eax
je 0x4fe77a
jmp 0x4fedac
mov eax, dword [esi + 8]
test eax, eax
je 0x4fedac
push dword [esi + 4]
push 1
push 2
call eax
add esp, 0xc
push 0x6373a0
push dword [ebp - 0x9c]
push dword [ebp - 0x94]
call fcn.004a3b40
add esp, 0xc
test eax, eax
je 0x4fe77a
mov edi, dword [ebp - 0x88]
xor edx, edx
push edi
push dword [ebp - 0xa4]
mov ecx, ebx
push dword [ebp - 0x94]
call fcn.004ca590
add esp, 0xc
test eax, eax
je 0x4fe77a
mov ecx, dword [ebp - 0x94]
cmp dword [ecx + 8], 1
jge 0x4fee2b
mov edx, 1
call fcn.0047d980
test eax, eax
jne 0x4fee25
mov ecx, edi
call fcn.004a2790
call fcn.004a2590
mov ecx, dword [ebp - 0x8c]
jmp 0x4fe794
mov ecx, dword [ebp - 0x94]
mov eax, dword [ecx]
mov edx, dword [ebp - 0x9c]
mov dword [ecx + 0xc], 0
push edi
mov dword [eax], 2
mov dword [ecx + 4], 1
mov ecx, dword [ebp - 0x8c]
call fcn.00494360
add esp, 4
test eax, eax
je 0x4fe77a
push dword [ebp - 0x8c]
push edi
push dword [ebp - 0x9c]
push ebx
push dword [ebp - 0x94]
push dword [ebp - 0xac]
call fcn.004de060
add esp, 0x18
test eax, eax
je 0x4fe77a
nop dword [eax + eax]
mov ecx, dword [ebp - 0xac]
cmp dword [ecx + 4], 1
jne 0x4fef03
mov eax, dword [ecx]
cmp dword [eax], 1
jne 0x4fef03
cmp dword [ecx + 0xc], 0
jne 0x4fef03
mov eax, dword [ebp - 0x94]
push 0x6373a0
push eax
push eax
call fcn.004a3a40
add esp, 0xc
test eax, eax
je 0x4fe77a
push dword [ebp - 0x8c]
push edi
push dword [ebp - 0x9c]
push ebx
push dword [ebp - 0x94]
push dword [ebp - 0xac]
call fcn.004de060
add esp, 0x18
test eax, eax
jne 0x4fee90
mov ecx, edi
call fcn.004a2790
call fcn.004a2590
mov ecx, dword [ebp - 0x8c]
jmp 0x4fe794
test esi, esi
je 0x4fef54
mov eax, dword [esi]
sub eax, 1
je 0x4fef41
sub eax, 1
je 0x4fef2a
mov ecx, edi
call fcn.004a2790
call fcn.004a2590
mov ecx, dword [ebp - 0x8c]
jmp 0x4fe794
mov eax, dword [esi + 8]
push esi
push 1
push 3
call eax
add esp, 0xc
test eax, eax
je 0x4fe77a
jmp 0x4fef54
mov eax, dword [esi + 8]
test eax, eax
je 0x4fef54
push dword [esi + 4]
push 1
push 3
call eax
add esp, 0xc
mov ebx, dword [ebp - 0xc8]
mov dword [ebp - 0xb8], 1
mov esi, dword [ebx + 8]
test esi, esi
je 0x4fefac
mov eax, dword [esi + 0x10]
test al, 2
jne 0x4fef9d
mov edi, dword [esi]
test al, 8
je 0x4fef94
test edi, edi
je 0x4fef9d
mov eax, dword [esi + 8]
shl eax, 2
push eax
push edi
call fcn.00401320
push edi
call fcn.005e4cbe
add esp, 0xc
jmp 0x4fef9d
push edi
call fcn.005e4cbe
add esp, 4
test byte [esi + 0x10], 1
je 0x4fefac
push esi
call fcn.005e4cbe
add esp, 4
mov esi, dword [ebx + 0xc]
test esi, esi
je 0x4feff4
mov eax, dword [esi + 0x10]
test al, 2
jne 0x4fefe5
mov edi, dword [esi]
test al, 8
je 0x4fefdc
test edi, edi
je 0x4fefe5
mov eax, dword [esi + 8]
shl eax, 2
push eax
push edi
call fcn.00401320
push edi
call fcn.005e4cbe
add esp, 0xc
jmp 0x4fefe5
push edi
call fcn.005e4cbe
add esp, 4
test byte [esi + 0x10], 1
je 0x4feff4
push esi
call fcn.005e4cbe
add esp, 4
mov esi, dword [ebx + 0x10]
test esi, esi
je 0x4ff03c
mov eax, dword [esi + 0x10]
test al, 2
jne 0x4ff02d
mov edi, dword [esi]
test al, 8
je 0x4ff024
test edi, edi
je 0x4ff02d
mov eax, dword [esi + 8]
shl eax, 2
push eax
push edi
call fcn.00401320
push edi
call fcn.005e4cbe
add esp, 0xc
jmp 0x4ff02d
push edi
call fcn.005e4cbe
add esp, 4
test byte [esi + 0x10], 1
je 0x4ff03c
push esi
call fcn.005e4cbe
add esp, 4
mov ecx, dword [ebp - 0x9c]
call fcn.0047daa0
mov ecx, dword [ebp - 0xa4]
mov dword [ebx + 8], eax
call fcn.0047daa0
mov ecx, dword [ebp - 0xac]
mov dword [ebx + 0xc], eax
call fcn.0047daa0
cmp dword [ebx + 8], 0
mov dword [ebx + 0x10], eax
je 0x4ff07a
cmp dword [ebx + 0xc], 0
je 0x4ff07a
test eax, eax
jne 0x4fe77a
mov dword [ebp - 0xb8], 0
jmp 0x4ff0a2
push 0x3ae
mov edx, 0x64
push str.C:mediagetdependencies_installeropenssl1_1_win_build_1.1.1qcrypto_rand_rand_lib.c
push 0x65
lea ecx, [edx - 0x40]
call fcn.00489de0
add esp, 0xc
mov ecx, dword [ebp - 0x88]
call fcn.004a2790
call fcn.004a2590
mov ecx, dword [ebp - 0x8c]
jmp 0x4fe794