Function at 0x505b90
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x50
call fcn.00663af0
mov eax, dword [0x74e694]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp + 0x10]
push ebx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 0x14]
push esi
mov esi, edx
mov dword [ebp - 0x38], eax
mov eax, dword [ecx + 0xc]
xor edx, edx
mov dword [ebp - 0x48], ecx
mov ecx, eax
push edi
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x2c], edx
call fcn.00505290
mov ebx, eax
mov dword [ebp - 0x28], ebx
test esi, esi
jne 0x505c16
push 0x143
push str.C:mediagetdependencies_installeropenssl1_1_win_build_1.1.1qcryptoevpevp_lib.c
push 0x9f
mov edx, 0xa2
lea ecx, [esi + 6]
call fcn.0047b7e0
add esp, 0xc
or eax, 0xffffffff
jmp 0x505c19
mov eax, dword [esi + 8]
xor esi, esi
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x14], 0
test ebx, ebx
je 0x506032
test eax, eax
jle 0x506032
mov eax, dword [ebp - 0x38]
push dword [eax]
push 0xff
push dword [ebp - 0x10]
call fcn.00667150
push 0x6f2c3c
push edi
lea edx, [ebp - 0xc]
xor ecx, ecx
call fcn.00489a50
mov edx, eax
add esp, 0x14
mov dword [ebp - 0x44], edx
test edx, edx
jne 0x505c74
push 0x11d
push str.C:mediagetdependencies_installeropenssl1_1_win_build_1.1.1qcrypto_sm2_sm2_crypt.c
push 0x64
jmp 0x506022
mov ecx, dword [edx + 8]
mov eax, dword [ebp - 0x34]
cmp dword [ecx], eax
je 0x505c8f
push 0x122
push str.C:mediagetdependencies_installeropenssl1_1_win_build_1.1.1qcrypto_sm2_sm2_crypt.c
push 0x68
jmp 0x506022
mov eax, dword [edx + 0xc]
mov ecx, dword [ecx + 8]
mov dword [ebp - 8], ecx
mov edi, dword [eax]
mov ebx, dword [eax + 8]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x30], edi
cmp dword [eax], edi
jae 0x505cb8
push 0x12a
push str.C:mediagetdependencies_installeropenssl1_1_win_build_1.1.1qcrypto_sm2_sm2_crypt.c
push 0x6b
jmp 0x506022
call fcn.00494590
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x505cce
push 0x130
jmp 0x50601b
mov ecx, eax
call fcn.00494730
mov ecx, dword [ebp - 0x20]
call fcn.004948a0
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x3c], eax
call fcn.004948a0
mov dword [ebp - 0x40], eax
test eax, eax
jne 0x505d00
push 0x139
push str.C:mediagetdependencies_installeropenssl1_1_win_build_1.1.1qcrypto_sm2_sm2_crypt.c
push 3
jmp 0x506022
push ecx
mov ecx, edi
call fcn.0046ade0
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x28]
add eax, eax
mov ecx, eax
mov dword [ebp - 0x4c], eax
call fcn.0046ade0
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x18], eax
call fcn.0046ade0
add esp, 4
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x14], esi
je 0x506016
cmp dword [ebp - 0x18], esi
je 0x506016
test eax, eax
je 0x506016
mov ecx, dword [ebp - 0x24]
call fcn.004a7ed0
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x505d5e
push 0x148
jmp 0x50601b
mov ecx, dword [ebp - 0x44]
mov edx, eax
push dword [ebp - 0x20]
push dword [ecx + 4]
push dword [ecx]
mov ecx, dword [ebp - 0x24]
call fcn.004a8040
add esp, 0xc
test eax, eax
je 0x506008
mov eax, dword [ebp - 0x48]
push dword [ebp - 0x20]
mov ecx, dword [ebp - 0x24]
push dword [eax + 0x14]
mov eax, dword [ebp - 0x1c]
mov edx, eax
push eax
push 0
call fcn.004a8560
add esp, 0x10
test eax, eax
je 0x506008
push dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
push dword [ebp - 0x40]
mov ecx, dword [ebp - 0x24]
push dword [ebp - 0x3c]
call fcn.004a80e0
add esp, 0xc
test eax, eax
je 0x506008
push dword [ebp - 0x28]
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x3c]
call fcn.0046e8e0
add esp, 4
test eax, eax
js 0x505ffa
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
add eax, ecx
push ecx
mov ecx, dword [ebp - 0x40]
mov edx, eax
mov dword [ebp - 0x24], eax
call fcn.0046e8e0
add esp, 4
test eax, eax
js 0x505ffa
push dword [ebp - 0x50]
mov ecx, dword [ebp - 0x14]
mov edx, edi
push 0
push 0
push dword [ebp - 0x4c]
push dword [ebp - 0x18]
call fcn.00506cf0
add esp, 0x14
test eax, eax
je 0x505ffa
xor esi, esi
test edi, edi
je 0x505f22
mov edx, dword [ebp - 0x14]
cmp edi, 0x40
jb 0x505efa
mov ecx, dword [ebp - 0x10]
lea eax, [edx - 1]
dec ecx
add eax, edi
add ecx, edi
cmp dword [ebp - 0x10], eax
ja 0x505e4b
cmp ecx, edx
jae 0x505efa
lea eax, [ebx - 1]
add eax, edi
cmp dword [ebp - 0x10], eax
ja 0x505e5d
cmp ecx, ebx
jae 0x505efa
mov eax, edi
and eax, 0x8000003f
jns 0x505e6b
dec eax
or eax, 0xffffffc0
inc eax
mov ecx, edi
mov edi, ebx
sub edi, edx
sub ecx, eax
mov dword [ebp - 0x4c], edi
lea eax, [edx + 0x10]
mov edi, dword [ebp - 0x10]
sub edi, edx
mov dword [ebp - 0x3c], ecx
mov ecx, dword [ebp - 0x10]
mov edx, ebx
add ecx, 0x20
mov dword [ebp - 0x48], edi
sub edx, dword [ebp - 0x10]
mov dword [ebp - 0x40], edx
mov edx, dword [ebp - 0x4c]
movups xmm0, xmmword [eax - 0x10]
mov edi, dword [ebp - 0x48]
lea eax, [eax + 0x40]
movups xmm1, xmmword [esi + ebx]
lea ecx, [ecx + 0x40]
pxor xmm1, xmm0
movups xmm0, xmmword [eax - 0x40]
movups xmmword [ecx - 0x60], xmm1
movups xmm1, xmmword [edx + eax - 0x40]
pxor xmm1, xmm0
movups xmm0, xmmword [eax - 0x30]
movups xmmword [edi + eax - 0x40], xmm1
mov edi, dword [ebp - 0x40]
movups xmm1, xmmword [edi + ecx - 0x40]
mov edi, dword [ebp - 0x30]
pxor xmm1, xmm0
movups xmm0, xmmword [eax - 0x20]
movups xmmword [ecx - 0x40], xmm1
movups xmm1, xmmword [esi + ebx + 0x30]
add esi, 0x40
pxor xmm1, xmm0
movups xmmword [ecx - 0x30], xmm1
cmp esi, dword [ebp - 0x3c]
jne 0x505e95
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x30], esi
cmp esi, edi
je 0x505f22
mov eax, dword [ebp - 0x10]
lea ecx, [esi + edx]
sub eax, edx
sub ebx, edx
mov edx, edi
mov dword [ebp - 0x30], eax
sub edx, esi
mov esi, eax
nop dword [eax]
mov al, byte [ebx + ecx]
lea ecx, [ecx + 1]
xor al, byte [ecx - 1]
mov byte [esi + ecx - 1], al
sub edx, 1
jne 0x505f10
call fcn.00471d20
mov esi, eax
test esi, esi
jne 0x505f37
push 0x162
jmp 0x50601b
push dword [ebp - 0x50]
push esi
call fcn.00471d70
add esp, 8
test eax, eax
je 0x505fec
push dword [ebp - 0x28]
mov ebx, dword [ebp - 0x18]
mov eax, dword [esi + 0x14]
push ebx
push esi
call eax
add esp, 0xc
test eax, eax
je 0x505fec
test edi, edi
je 0x505f78
mov eax, dword [esi + 0x14]
push edi
push dword [ebp - 0x10]
push esi
call eax
add esp, 0xc
test eax, eax
je 0x505fec
push dword [ebp - 0x28]
mov eax, dword [esi + 0x14]
push dword [ebp - 0x24]
push esi
call eax
add esp, 0xc
test eax, eax
je 0x505fec
mov edx, dword [ebp - 0x2c]
mov ecx, esi
push 0
call fcn.00472020
add esp, 4
test eax, eax
je 0x505fec
push dword [ebp - 0x34]
push dword [ebp - 8]
push dword [ebp - 0x2c]
call fcn.00401390
add esp, 0xc
test eax, eax
je 0x505fc1
push 0x170
push str.C:mediagetdependencies_installeropenssl1_1_win_build_1.1.1qcrypto_sm2_sm2_crypt.c
push 0x66
jmp 0x506022
mov eax, dword [ebp - 0x38]
push dword [ebp - 0x14]
mov dword [eax], edi
call fcn.0066a657
push ebx
call fcn.0066a657
push dword [ebp - 0x2c]
call fcn.0066a657
mov ebx, dword [ebp - 0x1c]
add esp, 0xc
mov edi, 1
jmp 0x50606b
push 0x16b
push str.C:mediagetdependencies_installeropenssl1_1_win_build_1.1.1qcrypto_sm2_sm2_crypt.c
push 6
jmp 0x506022
push 0x159
push str.C:mediagetdependencies_installeropenssl1_1_win_build_1.1.1qcrypto_sm2_sm2_crypt.c
push 0x44
jmp 0x506022
push 0x151
push str.C:mediagetdependencies_installeropenssl1_1_win_build_1.1.1qcrypto_sm2_sm2_crypt.c
push 0x10
jmp 0x506022
push 0x142
push str.C:mediagetdependencies_installeropenssl1_1_win_build_1.1.1qcrypto_sm2_sm2_crypt.c
push 0x41
mov edx, 0x66
lea ecx, [edx - 0x31]
call fcn.0047b7e0
add esp, 0xc
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x38]
push dword [eax]
push 0
push dword [ebp - 0x10]
call fcn.00667150
push dword [ebp - 0x14]
call fcn.0066a657
push dword [ebp - 0x18]
call fcn.0066a657
push dword [ebp - 0x2c]
call fcn.0066a657
mov ebx, dword [ebp - 0x1c]
add esp, 0x18
xor edi, edi
test ebx, ebx
je 0x506083
mov eax, dword [ebx]
mov eax, dword [eax + 0x30]
test eax, eax
je 0x50607a
push ebx
call eax
add esp, 4
push ebx
call fcn.0066a657
add esp, 4
mov ecx, dword [ebp - 0x20]
call fcn.00494630
mov eax, dword [ebp - 0x44]
lea ecx, [ebp - 8]
push 0
mov edx, 0x6f2c3c
mov dword [ebp - 8], eax
call fcn.0048c2e0
mov ecx, esi
call fcn.00471c60
push esi
call fcn.0066a657
mov ecx, dword [ebp - 4]
add esp, 8
mov eax, edi
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.00663ada
mov esp, ebp
pop ebp
ret