Function at 0x14003e510
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x120]
sub rsp, 0x220
mov rax, qword [0x140074040]
xor rax, rsp
mov qword [rbp + 0x118], rax
xor esi, esi
mov dword [rsp + 0x30], esi
xor edx, edx
mov r8d, 0x110
lea rcx, [rbp - 0x70]
call sub.VCRUNTIME140.dll_memset
lea r8d, [rsi + 1]
lea rdx, str.prices.ini
lea rcx, [rbp - 0x70]
call fcn.140055f70
nop
mov rax, qword [rbp - 0x70]
movsxd rcx, dword [rax + 4]
lea rax, [rbp - 0x70]
add rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_bool___cdecl_std::ios_base::good_void_const___ptr64]
test al, al
je 0x14003eba5
xorps xmm0, xmm0
movups xmmword [rbp + 0xa0], xmm0
mov qword [rbp + 0xb0], rsi
mov qword [rbp + 0xb8], 0xf
mov byte [rbp + 0xa0], sil
mov rax, qword [rbp - 0x70]
movsxd rcx, dword [rax + 4]
lea rax, [rbp - 0x70]
add rcx, rax
mov dl, 0xa
call qword [sym.imp.MSVCP140.dll_public:_char___cdecl_std::basic_ios_char__struct_std::char_traits_char__::widen_char_const___ptr64]
movzx r8d, al
lea rdx, [rbp + 0xa0]
lea rcx, [rbp - 0x70]
call fcn.140059550
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_bool___cdecl_std::ios_base::operator_bool_void_const___ptr64]
test al, al
je 0x14003eafc
movabs r12, 0x7878787878787879
lea rdi, [rbp + 0xa0]
cmp qword [rbp + 0xb8], 0xf
seta r15b
mov r14, qword [rbp + 0xa0]
cmova rdi, r14
mov rsi, qword [rbp + 0xb0]
test rsi, rsi
je 0x14003e648
mov r8, rsi
mov edx, 0x3d
mov rcx, rdi
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
je 0x14003e648
sub rbx, rdi
jmp 0x14003e64f
mov rbx, 0xffffffffffffffff
cmp rbx, 0xffffffffffffffff
je 0x14003eab9
xorps xmm0, xmm0
movups xmmword [rbp + 0xe0], xmm0
mov qword [rbp + 0xf0], 0
mov qword [rbp + 0xf8], 0
mov r8, rbx
cmp rsi, rbx
cmovb r8, rsi
lea rdx, [rbp + 0xa0]
test r15b, r15b
cmovne rdx, r14
lea rcx, [rbp + 0xe0]
call fcn.140058800
mov esi, dword [rsp + 0x30]
or esi, 8
inc rbx
xorps xmm0, xmm0
movups xmmword [rbp + 0xc0], xmm0
mov qword [rbp + 0xd0], 0
mov qword [rbp + 0xd8], 0
mov rax, qword [rbp + 0xb0]
cmp rax, rbx
jb 0x14003ec1e
sub rax, rbx
mov r8, 0xffffffffffffffff
cmp rax, r8
cmovb r8, rax
lea rdx, [rbp + 0xa0]
cmp qword [rbp + 0xb8], 0xf
cmova rdx, qword [rbp + 0xa0]
add rdx, rbx
lea rcx, [rbp + 0xc0]
call fcn.140058800
or esi, 0x10
mov dword [rsp + 0x30], esi
xor r15d, r15d
mov rcx, qword [0x140075088]
sub rcx, qword [0x140075080]
mov rax, r12
imul rcx
sar rdx, 6
mov rax, rdx
shr rax, 0x3f
mov rbx, qword [rbp + 0xe0]
mov qword [rsp + 0x38], rbx
add rdx, rax
je 0x14003ea1d
nop dword [rax]
lea r9, [rbp + 0x115]
lea rcx, [r15 + 1]
movabs r13, 0xcccccccccccccccd
nop word [rax + rax]
dec r9
mov rax, r13
mul rcx
shr rdx, 3
movzx eax, dl
shl al, 2
lea r8d, [rax + rdx]
add r8b, r8b
sub cl, r8b
add cl, 0x30
mov byte [r9], cl
mov rcx, rdx
test rdx, rdx
jne 0x14003e770
mov r13, qword [rbp + 0xf0]
lea r8, [rbp + 0x115]
mov rdx, r9
lea rcx, [rsp + 0x40]
call fcn.1400581a0
nop
mov r8, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x58]
mov rax, rcx
sub rax, r8
cmp rax, 0xf
jb 0x14003e858
lea rax, [r8 + 0xf]
mov qword [rsp + 0x50], rax
lea rbx, [rsp + 0x40]
cmp rcx, 0xf
cmova rbx, qword [rsp + 0x40]
lea rax, [0x1400663df]
lea r14, str.Template_price_
cmp rax, rbx
jbe 0x14003e816
lea rax, [rbx + r8]
cmp r14, rax
ja 0x14003e816
cmp rbx, r14
ja 0x14003e80e
xor edi, edi
jmp 0x14003e81b
mov rdi, rbx
sub rdi, r14
jmp 0x14003e81b
mov edi, 0xf
lea rcx, [rbx + 0xf]
inc r8
mov rdx, rbx
call sub.VCRUNTIME140.dll_memmove
mov r8, rdi
mov rdx, r14
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
lea rcx, [rbx + rdi]
mov r8d, 0xf
sub r8, rdi
lea rdx, [r14 + 0xf]
add rdx, rdi
call sub.VCRUNTIME140.dll_memcpy
lea rax, [rsp + 0x40]
jmp 0x14003e87c
mov qword [rsp + 0x28], 0xf
lea rax, str.Template_price_
mov qword [rsp + 0x20], rax
mov edx, 0xf
lea rcx, [rsp + 0x40]
call fcn.140059810
movups xmm1, xmmword [rax]
movups xmmword [rsp + 0x68], xmm1
movups xmm2, xmmword [rax + 0x10]
movups xmmword [rsp + 0x78], xmm2
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
or esi, 7
mov dword [rsp + 0x30], esi
lea rdx, [rsp + 0x68]
movdqa xmm0, xmm2
psrldq xmm0, 8
movq rsi, xmm0
cmp rsi, 0xf
seta r14b
movq rbx, xmm1
cmova rdx, rbx
lea rcx, [rbp + 0xe0]
cmp qword [rbp + 0xf8], 0xf
cmova rcx, qword [rsp + 0x38]
movq rax, xmm2
cmp r13, rax
jne 0x14003e8fb
mov r8, r13
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x14003e8fb
mov dil, 1
jmp 0x14003e8fe
xor dil, dil
test r14b, r14b
je 0x14003e935
lea rdx, [rsi + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x14003e92c
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003eb66
mov rcx, rbx
call fcn.14005ba50
nop
mov rdx, qword [rsp + 0x58]
cmp rdx, 0xf
jbe 0x14003e972
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003e96d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003eb6d
call fcn.14005ba50
test dil, dil
jne 0x14003e9b5
inc r15
mov rcx, qword [0x140075088]
sub rcx, qword [0x140075080]
movabs r12, 0x7878787878787879
mov rax, r12
imul rcx
sar rdx, 6
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp r15, rdx
mov esi, dword [rsp + 0x30]
jb 0x14003e750
jmp 0x14003ea18
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov rdi, rax
lea rbx, [rbp + 0xc0]
cmp qword [rbp + 0xd8], 0xf
cmova rbx, qword [rbp + 0xc0]
xor esi, esi
mov dword [rax], esi
lea r8d, [rsi + 0xa]
lea rdx, [rbp - 0x78]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtol]
cmp rbx, qword [rbp - 0x78]
je 0x14003eb82
cmp dword [rdi], 0x22
je 0x14003eb74
imul rcx, r15, 0x88
add rcx, qword [0x140075080]
mov dword [rcx + 0x20], eax
movabs r12, 0x7878787878787879
mov rbx, qword [rsp + 0x38]
mov rdx, qword [rbp + 0xd8]
cmp rdx, 0xf
jbe 0x14003ea5e
inc rdx
mov rcx, qword [rbp + 0xc0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003ea59
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003eb90
call fcn.14005ba50
mov qword [rbp + 0xd0], 0
mov qword [rbp + 0xd8], 0xf
mov byte [rbp + 0xc0], 0
mov rax, qword [rbp + 0xf8]
cmp rax, 0xf
jbe 0x14003eab9
lea rdx, [rax + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x14003eab1
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003eb97
mov rcx, rbx
call fcn.14005ba50
mov rax, qword [rbp - 0x70]
movsxd rcx, dword [rax + 4]
lea rax, [rbp - 0x70]
add rcx, rax
mov dl, 0xa
call qword [sym.imp.MSVCP140.dll_public:_char___cdecl_std::basic_ios_char__struct_std::char_traits_char__::widen_char_const___ptr64]
movzx r8d, al
lea rdx, [rbp + 0xa0]
lea rcx, [rbp - 0x70]
call fcn.140059550
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_bool___cdecl_std::ios_base::operator_bool_void_const___ptr64]
test al, al
jne 0x14003e601
lea rcx, [rbp - 0x60]
call fcn.140057720
test rax, rax
jne 0x14003eb27
mov rax, qword [rbp - 0x70]
movsxd rcx, dword [rax + 4]
lea rax, [rbp - 0x70]
add rcx, rax
xor r8d, r8d
lea edx, [r8 + 2]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
nop
mov rdx, qword [rbp + 0xb8]
cmp rdx, 0xf
jbe 0x14003ebab
inc rdx
mov rcx, qword [rbp + 0xa0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003eb9e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14003eb9e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
lea rcx, str.stoi_argument_out_of_range
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const____ptr64_]
int3
lea rcx, str.invalid_stoi_argument
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xinvalid_argument_char_const____ptr64_]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call fcn.14005ba50
jmp 0x14003ebab
call fcn.14003e360
nop
mov rax, qword [rbp - 0x70]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx - 0x70], rax
mov rax, qword [rbp - 0x70]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx - 0x74], edx
lea rcx, [rbp - 0x60]
call fcn.140055f00
lea rcx, [rbp - 0x58]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_istream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rbp + 0x40]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
mov rcx, qword [rbp + 0x118]
xor rcx, rsp
call fcn.14005b7d0
lea r11, [rsp + 0x220]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.140057bb0
nop
int3