Function at 0x10002930
Capabilities:
Encode data using xor

Disassembly:
jmp 0x100f7ea0
mov eax, 0x50
call fcn.100011c0
mov eax, dword [0x102293a4]
xor eax, esp
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x68]
push ebx
mov ebx, dword [esp + 0x60]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 4], ecx
push ebp
mov ebp, dword [esp + 0x60]
mov dword [esp + 0x18], ebp
push edi
mov edi, dword [esp + 0x70]
cmp ebx, 0x10
jae 0x100f7ef9
pop edi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x4c]
xor ecx, esp
call fcn.1000b910
add esp, 0x50
ret
push esi
mov esi, ebx
lfence
and esi, 0xf
jne 0x100f7f27
push ecx
push edi
push edx
push ebx
push ebp
push eax
call sym.libcrypto_1_1.dll_CRYPTO_cbc128_decrypt
add esp, 0x18
mov eax, ebx
pop esi
pop edi
pop ebp
pop ebx
mov ecx, dword [esp + 0x4c]
xor ecx, esp
call fcn.1000b910
add esp, 0x50
ret
sub ebx, esi
mov dword [esp + 0x38], ebx
lea eax, [ebx - 0x10]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x1c], eax
test eax, eax
je 0x100f7f61
push ecx
push edi
push edx
push eax
push ebp
push ebx
lfence
call sym.libcrypto_1_1.dll_CRYPTO_cbc128_decrypt
add ebx, dword [esp + 0x34]
add esp, 0x18
add ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x20], ebp
push edx
lea eax, [esp + 0x50]
push eax
lea eax, [ebx + esi]
push eax
call dword [section..00cfg]
call dword [esp + 0x1c]
movups xmm0, xmmword [esp + 0x58]
push esi
lea eax, [esp + 0x4c]
push ebx
push eax
movups xmmword [esp + 0x54], xmm0
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [esp + 0x28]
lea eax, [esp + 0x54]
add esp, 0x18
push dword [esp + 0x18]
push eax
push eax
call dword [section..00cfg]
call dword [esp + 0x1c]
lea ecx, [ebx + 1]
mov edx, ebp
mov dword [esp + 0x30], ecx
sub edx, edi
mov ecx, ebx
mov dword [esp + 0x40], edx
sub ecx, ebp
add esp, 0xc
mov dword [esp + 0x28], ecx
xor eax, eax
lea ecx, [esp + 0x3c]
sub ecx, edi
mov dword [esp + 0x18], ecx
lea ecx, [esp + 0x3d]
sub ecx, edi
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x3e]
sub ecx, edi
mov dword [esp + 0x10], ecx
lea ecx, [esp + 0x3f]
sub ecx, edi
mov dword [esp + 0x1c], ecx
mov ecx, ebp
sub ecx, ebx
mov dword [esp + 0x2c], ecx
lea ecx, [ebp + 3]
mov ebp, dword [esp + 0x24]
mov dword [esp + 0x30], ecx
nop dword [eax]
mov ecx, dword [esp + 0x28]
lea ebp, [ebp + 4]
add edx, edi
mov bl, byte [edx + ecx]
mov ecx, dword [esp + 0x18]
movzx ecx, byte [ecx + edi]
xor cl, byte [edi]
mov byte [edx], cl
movzx ecx, byte [esi + ebp - 5]
mov byte [edi], cl
mov ecx, dword [esp + 0x18]
mov dl, byte [ebp - 4]
mov byte [ecx + edi], bl
movzx ecx, byte [edi + 1]
mov ebx, dword [esp + 0x14]
xor cl, byte [edi + ebx]
mov ebx, dword [esp + 0x2c]
mov byte [ebx + ebp - 4], cl
mov ebx, dword [esp + 0x14]
movzx ecx, byte [esi + ebp - 4]
mov byte [edi + 1], cl
movzx ecx, byte [edi + 2]
mov byte [edi + ebx], dl
mov ebx, dword [esp + 0x10]
mov dl, byte [ebp - 3]
xor cl, byte [edi + ebx]
mov ebx, dword [esp + 0x30]
mov byte [ebx + eax - 1], cl
movzx ecx, byte [esi + ebp - 3]
mov byte [edi + 2], cl
mov ecx, dword [esp + 0x10]
mov byte [edi + ecx], dl
mov ecx, dword [esp + 0x1c]
mov dl, byte [ebp - 2]
movzx ecx, byte [edi + ecx]
xor cl, byte [edi + 3]
mov byte [ebx + eax], cl
add eax, 4
movzx ecx, byte [esi + ebp - 2]
mov byte [edi + 3], cl
mov ecx, dword [esp + 0x1c]
mov byte [edi + ecx], dl
add edi, 4
mov edx, dword [esp + 0x34]
cmp eax, 0x10
jb 0x100f8000
mov ebp, dword [esp + 0x20]
add esi, 0x10
cmp eax, esi
jae 0x100f80c0
nop
mov cl, byte [esp + eax + 0x2c]
xor cl, byte [esp + eax + 0x3c]
mov byte [eax + ebp], cl
inc eax
cmp eax, esi
jb 0x100f80b0
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x5c]
add eax, esi
pop esi
pop edi
pop ebp
pop ebx
xor ecx, esp
call fcn.1000b910
add esp, 0x50
ret