Function at 0x140159210
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x500]
sub rsp, 0x600
mov rax, qword [0x140304f48]
xor rax, rsp
mov qword [rbp + 0x4f0], rax
mov byte [rsp + 0x20], r8b
mov r15, rdx
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x28], rcx
call fcn.1400eb070
mov byte [rsp + 0x21], al
xor esi, esi
mov qword [rbp + 0xd0], rsi
mov qword [rbp + 0xe8], SafeArrayGetLBound
mov qword [rbp + 0xe0], 3
movzx eax, word [0x14029af08]
mov word [rbp + 0xd0], ax
movzx eax, byte [0x14029af0a]
mov byte [rbp + 0xd2], al
mov byte [rbp + 0xd3], sil
lea rax, vtable.std::_Func_impl_no_alloc_class__lambda_7690094935d724e846163dcafb5d4d32___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____.0
mov qword [rbp + 0xf0], rax
lea rax, [rbp + 0xf0]
mov qword [rbp + 0x128], rax
mov qword [rbp + 0x148], SafeArrayGetLBound
mov qword [rbp + 0x140], 8
movabs rax, 0x656d616e5f707061
mov qword [rbp + 0x130], rax
mov byte [rbp + 0x138], sil
lea rax, vtable.std::_Func_impl_no_alloc_class__lambda_1c1d2261482a3b19aaec3d884f11d1f6___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____.0
mov qword [rbp + 0x150], rax
lea rax, [rbp + 0x150]
mov qword [rbp + 0x188], rax
mov qword [rbp + 0x190], rsi
mov qword [rbp + 0x1a8], SafeArrayGetLBound
mov qword [rbp + 0x1a0], 7
mov eax, dword [0x1401e0740]
mov dword [rbp + 0x190], eax
movzx eax, word [0x1401e0744]
mov word [rbp + 0x194], ax
movzx eax, byte [0x1401e0746]
mov byte [rbp + 0x196], al
mov byte [rbp + 0x197], sil
lea rax, vtable.std::_Func_impl_no_alloc_class__lambda_7c80617be548bef700a7e361aee2df95___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____.0
mov qword [rbp + 0x1b0], rax
lea rax, [rbp + 0x1b0]
mov qword [rbp + 0x1e8], rax
mov qword [rbp + 0x208], SafeArrayGetLBound
mov qword [rbp + 0x200], SafeArrayGetLBound
movsd xmm0, qword [str.device_brand]
movsd qword [rbp + 0x1f0], xmm0
mov eax, dword [0x140201f70]
mov dword [rbp + 0x1f8], eax
mov byte [rbp + 0x1fc], sil
lea rax, vtable.std::_Func_impl_no_alloc_class__lambda_21ef130f2ca137b3edb4ecd2f4670152___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____.0
mov qword [rbp + 0x210], rax
lea rax, [rbp + 0x210]
mov qword [rbp + 0x248], rax
mov qword [rbp + 0x268], SafeArrayGetLBound
mov qword [rbp + 0x260], 9
movsd xmm0, qword [str.device_id]
movsd qword [rbp + 0x250], xmm0
movzx eax, byte [0x1401e06e8]
mov byte [rbp + 0x258], al
mov byte [rbp + 0x259], sil
lea rax, vtable.std::_Func_impl_no_alloc_class__lambda_5f901e569c8d294ff83feadf50d54182___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____.0
mov qword [rbp + 0x270], rax
lea rax, [rbp + 0x270]
mov qword [rbp + 0x2a8], rax
mov qword [rbp + 0x2c8], SafeArrayGetLBound
mov qword [rbp + 0x2c0], SafeArrayGetLBound
movsd xmm0, qword [str.device_platform]
movsd qword [rbp + 0x2b0], xmm0
mov eax, dword [0x14029af18]
mov dword [rbp + 0x2b8], eax
movzx eax, word [0x14029af1c]
mov word [rbp + 0x2bc], ax
movzx eax, byte [0x14029af1e]
mov byte [rbp + 0x2be], al
mov byte [rbp + 0x2bf], sil
lea rax, vtable.std::_Func_impl_no_alloc_class__lambda_a816453505af254f93c17aa8bc882328___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____.0
mov qword [rbp + 0x2d0], rax
lea rax, [rbp + 0x2d0]
mov qword [rbp + 0x308], rax
mov qword [rbp + 0x328], SafeArrayGetLBound
mov qword [rbp + 0x320], SafeArrayGetLBound
movsd xmm0, qword [0x140200e40]
movsd qword [rbp + 0x310], xmm0
movzx eax, word [0x140200e48]
mov word [rbp + 0x318], ax
movzx eax, byte [0x140200e4a]
mov byte [rbp + 0x31a], al
mov byte [rbp + 0x31b], sil
lea rax, vtable.std::_Func_impl_no_alloc_class__lambda_6a13e615e35eba316e83f48c5e6b3c01___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____.0
mov qword [rbp + 0x330], rax
lea rax, [rbp + 0x330]
mov qword [rbp + 0x368], rax
mov qword [rbp + 0x370], rsi
movdqa xmm0, xmmword [0x1401e0670]
movdqa xmmword [rbp + 0x380], xmm0
mov byte [rbp + 0x370], sil
lea r8d, [rsi + 3]
lea rdx, [0x140202178]
lea rcx, [rbp + 0x370]
call fcn.140008fb0
lea rax, vtable.std::_Func_impl_no_alloc_class__lambda_6df8d469ef4813180a0de5a2563f6011___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____.0
mov qword [rbp + 0x390], rax
lea rax, [rbp + 0x390]
mov qword [rbp + 0x3c8], rax
mov qword [rbp + 0x3d0], rsi
movdqa xmm0, xmmword [0x1401e0670]
movdqa xmmword [rbp + 0x3e0], xmm0
mov byte [rbp + 0x3d0], sil
lea r8d, [rsi + 0xa]
lea rdx, [0x1401e0730]
lea rcx, [rbp + 0x3d0]
call fcn.140008fb0
lea rax, vtable.std::_Func_impl_no_alloc_class__lambda_659626cee1be4ecf15222b45082ffb5c___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____.0
mov qword [rbp + 0x3f0], rax
lea rax, [rbp + 0x3f0]
mov qword [rbp + 0x428], rax
mov qword [rbp + 0x430], rsi
movdqa xmm0, xmmword [0x1401e0670]
movdqa xmmword [rbp + 0x440], xmm0
mov byte [rbp + 0x430], sil
lea r8d, [rsi + 0xc]
lea rdx, str.version_code
lea rcx, [rbp + 0x430]
call fcn.140008fb0
lea rax, vtable.std::_Func_impl_no_alloc_class__lambda_58f30f143c8de7b4667acd61c8253580___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____.0
mov qword [rbp + 0x450], rax
lea rax, [rbp + 0x450]
mov qword [rbp + 0x488], rax
mov qword [rbp + 0x490], rsi
movdqa xmm0, xmmword [0x1401e0670]
movdqa xmmword [rbp + 0x4a0], xmm0
mov byte [rbp + 0x490], sil
lea r8d, [rsi + 0xc]
lea rdx, str.version_name
lea rcx, [rbp + 0x490]
call fcn.140008fb0
lea rax, vtable.std::_Func_impl_no_alloc_class__lambda_897b8ff2e57193faab6cc530390a4e3f___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____.0
mov qword [rbp + 0x4b0], rax
lea rax, [rbp + 0x4b0]
mov qword [rbp + 0x4e8], rax
mov dword [rsp + 0x60], esi
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x70], rsi
lea ecx, [rsi + 0x70]
call fcn.14017fa34
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x78], rsi
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x70], 7
mov qword [rbp - 0x68], 8
mov dword [rsp + 0x60], 0x3f800000
mov r8, rax
lea edx, [rsi + 0x10]
lea rcx, [rsp + 0x78]
call fcn.14006b180
nop
lea r8, [rbp + 0x4f0]
lea rdx, [rbp + 0xd0]
lea rcx, [rsp + 0x60]
call fcn.1401578b0
nop
lea r9, [fcn.140157ef0]
lea edx, [rsi + 0x60]
lea r8d, [rsi + 0xb]
lea rcx, [rbp + 0xd0]
call fcn.140180090
mov dword [rbp - 0x60], esi
mov qword [rbp - 0x58], rsi
mov qword [rbp - 0x50], rsi
lea edx, [rsi + 1]
lea rcx, [rbp - 0x58]
call fcn.14000fcd0
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x48], rsi
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x30], 7
mov qword [rbp - 0x28], 8
mov dword [rbp - 0x60], 0x3f800000
mov r8, rax
lea edx, [rsi + 0x10]
lea rcx, [rbp - 0x48]
call fcn.14006b180
nop
mov r8, qword [r15 + 0x10]
mov rbx, r15
cmp qword [r15 + 0x18], 0x10
jb 0x140159722
mov rbx, qword [r15]
mov r14, 0xffffffffffffffff
test r8, r8
je 0x140159747
lea edx, [r14 + 0x40]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memchr
mov r13, rax
test rax, rax
je 0x140159747
sub r13, rbx
jmp 0x14015974a
mov r13, r14
mov qword [rsp + 0x38], r13
mov rdx, r15
lea rcx, [rbp + 0x50]
call fcn.140008570
nop
mov rax, qword [r15 + 0x10]
mov rdx, r15
cmp qword [r15 + 0x18], 0x10
jb 0x14015976d
mov rdx, qword [r15]
mov rcx, rax
cmp r13, rax
cmovb rcx, r13
cmp rax, rcx
jb 0x14015a3f4
sub rax, rcx
mov rdi, r14
cmp rax, r14
cmovb rdi, rax
mov qword [rsp + 0x30], rdi
lea r12, [rdx + rcx]
test rdi, rdi
je 0x140159bcf
mov rcx, rdi
mov r8, rdi
mov rsi, rdi
mov rbx, rdi
mov rax, rdi
mov r15, rdi
mov qword [rsp + 0x28], rdi
mov rdx, rdi
nop dword [rax]
test rcx, rcx
je 0x1401597e7
mov edx, 0x26
mov rcx, r12
call sub.VCRUNTIME140.dll_memchr
mov r13, rax
mov rax, rbx
mov rdx, qword [rsp + 0x28]
test r13, r13
je 0x1401597e7
sub r13, r12
jmp 0x1401597f0
mov r13, r14
mov rsi, rax
mov r15, rdx
mov rbx, r13
cmp rsi, r13
cmovb rbx, r15
test rbx, rbx
je 0x14015981c
mov r8, rbx
mov edx, 0x3d
mov rcx, r12
call sub.VCRUNTIME140.dll_memchr
mov r15, rax
test rax, rax
je 0x14015981c
sub r15, r12
jmp 0x14015981f
mov r15, r14
cmp r15, 0xffffffffffffffff
je 0x140159b4e
mov rax, r15
cmp rbx, r15
cmovb rax, rbx
mov qword [rsp + 0x28], rax
xor ecx, ecx
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x20], rcx
mov qword [rbp + 0x28], SafeArrayGetLBound
mov r8, rax
mov rdx, r12
lea rcx, [rbp + 0x10]
call fcn.140008fb0
lea rdx, [rbp + 0x10]
lea rcx, [rsp + 0x60]
call fcn.14006a9d0
mov rsi, rax
mov r9, rax
lea r8, [rbp + 0x10]
lea rdx, [rbp - 0x10]
lea rcx, [rsp + 0x60]
call fcn.14006aa20
mov rdi, qword [rax + 8]
test rdi, rdi
je 0x1401598f8
and rsi, qword [rbp - 0x70]
add rsi, rsi
mov rcx, qword [rsp + 0x78]
mov rax, qword [rcx + rsi*8]
cmp qword [rcx + rsi*8 + 8], rdi
jne 0x1401598bf
cmp rax, rdi
jne 0x1401598b4
mov rax, qword [rsp + 0x68]
mov qword [rcx + rsi*8], rax
mov qword [rcx + rsi*8 + 8], rax
jmp 0x1401598cb
mov rax, qword [rdi + 8]
mov qword [rcx + rsi*8 + 8], rax
jmp 0x1401598cb
cmp rax, rdi
jne 0x1401598cb
mov rax, qword [rdi]
mov qword [rcx + rsi*8], rax
mov rdx, qword [rdi]
dec qword [rsp + 0x70]
mov rax, qword [rdi + 8]
mov qword [rax], rdx
mov rax, qword [rdi + 8]
mov qword [rdx + 8], rax
lea rcx, [rdi + 0x10]
call fcn.140157ef0
mov edx, 0x70
mov rcx, rdi
call fcn.14017fa70
mov rdx, qword [rbp + 0x28]
cmp rdx, 0x10
jb 0x140159933
inc rdx
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14015992e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140159bbe
call fcn.14017fa70
xor esi, esi
mov qword [rbp + 0x70], rsi
mov qword [rbp + 0x80], rsi
mov qword [rbp + 0x88], SafeArrayGetLBound
mov byte [rbp + 0x70], sil
mov r8, qword [rsp + 0x28]
mov rdx, r12
lea rcx, [rbp + 0x70]
call fcn.140008fb0
nop
mov r8, qword [rbp + 0x80]
test r8, r8
je 0x1401599b7
lea rax, [rbp + 0x70]
mov rdx, qword [rbp + 0x70]
mov r9, qword [rbp + 0x88]
cmp r9, 0x10
cmovae rax, rdx
cmp byte [rax], 0x3f
jne 0x1401599b7
mov eax, 1
cmp r8, rax
cmovb rax, r8
lea rcx, [rbp + 0x70]
cmp r9, 0x10
cmovae rcx, rdx
sub r8, rax
mov qword [rbp + 0x80], r8
inc r8
lea rdx, [rcx + rax]
call sub.VCRUNTIME140.dll_memmove
mov qword [rbp + 0x90], rsi
mov qword [rbp + 0xa0], rsi
mov qword [rbp + 0xa8], SafeArrayGetLBound
mov byte [rbp + 0x90], 0
xor r8d, r8d
lea rdx, [0x1401def0d]
lea rcx, [rbp + 0x90]
call fcn.140008fb0
nop
lea rax, [rbx - 1]
cmp r15, rax
je 0x140159a88
inc r15
cmp rbx, r15
jb 0x14015a3fa
sub rbx, r15
mov r8, r14
cmp rbx, r14
cmovb r8, rbx
lea rdx, [r12 + r15]
mov qword [rbp + 0x10], rsi
mov qword [rbp + 0x20], rsi
mov qword [rbp + 0x28], SafeArrayGetLBound
lea rcx, [rbp + 0x10]
call fcn.140008fb0
mov rdx, qword [rbp + 0xa8]
cmp rdx, 0x10
jb 0x140159a72
inc rdx
mov rcx, qword [rbp + 0x90]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140159a6d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140159bb0
call fcn.14017fa70
movups xmm0, xmmword [rbp + 0x10]
movups xmmword [rbp + 0x90], xmm0
movups xmm1, xmmword [rbp + 0x20]
movups xmmword [rbp + 0xa0], xmm1
lea rdx, [rbp + 0x70]
lea rcx, [rbp + 0x10]
call fcn.140008570
nop
lea rdx, [rbp + 0x90]
lea rcx, [rbp + 0x30]
call fcn.140008570
nop
lea r8, [rbp + 0x10]
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x60]
call fcn.140157570
nop
lea rcx, [rbp + 0x30]
call fcn.140008780
lea rcx, [rbp + 0x10]
call fcn.140008780
nop
mov rdx, qword [rbp + 0xa8]
cmp rdx, 0x10
jb 0x140159b0f
inc rdx
mov rcx, qword [rbp + 0x90]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140159b09
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140159bb7
call fcn.14017fa70
nop
mov rdx, qword [rbp + 0x88]
cmp rdx, 0x10
jb 0x140159b49
inc rdx
mov rcx, qword [rbp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140159b44
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140159bbe
call fcn.14017fa70
mov rdi, qword [rsp + 0x30]
cmp r13, 0xffffffffffffffff
je 0x140159bc5
inc r13
cmp rdi, r13
jb 0x14015a3f4
sub rdi, r13
mov rcx, r14
cmp rdi, r14
cmovb rcx, rdi
lea rax, [r12 + r13]
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], rcx
movaps xmm0, xmmword [rbp - 0x20]
movdqa xmmword [rbp + 0x70], xmm0
mov r8, rcx
mov rsi, rcx
mov rbx, rcx
mov rax, rcx
mov r15, rcx
mov qword [rsp + 0x28], rcx
mov rdx, rcx
test rcx, rcx
je 0x140159bc5
mov rdi, qword [rbp + 0x78]
mov qword [rsp + 0x30], rdi
mov r12, qword [rbp + 0x70]
jmp 0x1401597c0
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
mov r13, qword [rsp + 0x38]
mov r15, qword [rsp + 0x40]
cmp byte [rsp + 0x20], 0
je 0x140159e29
cmp r13, 0xffffffffffffffff
jne 0x140159c1d
mov rcx, qword [rbp + 0x60]
mov rdx, qword [rbp + 0x68]
cmp rcx, rdx
jae 0x140159c0a
lea rax, [rcx + 1]
mov qword [rbp + 0x60], rax
lea rax, [rbp + 0x50]
cmp rdx, 0x10
cmovae rax, qword [rbp + 0x50]
mov word [rax + rcx], 0x3f
jmp 0x140159c1d
mov r9b, 0x3f
xor r8d, r8d
lea edx, [r8 + 1]
lea rcx, [rbp + 0x50]
call fcn.14000d1f0
mov rsi, qword [rsp + 0x68]
mov rbx, qword [rsi]
cmp rbx, rsi
je 0x140159e1f
xor r12d, r12d
nop dword [rax]
nop word [rax + rax]
lea rax, [rbp + 0x50]
mov r8, qword [rbp + 0x50]
mov rdx, qword [rbp + 0x68]
cmp rdx, 0x10
cmovae rax, r8
mov rcx, qword [rbp + 0x60]
cmp byte [rax + rcx - 1], 0x26
je 0x140159ca6
lea rax, [rbp + 0x50]
cmp rdx, 0x10
cmovae rax, r8
cmp byte [rax + rcx - 1], 0x3f
je 0x140159ca6
cmp rcx, rdx
jae 0x140159c93
lea rax, [rcx + 1]
mov qword [rbp + 0x60], rax
lea rax, [rbp + 0x50]
cmp rdx, 0x10
cmovae rax, r8
mov word [rax + rcx], 0x26
jmp 0x140159ca6
mov r9b, 0x26
xor r8d, r8d
lea edx, [r8 + 1]
lea rcx, [rbp + 0x50]
call fcn.14000d1f0
lea rdx, [rbx + 0x10]
cmp qword [rbx + 0x28], 0x10
jb 0x140159cb5
mov rdx, qword [rbx + 0x10]
mov r8, qword [rbx + 0x20]
lea rcx, [rbp + 0x50]
call fcn.140008f20
mov rcx, qword [rbp + 0x60]
mov rdx, qword [rbp + 0x68]
cmp rcx, rdx
jae 0x140159cec
lea rax, [rcx + 1]
mov qword [rbp + 0x60], rax
lea rax, [rbp + 0x50]
cmp rdx, 0x10
cmovae rax, qword [rbp + 0x50]
mov word [rax + rcx], 0x3d
jmp 0x140159cff
mov r9b, 0x3d
xor r8d, r8d
lea edx, [r8 + 1]
lea rcx, [rbp + 0x50]
call fcn.14000d1f0
mov rcx, qword [rbx + 0x68]
test rcx, rcx
je 0x14015a3ee
mov rax, qword [rcx]
lea rdx, [rbp + 0x10]
call qword [rax + 0x10]
nop
lea rdx, [rbp + 0x10]
cmp qword [rbp + 0x28], 0x10
cmovae rdx, qword [rbp + 0x10]
mov r8, qword [rbp + 0x20]
lea rcx, [rbp + 0x50]
call fcn.140008f20
nop
lea rcx, [rbp + 0x10]
call fcn.140008780
mov rcx, qword [rbx + 0x68]
test rcx, rcx
je 0x14015a400
mov rax, qword [rcx]
lea rdx, [rbp + 0x10]
call qword [rax + 0x10]
nop
lea rdx, [rbx + 0x10]
lea rcx, [rbp + 0x90]
call fcn.140008570
movups xmm0, xmmword [rbp + 0x10]
movaps xmmword [rbp + 0xb0], xmm0
movups xmm1, xmmword [rbp + 0x20]
movaps xmmword [rbp + 0xc0], xmm1
mov qword [rbp + 0x20], r12
mov qword [rbp + 0x28], SafeArrayGetLBound
mov byte [rbp + 0x10], 0
lea r8, [rbp + 0x90]
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x60]
call fcn.140157570
nop
mov rdx, qword [rbp + 0xc8]
cmp rdx, 0x10
jb 0x140159de1
inc rdx
mov rcx, qword [rbp + 0xb0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140159ddc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140159eb7
call fcn.14017fa70
mov qword [rbp + 0xc0], r12
mov qword [rbp + 0xc8], SafeArrayGetLBound
mov byte [rbp + 0xb0], 0
lea rcx, [rbp + 0x90]
call fcn.140008780
nop
lea rcx, [rbp + 0x10]
call fcn.140008780
mov rax, qword [rbx]
mov rbx, rax
cmp rax, rsi
jne 0x140159c40
lea rcx, [rsp + 0x60]
call fcn.140158730
cmp byte [rsp + 0x21], 0
je 0x14015a3c5
mov rax, qword [r15 + 0x10]
mov r8, rax
cmp r13, rax
cmovb r8, r13
xor r12d, r12d
mov qword [rbp - 0x10], r12
mov qword [rbp], r12
mov qword [rbp + 8], SafeArrayGetLBound
mov byte [rbp - 0x10], r12b
cmp rax, r8
cmovb r8, rax
cmp qword [r15 + 0x18], 0x10
jb 0x140159e6a
mov r15, qword [r15]
mov rdx, r15
lea rcx, [rbp - 0x10]
call fcn.140008fb0
nop
lea rax, [rbp - 0x10]
mov r8, qword [rbp - 0x10]
mov rdx, qword [rbp + 8]
cmp rdx, 0x10
cmovae rax, r8
mov rcx, qword [rbp]
cmp byte [rax + rcx - 1], 0x3f
je 0x140159ed1
cmp rcx, rdx
jae 0x140159ebe
lea rax, [rcx + 1]
mov qword [rbp], rax
lea rax, [rbp - 0x10]
cmp rdx, 0x10
cmovae rax, r8
mov word [rax + rcx], 0x3f
jmp 0x140159ed1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov r9b, 0x3f
xor r8d, r8d
lea edx, [r8 + 1]
lea rcx, [rbp - 0x10]
call fcn.14000d1f0
mov qword [rbp + 0x90], r12
mov qword [rbp + 0xa0], r12
mov qword [rbp + 0xa8], SafeArrayGetLBound
mov r8d, 3
lea rdx, [0x14029af08]
lea rcx, [rbp + 0x90]
call fcn.140008fb0
lea rdx, [rbp + 0x90]
mov rbx, qword [rbp + 0x90]
mov rsi, qword [rbp + 0xa8]
cmp rsi, 0x10
cmovae rdx, rbx
movabs r9, 0xcbf29ce484222325
mov rcx, r12
mov r8, qword [rbp + 0xa0]
test r8, r8
je 0x140159f63
movabs r10, 0x100000001b3
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
xor r9, rax
imul r9, r10
inc rcx
cmp rcx, r8
jb 0x140159f50
lea r8, [rbp + 0x90]
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x60]
call fcn.14006aa20
mov rcx, qword [rax + 8]
mov r15, qword [rbp - 0x58]
mov rdi, r15
test rcx, rcx
cmovne rdi, rcx
cmp rsi, 0x10
jb 0x140159fc4
lea rdx, [rsi + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x140159fbc
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140159fbc
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rbx
call fcn.14017fa70
cmp rdi, r15
je 0x14015a14b
mov qword [rbp + 0x10], r12
mov qword [rbp + 0x20], r12
mov qword [rbp + 0x28], SafeArrayGetLBound
mov byte [rbp + 0x10], 0
mov r8d, 3
lea rdx, [0x14029af08]
lea rcx, [rbp + 0x10]
call fcn.140008fb0
nop
lea r8, [rbp + 0x10]
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x60]
call fcn.140072f50
mov rdx, qword [rax]
add rdx, 0x30
mov rax, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x14015a01f
mov rdx, qword [rdx]
cmp rax, 4
jne 0x14015a056
mov rcx, r12
lea r8, str.3704
nop
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [r8 + rcx - 1]
jne 0x14015a049
cmp rcx, 4
jne 0x14015a030
mov eax, r12d
jmp 0x14015a04e
sbb eax, eax
or eax, 1
test eax, eax
jne 0x14015a056
mov bl, 1
jmp 0x14015a058
xor bl, bl
mov rdx, qword [rbp + 0x28]
cmp rdx, 0x10
jb 0x14015a096
inc rdx
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14015a091
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14015a091
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14017fa70
test bl, bl
je 0x14015a204
mov rax, qword [sym.imp.VEConfig.dll_char_const__const___ptr64_const___ptr64_VEConfig::product::APP_ID]
mov rbx, qword [rax]
mov qword [rbp + 0x10], r12
mov qword [rbp + 0x20], r12
mov qword [rbp + 0x28], SafeArrayGetLBound
mov byte [rbp + 0x10], 0
mov r8d, 3
lea rdx, [0x14029af08]
lea rcx, [rbp + 0x10]
call fcn.140008fb0
nop
lea r8, [rbp + 0x10]
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x60]
call fcn.140072f50
mov rcx, qword [rax]
add rcx, 0x30
nop dword [rax]
inc r14
cmp byte [rbx + r14], 0
jne 0x14015a0f0
mov r8, r14
mov rdx, rbx
call fcn.140008fb0
nop
mov rdx, qword [rbp + 0x28]
cmp rdx, 0x10
jb 0x14015a204
inc rdx
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14015a1ff
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14015a1ff
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
lea rcx, [rbp - 0x10]
call fcn.1400eb200
test al, al
je 0x14015a204
mov rax, qword [sym.imp.VEConfig.dll_char_const__const___ptr64_const___ptr64_VEConfig::product::APP_ID]
mov rbx, qword [rax]
mov qword [rbp + 0x10], r12
mov qword [rbp + 0x20], r12
mov qword [rbp + 0x28], SafeArrayGetLBound
mov byte [rbp + 0x10], 0
mov r8d, 3
lea rdx, [0x14029af08]
lea rcx, [rbp + 0x10]
call fcn.140008fb0
nop
lea r8, [rbp + 0x10]
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x60]
call fcn.140072f50
mov rcx, qword [rax]
add rcx, 0x30
nop word [rax + rax]
inc r14
cmp byte [rbx + r14], 0
jne 0x14015a1b0
mov r8, r14
mov rdx, rbx
call fcn.140008fb0
nop
mov rdx, qword [rbp + 0x28]
cmp rdx, 0x10
jb 0x14015a204
inc rdx
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14015a1ff
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14015a1ff
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14017fa70
mov r14, qword [rbp - 0x58]
mov rbx, qword [r14]
cmp rbx, r14
je 0x14015a30e
nop dword [rax]
nop dword [rax + rax]
lea rdi, [rbx + 0x10]
lea rsi, [rdi + 0x20]
lea rax, [rbp - 0x10]
mov r8, qword [rbp - 0x10]
mov rdx, qword [rbp + 8]
cmp rdx, 0x10
cmovae rax, r8
mov rcx, qword [rbp]
cmp byte [rcx + rax - 1], 0x26
je 0x14015a28e
lea rax, [rbp - 0x10]
cmp rdx, 0x10
cmovae rax, r8
cmp byte [rcx + rax - 1], 0x3f
je 0x14015a28e
cmp rcx, rdx
jae 0x14015a27b
lea rax, [rcx + 1]
mov qword [rbp], rax
lea rax, [rbp - 0x10]
cmp rdx, 0x10
cmovae rax, r8
mov word [rax + rcx], 0x26
jmp 0x14015a28e
mov r9b, 0x26
xor r8d, r8d
lea edx, [r8 + 1]
lea rcx, [rbp - 0x10]
call fcn.14000d1f0
mov r8, qword [rdi + 0x10]
cmp qword [rdi + 0x18], 0x10
jb 0x14015a29c
mov rdi, qword [rdi]
mov rdx, rdi
lea rcx, [rbp - 0x10]
call fcn.140008f20
mov rcx, qword [rbp]
mov rdx, qword [rbp + 8]
cmp rcx, rdx
jae 0x14015a2d2
lea rax, [rcx + 1]
mov qword [rbp], rax
lea rax, [rbp - 0x10]
cmp rdx, 0x10
cmovae rax, qword [rbp - 0x10]
mov word [rax + rcx], 0x3d
jmp 0x14015a2e5
mov r9b, 0x3d
xor r8d, r8d
lea edx, [r8 + 1]
lea rcx, [rbp - 0x10]
call fcn.14000d1f0
mov r8, qword [rsi + 0x10]
cmp qword [rsi + 0x18], 0x10
jb 0x14015a2f3
mov rsi, qword [rsi]
mov rdx, rsi
lea rcx, [rbp - 0x10]
call fcn.140008f20
mov rax, qword [rbx]
mov rbx, rax
cmp rax, r14
jne 0x14015a220
cmp qword [rsp + 0x70], 0
sete al
mov rbx, qword [rsp + 0x48]
mov byte [rbx], al
lea rcx, [rbx + 8]
lea rdx, [rbp - 0x10]
call fcn.140008570
nop
mov rdx, qword [rbp + 8]
cmp rdx, 0x10
jb 0x14015a36a
inc rdx
mov rcx, qword [rbp - 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14015a365
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14015a365
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14017fa70
mov qword [rbp], r12
mov qword [rbp + 8], SafeArrayGetLBound
mov byte [rbp - 0x10], 0
lea rcx, [rbp + 0x50]
call fcn.140008780
nop
lea rcx, [rbp - 0x60]
call fcn.14006aff0
nop
lea rcx, [rsp + 0x60]
call fcn.140157dd0
mov rax, rbx
mov rcx, qword [rbp + 0x4f0]
xor rcx, rsp
call fcn.140180070
mov rbx, qword [rsp + 0x650]
add rsp, 0x600
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
cmp qword [rsp + 0x70], 0
sete al
mov rbx, qword [rsp + 0x48]
mov byte [rbx], al
lea rcx, [rbx + 8]
lea rdx, [rbp + 0x50]
call fcn.140008570
nop
lea rcx, [rbp + 0x50]
call fcn.140008780
jmp 0x14015a384
call sub.MSVCP140.dll_void___cdecl_std::_Xbad_function_call_void_
int3
call fcn.1401586f0
nop
call fcn.1401586f0
nop
call sub.MSVCP140.dll_void___cdecl_std::_Xbad_function_call_void_
int3