Function at 0x4d3840
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov eax, 0xcc
call fcn.0065cc50
mov eax, dword [0x745694]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0xcc], ecx
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0xc4], ecx
mov ecx, dword [ebp + 0x14]
push ebx
push esi
mov dword [ebp - 0x8c], ecx
mov esi, edx
mov edx, dword [ebp + 0x20]
or ecx, 0xffffffff
push edi
xor edi, edi
mov dword [ebp - 0xc0], ecx
test eax, eax
mov dword [ebp - 0xbc], esi
mov ecx, 0x6cbe90
mov dword [ebp - 0xac], 0
cmovne ecx, eax
test edx, edx
mov dword [ebp - 0x88], ecx
cmove edx, ecx
mov dword [ebp - 0xb4], edx
test ecx, ecx
jne 0x4d38d8
push 0x143
push str.C:pixelseeinstaller_dependencesopenssl1_1_win_build_1.1.1qcryptoevpevp_lib.c
push 0x9f
mov edx, 0xa2
lea ecx, [edi + 6]
call fcn.0047b7e0
add esp, 0xc
or ebx, 0xffffffff
jmp 0x4d38db
mov ebx, dword [ecx + 8]
mov dword [ebp - 0xa4], ebx
test esi, esi
jle 0x4d405c
mov esi, dword [ebp + 0xc]
test esi, esi
jle 0x4d405c
mov ecx, dword [ebp - 0xc4]
cmp ecx, esi
jl 0x4d403e
lea eax, [ebx*2 + 2]
cmp ecx, eax
jl 0x4d403e
mov eax, ecx
sub eax, ebx
add eax, 0xffffffff
mov dword [ebp - 0x98], eax
je 0x4d3fe3
push eax
mov dword [0x7464ac], edi
call fcn.00668622
add esp, 4
mov dword [ebp - 0x90], eax
test eax, eax
je 0x4d3fe3
mov ecx, dword [ebp - 0xc4]
push 0xa3
push str.C:pixelseeinstaller_dependencesopenssl1_1_win_build_1.1.1qcrypto_rsa_rsa_oaep.c
push ecx
call fcn.0046adb0
add esp, 0xc
mov dword [ebp - 0xa8], eax
test eax, eax
jne 0x4d3990
push 0xa6
push str.C:pixelseeinstaller_dependencesopenssl1_1_win_build_1.1.1qcrypto_rsa_rsa_oaep.c
push 0x41
mov edx, 0x99
lea ecx, [eax + 4]
call fcn.0047b7e0
lea eax, [ebp - 0x44]
push 0x40
push eax
call fcn.00401320
add esp, 0x14
jmp 0x4d3f99
mov edi, dword [ebp - 0xa8]
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0xc4]
add edx, esi
add edi, eax
mov dword [ebp - 0xa8], edi
test eax, eax
jle 0x4d39df
mov ebx, eax
nop
mov eax, esi
lea ecx, [esi - 1]
not eax
shr ecx, 0x1f
shr eax, 0x1f
dec edi
and ecx, eax
dec ecx
mov eax, ecx
and eax, 1
sub edx, eax
sub esi, eax
and cl, byte [edx]
mov byte [edi], cl
sub ebx, 1
jne 0x4d39b0
mov ebx, dword [ebp - 0xa4]
mov dword [ebp - 0xa8], edi
movzx edi, byte [edi]
mov edx, ebx
mov eax, dword [ebp - 0xa8]
push dword [ebp - 0xb4]
mov esi, dword [ebp - 0x98]
lea edi, [edi - 1]
lea ecx, [eax + 1]
shr edi, 0x1f
inc eax
mov dword [ebp - 0xb0], ecx
add eax, ebx
lea ecx, [ebp - 0x44]
push esi
neg edi
mov dword [ebp - 0x94], eax
push eax
mov dword [ebp - 0xc8], edi
call fcn.004d4070
add esp, 0xc
test eax, eax
jne 0x4d3f8b
xor edx, edx
test ebx, ebx
jle 0x4d3b38
cmp ebx, 0x40
jb 0x4d3b18
mov ecx, dword [ebp - 0xb0]
lea esi, [ebp - 0x44]
lea eax, [ecx - 1]
add eax, ebx
cmp esi, eax
ja 0x4d3a5c
lea eax, [ebp + ebx - 0x45]
cmp eax, ecx
jae 0x4d3b18
mov eax, ebx
and eax, 0x8000003f
jns 0x4d3a6a
dec eax
or eax, 0xffffffc0
inc eax
mov dword [ebp - 0x9c], ebx
lea esi, [ebp - 0x44]
sub dword [ebp - 0x9c], eax
lea ebx, [ebp - 0x34]
sub esi, ecx
lea eax, [ecx + 0x20]
sub ebx, ecx
mov dword [ebp - 0xb8], esi
mov esi, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x9c]
mov dword [ebp - 0xa0], ebx
mov ebx, dword [ebp - 0xb8]
mov edi, dword [ebp - 0xa0]
nop word [eax + eax]
movups xmm0, xmmword [ebp + edx - 0x44]
lea eax, [eax + 0x40]
movups xmm1, xmmword [eax - 0x60]
pxor xmm1, xmm0
movups xmmword [ebp + edx - 0x44], xmm1
movups xmm0, xmmword [ebp + edx - 0x34]
movups xmm1, xmmword [eax - 0x50]
pxor xmm1, xmm0
movups xmm0, xmmword [eax - 0x40]
movups xmmword [ebp + edx - 0x34], xmm1
add edx, 0x40
movups xmm1, xmmword [ebx + eax - 0x40]
pxor xmm1, xmm0
movups xmmword [ebx + eax - 0x40], xmm1
movups xmm0, xmmword [edi + eax - 0x40]
movups xmm1, xmmword [eax - 0x30]
pxor xmm1, xmm0
movups xmmword [edi + eax - 0x40], xmm1
cmp edx, ecx
jl 0x4d3ab0
mov ebx, dword [ebp - 0xa4]
mov edi, dword [ebp - 0xc8]
mov dword [ebp - 0xa0], edx
cmp edx, ebx
jge 0x4d3b38
mov esi, dword [ebp - 0xb0]
lea eax, [ebp - 0x44]
sub esi, eax
lea ecx, [ebp - 0x44]
add ecx, edx
inc edx
mov al, byte [ecx + esi]
xor byte [ecx], al
cmp edx, ebx
jl 0x4d3b23
mov esi, dword [ebp - 0x98]
push dword [ebp - 0xb4]
mov ecx, dword [ebp - 0x90]
lea eax, [ebp - 0x44]
push ebx
push eax
mov edx, esi
call fcn.004d4070
add esp, 0xc
test eax, eax
jne 0x4d3f8b
xor ecx, ecx
mov dword [ebp - 0x9c], ecx
test esi, esi
jle 0x4d3c71
mov edx, dword [ebp - 0x90]
cmp esi, 0x40
jb 0x4d3c4a
mov eax, dword [ebp - 0x94]
dec eax
mov dword [ebp - 0x9c], ecx
add eax, esi
cmp edx, eax
ja 0x4d3b9e
lea eax, [edx - 1]
add eax, esi
cmp eax, dword [ebp - 0x94]
jae 0x4d3c4a
mov eax, esi
and eax, 0x8000003f
jns 0x4d3bac
dec eax
or eax, 0xffffffc0
inc eax
mov ebx, dword [ebp - 0x94]
mov edx, esi
sub edx, eax
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xb8], edx
add eax, 0x10
mov edx, dword [ebp - 0x94]
add edx, 0x30
sub ebx, dword [ebp - 0x90]
mov dword [ebp - 0xa0], ebx
mov ebx, dword [ebp - 0xa4]
mov esi, dword [ebp - 0xa0]
movups xmm0, xmmword [eax - 0x10]
add ecx, 0x40
lea edx, [edx + 0x40]
lea eax, [eax + 0x40]
movups xmm1, xmmword [edx - 0x70]
pxor xmm1, xmm0
movups xmmword [eax - 0x50], xmm1
movups xmm0, xmmword [eax - 0x40]
movups xmm1, xmmword [esi + eax - 0x40]
pxor xmm1, xmm0
movups xmmword [eax - 0x40], xmm1
movups xmm0, xmmword [eax - 0x30]
movups xmm1, xmmword [edx - 0x50]
pxor xmm1, xmm0
movups xmmword [eax - 0x30], xmm1
movups xmm0, xmmword [eax - 0x20]
movups xmm1, xmmword [edx - 0x40]
pxor xmm1, xmm0
movups xmmword [eax - 0x20], xmm1
cmp ecx, dword [ebp - 0xb8]
jl 0x4d3be6
mov esi, dword [ebp - 0x98]
mov edx, dword [ebp - 0x90]
mov dword [ebp - 0x9c], ecx
cmp ecx, esi
jge 0x4d3c71
mov ebx, dword [ebp - 0x94]
add ecx, edx
sub ebx, edx
mov edx, esi
sub edx, dword [ebp - 0x9c]
mov al, byte [ecx + ebx]
xor byte [ecx], al
inc ecx
sub edx, 1
jne 0x4d3c60
mov ebx, dword [ebp - 0xa4]
mov edx, dword [ebp + 0x18]
lea eax, [ebp - 0x84]
push ecx
push dword [ebp - 0x88]
mov ecx, dword [ebp - 0x8c]
push 0
push eax
call fcn.00472370
add esp, 0x10
test eax, eax
je 0x4d3f8b
push ebx
lea eax, [ebp - 0x84]
push eax
push dword [ebp - 0x90]
call fcn.00401390
mov esi, dword [ebp - 0xa4]
add esp, 0xc
mov edx, dword [ebp - 0x98]
mov dword [ebp - 0x94], 0
lea ecx, [eax - 1]
not eax
shr ecx, 0x1f
shr eax, 0x1f
and ecx, eax
neg ecx
and edi, ecx
cmp esi, edx
jge 0x4d3d56
nop dword [eax + eax]
mov eax, dword [ebp - 0x90]
movzx ecx, byte [ebx + eax]
mov eax, dword [ebp - 0x94]
mov esi, ecx
xor esi, 1
not eax
lea edx, [ecx - 1]
shr edx, 0x1f
lea esi, [esi - 1]
neg edx
shr esi, 0x1f
neg esi
and eax, esi
mov dword [ebp - 0x8c], eax
not eax
mov dword [ebp - 0x88], eax
mov ecx, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x88]
and ecx, ebx
and eax, dword [ebp - 0xac]
inc ebx
or eax, ecx
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0x94]
or eax, esi
or edx, eax
mov dword [ebp - 0x94], eax
and edi, edx
mov edx, dword [ebp - 0x98]
cmp ebx, edx
jl 0x4d3ce0
mov esi, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0xbc]
mov eax, edx
sub eax, dword [ebp - 0xac]
mov ebx, edx
dec eax
sub ebx, esi
sub ecx, eax
mov dword [ebp - 0xc0], eax
xor ecx, eax
mov dword [ebp - 0xa0], ebx
xor eax, dword [ebp - 0xbc]
or ecx, eax
mov eax, dword [ebp - 0xbc]
xor ecx, eax
shr ecx, 0x1f
dec ecx
and ecx, dword [ebp - 0x94]
and edi, ecx
lea ecx, [ebx - 1]
mov edx, ecx
mov dword [ebp - 0xc8], edi
sub edx, eax
xor edx, eax
mov eax, ecx
xor eax, dword [ebp - 0xbc]
or edx, eax
xor edx, ecx
shr edx, 0x1f
neg edx
mov dword [ebp - 0x8c], edx
not edx
mov dword [ebp - 0x88], edx
lea edx, [ebx - 1]
mov eax, dword [ebp - 0x8c]
mov ebx, 1
mov ecx, dword [ebp - 0x88]
and eax, edx
and ecx, dword [ebp - 0xbc]
or ecx, eax
mov dword [ebp - 0xac], edx
mov dword [ebp - 0xb0], ecx
cmp edx, ebx
jle 0x4d3eb6
mov eax, dword [ebp - 0xa0]
sub eax, dword [ebp - 0xc0]
dec eax
inc esi
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0xb4], esi
nop
mov edi, dword [ebp - 0x98]
and eax, ebx
sub edi, ebx
lea ecx, [eax - 1]
not eax
shr ecx, 0x1f
shr eax, 0x1f
and ecx, eax
dec ecx
cmp esi, edi
jge 0x4d3e9a
add esi, dword [ebp - 0x90]
sub edi, dword [ebp - 0xb4]
movzx ecx, cl
mov eax, ecx
mov dword [ebp - 0xb8], ecx
not eax
mov dword [ebp - 0xa0], eax
nop dword [eax + eax]
mov dword [ebp - 0x8c], ecx
lea esi, [esi + 1]
mov dword [ebp - 0x88], eax
movzx eax, byte [esi + ebx - 1]
mov edx, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x88]
and dl, al
movzx eax, byte [esi - 1]
and cl, al
mov eax, dword [ebp - 0xa0]
or cl, dl
mov byte [esi - 1], cl
mov ecx, dword [ebp - 0xb8]
sub edi, 1
jne 0x4d3e50
mov esi, dword [ebp - 0xb4]
mov edx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x9c]
add ebx, ebx
cmp ebx, edx
jl 0x4d3e10
mov edi, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xb0]
xor esi, esi
test ecx, ecx
jle 0x4d3f2f
mov ebx, dword [ebp - 0x90]
inc ebx
add ebx, dword [ebp - 0xa4]
nop dword [eax]
mov edx, dword [ebp - 0xc0]
lea ebx, [ebx + 1]
mov ecx, esi
mov eax, esi
sub ecx, edx
xor eax, edx
xor ecx, edx
or ecx, eax
shr ecx, 0x1f
neg ecx
and ecx, edi
movzx eax, cl
mov dword [ebp - 0x8c], eax
not eax
mov dword [ebp - 0x88], eax
movzx eax, byte [ebx - 1]
mov edx, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x88]
and dl, al
mov eax, dword [ebp - 0xcc]
movzx eax, byte [eax + esi]
and cl, al
mov eax, dword [ebp - 0xcc]
or cl, dl
mov byte [eax + esi], cl
inc esi
cmp esi, dword [ebp - 0xb0]
jl 0x4d3ed0
push 0x107
push str.C:pixelseeinstaller_dependencesopenssl1_1_win_build_1.1.1qcrypto_rsa_rsa_oaep.c
push 0x79
mov edx, 0x99
mov ecx, 4
call fcn.0047b7e0
add esp, 0xc
mov esi, edi
and esi, 1
call fcn.0047bee0
mov ebx, eax
test ebx, ebx
je 0x4d3f8b
mov edx, dword [ebx + 0x180]
lea ecx, [esi - 1]
shr ecx, 0x1f
neg ecx
mov dword [ebp - 0x8c], ecx
not ecx
mov dword [ebp - 0x88], ecx
mov eax, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x88]
and eax, 2
or dword [ebx + edx*4], eax
lea eax, [ebp - 0x44]
push 0x40
push eax
call fcn.00401320
add esp, 8
push dword [ebp - 0x98]
mov esi, dword [ebp - 0x90]
push esi
call fcn.00401320
mov ebx, dword [ebp - 0xc0]
push esi
call fcn.006637b7
mov esi, dword [ebp - 0xa8]
add esp, 0xc
test esi, esi
je 0x4d400f
mov eax, dword [ebp - 0xc4]
test eax, eax
je 0x4d3fd8
push eax
push esi
call fcn.00401320
add esp, 8
push esi
call fcn.006637b7
add esp, 4
jmp 0x4d400f
push 0x9f
push str.C:pixelseeinstaller_dependencesopenssl1_1_win_build_1.1.1qcrypto_rsa_rsa_oaep.c
push 0x41
mov edx, 0x99
mov ecx, 4
call fcn.0047b7e0
lea eax, [ebp - 0x44]
push 0x40
push eax
call fcn.00401320
add esp, 0x14
or ebx, 0xffffffff
mov dword [ebp - 0x8c], edi
not edi
mov dword [ebp - 0x88], edi
mov ecx, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x88]
and ecx, ebx
pop edi
pop esi
or eax, ecx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0065cc3a
mov esp, ebp
pop ebp
ret
push 0x98
push str.C:pixelseeinstaller_dependencesopenssl1_1_win_build_1.1.1qcrypto_rsa_rsa_oaep.c
push 0x79
mov edx, 0x99
mov ecx, 4
call fcn.0047b7e0
add esp, 0xc
mov ecx, dword [ebp - 4]
or eax, 0xffffffff
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0065cc3a
mov esp, ebp
pop ebp
ret