Function at 0x140024730
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x80
mov rax, qword [0x1400be978]
xor rax, rsp
mov qword [rsp + 0x70], rax
mov r13, rdx
mov rsi, rcx
add rcx, 0xb8
call fcn.14002ea60
xor r12d, r12d
mov qword [rsi + 0xa0], r12
mov dword [rsi + 0x9c], r12d
mov qword [rsp + 0x28], 0xffffffffffffffff
mov rax, qword [rsp + 0x28]
mov qword [rsi + 0xac], rax
movsx rdx, word [r13 + 0x3e]
xor r8d, r8d
mov rcx, rsi
call fcn.1400573f0
mov rcx, rsi
cmp qword [rsi + 0x18], 0x10
jb 0x1400247ae
mov rcx, qword [rsi]
lea rdx, [r13 + 0x40]
mov r8, qword [rsi + 0x10]
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rsi + 0x10]
test rcx, rcx
je 0x140024ccb
cmp qword [rsi + 0x18], 0x10
jb 0x1400247db
mov rdi, qword [rsi]
mov rbx, rdi
lea r14, [rcx + rdi]
jmp 0x1400247e5
lea r14, [rsi + rcx]
mov rbx, rsi
mov rdi, rsi
mov r15, qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_tolower]
nop dword [rax]
cmp rbx, r14
je 0x140024805
movsx ecx, byte [rbx]
call r15
mov byte [rdi], al
inc rbx
inc rdi
jmp 0x1400247f0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x58], xmm1
mov rdx, r12
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x68], rdx
mov rdi, qword [rsi + 0x10]
add rdi, r13
mov eax, dword [rdi + 0x40]
mov dword [rsi + 0x9c], eax
mov eax, dword [rdi + 0x44]
mov dword [rsi + 0xa0], eax
mov eax, dword [rdi + 0x48]
mov dword [rsi + 0xa4], eax
add rdi, 0x51
mov r9d, 8
mov r8d, 0xeb0
lea r13, [0x140000000]
psrldq xmm1, 8
movq r14, xmm1
nop
cmp r12d, dword [rsi + 0xa4]
jge 0x140024b7e
movzx ebx, word [rdi]
mov word [rsp + 0x20], bx
movzx eax, word [rdi + 2]
mov word [rsp + 0x22], ax
movzx ecx, word [rdi + 4]
mov word [rsp + 0x24], cx
movzx eax, word [rdi + 6]
mov word [rsp + 0x26], ax
shr ax, 8
mov byte [rsp + 0x27], al
mov eax, 0xa
test cx, cx
cmove rax, r9
lea rcx, [rax + rdi]
mov rdi, rcx
cmp bx, r8w
jne 0x1400248e7
lea rdi, [rcx + 0x16]
cmp r14, rdx
je 0x1400248d0
mov rax, qword [rsp + 0x20]
mov qword [r14], rax
add r14, 8
mov qword [rsp + 0x60], r14
inc r12d
jmp 0x140024860
lea r8, [rsp + 0x20]
mov rdx, r14
lea rcx, [rsp + 0x58]
call fcn.1400100e0
jmp 0x140024b5b
mov rcx, rbx
mov rax, qword [0x1400c3ce0]
mov rdx, qword [0x1400c3cd8]
sub rax, rdx
sar rax, 5
cmp rax, rbx
jbe 0x140024cf5
shl rcx, 5
add rcx, rdx
xor edx, edx
lea r8d, [rdx + 0xa]
call fcn.14005cda0
movsxd rdx, eax
cmp edx, 0x38
ja 0x140024932
movabs rax, 0x1fec9560408240c
bt rax, rdx
jb 0x140024997
cmp ebx, 0x8c6
je 0x140024997
cmp edx, 0x3f
ja 0x14002494f
movabs rcx, 0xea00000000000000
bt rcx, rdx
jb 0x140024997
mov r8d, 0xeb0
cmp ebx, r8d
je 0x140024997
lea eax, [rdx - 0x42]
cmp eax, 0x3d
ja 0x140024972
movabs rcx, 0x2006a00c8afed583
bt rcx, rax
jb 0x140024997
cmp edx, 0xffffff82
je 0x140024997
cmp edx, 0x82
je 0x140024997
test bl, 1
jne 0x140024aef
lea eax, [rbx - 0x16ba]
cmp eax, 0x72
ja 0x140024aef
movzx r15d, byte [rdi]
inc rdi
test r15b, r15b
jne 0x1400249c6
lea rdx, str.Cannot_serialize_itemType_0
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140006ec0
lea rdx, [0x1400071e0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
cmp r15d, 0x4a
ja case.0x1400249e4.0
movzx eax, byte [r15 + r13 + 0x24d68]
mov ecx, dword [r13 + rax*4 + 0x24cfc]
add rcx, r13
jmp rcx
movzx eax, word [rdi]
add rdi, 3
add rdi, rax
jmp case.0x1400249e4.0
lea rdx, str.Safe_Vault_Found
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140006ec0
lea rdx, [0x1400071e0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
jmp case.0x1400249e4.0
movzx eax, word [rdi]
add rdi, 6
add rdi, rax
jmp case.0x1400249e4.0
movzx eax, byte [rdi + 5]
lea rdi, [rdi + rax*4]
add rdi, 0x11
jmp case.0x1400249e4.0
add rdi, 5
jmp case.0x1400249e4.0
inc rdi
jmp case.0x1400249e4.0
movzx eax, word [rdi + 4]
add rdi, 6
add rdi, rax
jmp case.0x1400249e4.0
movzx eax, word [rdi]
add rdi, 0x19
add rdi, rax
jmp case.0x1400249e4.0
add rdi, 0x12
jmp case.0x1400249e4.0
movzx eax, word [rdi]
add rdi, 2
add rdi, rax
jmp case.0x1400249e4.0
movzx eax, word [rdi]
add rdi, 7
add rdi, rax
jmp case.0x1400249e4.0
add rdi, 8
jmp case.0x1400249e4.0
inc rdi
mov eax, dword [rdi]
lea eax, [rax*4]
movsxd rcx, eax
add rcx, 4
add rdi, rcx
jmp case.0x1400249e4.0
add rdi, 6
jmp case.0x1400249e4.0
mov eax, 0xd42
mov r8d, 0xeb0
cmp bx, ax
jne 0x140024aef
movzx eax, word [rdi]
add rdi, 2
add rdi, rax
jmp 0x140024aef
movzx eax, word [rdi]
add rdi, 0x22
add rdi, rax
jmp case.0x1400249e4.0
add rdi, 0x10
jmp case.0x1400249e4.0
add rdi, 5
movzx eax, byte [rdi]
lea rdi, [rdi + rax*4]
add rdi, 4
mov r8d, 0xeb0
mov rdx, qword [rsp + 0x28]
cmp r14, rdx
je 0x140024b49
mov rax, qword [rsp + 0x20]
mov qword [r14], rax
add r14, 8
mov qword [rsp + 0x60], r14
mov r9d, 8
inc r12d
jmp 0x140024860
movzx eax, word [rdi]
add rdi, 0x1c
add rdi, rax
jmp case.0x1400249e4.0
add rdi, 9
jmp case.0x1400249e4.0
movsx rax, word [rdi]
add rdi, 2
add rdi, rax
jmp case.0x1400249e4.0
add rdi, 0xe
jmp case.0x1400249e4.0
imul ecx, dword [rdi], 0xf
add rdi, 0xc
add rdi, rcx
jmp case.0x1400249e4.0
lea r8, [rsp + 0x20]
mov rdx, r14
lea rcx, [rsp + 0x58]
call fcn.1400100e0
mov rdx, qword [rsp + 0x68]
mov r8d, 0xeb0
mov r14, qword [rsp + 0x60]
mov qword [rsp + 0x28], rdx
mov r9d, 8
inc r12d
jmp 0x140024860
xor r13d, r13d
mov r15d, r13d
mov r12, qword [rsp + 0x58]
nop dword [rax]
cmp r15d, dword [rsi + 0xa0]
jge 0x140024c05
mov ebx, r13d
nop dword [rax]
cmp ebx, dword [rsi + 0x9c]
jge 0x140024c00
imul ecx, r15d, 0x64
add ecx, ebx
movsxd rax, ecx
mov r14, qword [r12 + rax*8]
mov qword [rsp + 0x40], r14
mov dword [rsp + 0x48], ebx
mov dword [rsp + 0x4c], r15d
mov dword [rsp + 0x20], ecx
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x30]
lea rcx, [rsi + 0xb8]
call fcn.1400142a0
mov rax, qword [rax]
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [rax + 0x14], xmm0
cmp r14w, 6
jne 0x140024bfc
mov rax, qword [rsp + 0x48]
mov qword [rsi + 0xac], rax
inc ebx
jmp 0x140024ba0
inc r15d
jmp 0x140024b90
mov ebx, dword [rdi + 0xc]
mov eax, dword [rdi + 0x10]
mov dword [rsi + 0xa8], eax
add rdi, 0x14
cmp r13d, ebx
jge 0x140024c79
movzx eax, word [rdi]
mov word [rsp + 0x40], ax
mov eax, dword [rdi + 2]
mov dword [rsp + 0x44], eax
mov eax, dword [rdi + 6]
mov dword [rsp + 0x48], eax
movzx eax, byte [rdi + 0xa]
mov byte [rsp + 0x4c], al
movzx eax, byte [rdi + 0xb]
mov byte [rsp + 0x4d], al
mov eax, dword [rdi + 0xc]
mov dword [rsp + 0x50], eax
add rdi, 0x10
lea rcx, [rsi + 0x138]
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x30]
call fcn.140014060
mov rcx, qword [rax]
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [rcx + 0x14], xmm0
mov eax, dword [rsp + 0x50]
mov dword [rcx + 0x24], eax
inc r13d
jmp 0x140024c15
mov byte [rsi + 0x98], 1
test r12, r12
je 0x140024ccb
mov rdx, qword [rsp + 0x28]
sub rdx, r12
sar rdx, 3
lea rdx, [rdx*8]
mov rax, r12
cmp rdx, 0x1000
jb 0x140024cc2
add rdx, 0x27
mov r12, qword [r12 - 8]
sub rax, r12
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140024cc2
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r12
call fcn.14008a3cc
nop
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.14008a4e0
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
call fcn.14002d2f0
nop
nop
jmp 0x126024f4b