Function at 0x1800015d0
Capabilities:
Terminate process

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x60
mov eax, dword [rcx]
lea r15, [0x180000000]
xor ebp, ebp
mov rdi, rdx
mov edx, dword [rdx]
mov rbx, rcx
lea esi, [rbp - 1]
cmp eax, edx
je 0x180001972
cmp eax, 0x43ca
jg 0x1800016a7
je 0x180001699
sub eax, 0x4002
cmp eax, 0x61
ja case.0x180001633.16388
cdqe
movzx eax, byte [r15 + rax + 0x1cb4]
mov ecx, dword [r15 + rax*4 + 0x1ca8]
add rcx, r15
jmp rcx
mov r14, qword [rbx + 8]
test r14, r14
je case.0x180001633.16388
cmp byte [r14 + 0x19], bpl
jne 0x180001683
cmp byte [r14 + 0x1a], bpl
jne 0x180001683
mov rax, qword [r14]
mov rcx, qword [r14 + 8]
lea rdx, [rax*4]
cmp rdx, 0x1000
jb 0x18000167e
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180001692
mov rcx, r8
call fcn.180004514
mov edx, 0x20
mov rcx, r14
call fcn.180004514
jmp case.0x180001633.16388
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov r14, qword [rcx + 0x10]
mov qword [rcx + 0x10], rbp
mov qword [rcx + 8], rbp
jmp 0x1800016ba
cmp eax, 0x43e6
jne case.0x180001633.16388
mov r14, qword [rbx + 0x10]
mov qword [rbx + 0x10], rbp
mov qword [rbx + 8], rbp
test r14, r14
je case.0x180001633.16388
mov eax, esi
lock xadd dword [r14 + 8], eax
cmp eax, 1
jne case.0x180001633.16388
mov rax, qword [r14]
mov rcx, r14
call qword [rax]
mov eax, esi
lock xadd dword [r14 + 0xc], eax
cmp eax, 1
jne case.0x180001633.16388
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 8]
mov edx, dword [rdi]
mov ecx, edx
cmp edx, 0x4002
jg 0x180001793
je 0x180001714
cmp edx, 0x50
jne 0x180001972
mov dword [rbx], edx
mov rcx, qword [rdi + 8]
mov qword [rbx + 8], rcx
jmp 0x180001afb
mov ecx, 0x20
call fcn.180004150
mov byte [rax + 0x18], bpl
mov rsi, rax
mov dword [rax], ebp
lea r14, [rax + 0x18]
mov qword [rax + 0x10], 1
mov word [rax + 0x19], 1
mov qword [rbx + 8], rax
mov rdi, qword [rdi + 8]
cmp rax, rdi
je 0x180001788
mov qword [rax + 0x10], rbp
mov rcx, rax
mov rdx, qword [rdi + 0x10]
call fcn.180003150
mov rdx, rdi
mov r8, qword [rdi + 0x10]
cmp byte [rdi + 0x19], bpl
jne 0x180001767
mov rdx, qword [rdi + 8]
cmp byte [rsi + 0x19], bpl
jne 0x180001771
mov rsi, qword [rsi + 8]
lea r8, [r8*4]
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
movzx eax, byte [rdi + 0x18]
mov byte [r14], al
mov dword [rbx], 0x4002
jmp 0x180001afb
cmp ecx, 0x403c
jg 0x18000188d
je 0x18000185d
sub ecx, 0x4014
je 0x1800018b4
sub ecx, 1
je 0x1800018b4
sub ecx, 0x14
je 0x18000182d
sub ecx, 1
je 0x1800017fd
cmp ecx, 1
jne 0x180001972
mov qword [rbx + 8], rbp
mov qword [rbx + 0x10], rbp
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x1800017e2
lock inc dword [rax + 8]
mov rax, qword [rdi + 8]
mov qword [rbx + 8], rax
mov rax, qword [rdi + 0x10]
mov qword [rbx + 0x10], rax
mov dword [rbx], 0x402b
jmp 0x180001afb
mov qword [rbx + 8], rbp
mov qword [rbx + 0x10], rbp
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x180001812
lock inc dword [rax + 8]
mov rax, qword [rdi + 8]
mov qword [rbx + 8], rax
mov rax, qword [rdi + 0x10]
mov qword [rbx + 0x10], rax
mov dword [rbx], 0x402a
jmp 0x180001afb
mov qword [rbx + 8], rbp
mov qword [rbx + 0x10], rbp
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x180001842
lock inc dword [rax + 8]
mov rax, qword [rdi + 8]
mov qword [rbx + 8], rax
mov rax, qword [rdi + 0x10]
mov qword [rbx + 0x10], rax
mov dword [rbx], 0x4029
jmp 0x180001afb
mov qword [rbx + 8], rbp
mov qword [rbx + 0x10], rbp
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x180001872
lock inc dword [rax + 8]
mov rax, qword [rdi + 8]
mov qword [rbx + 8], rax
mov rax, qword [rdi + 0x10]
mov qword [rbx + 0x10], rax
mov dword [rbx], 0x403c
jmp 0x180001afb
sub ecx, 0x4046
je 0x180001942
sub ecx, 5
je 0x180001912
sub ecx, 0x18
je 0x1800018e2
sub ecx, 0x367
je 0x1800018b4
cmp ecx, 0x1c
jne 0x180001972
mov qword [rbx + 8], rbp
mov qword [rbx + 0x10], rbp
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x1800018c9
lock inc dword [rax + 8]
mov rax, qword [rdi + 8]
mov qword [rbx + 8], rax
mov rax, qword [rdi + 0x10]
mov qword [rbx + 0x10], rax
mov eax, dword [rdi]
mov dword [rbx], eax
jmp 0x180001afb
mov qword [rbx + 8], rbp
mov qword [rbx + 0x10], rbp
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x1800018f7
lock inc dword [rax + 8]
mov rax, qword [rdi + 8]
mov qword [rbx + 8], rax
mov rax, qword [rdi + 0x10]
mov qword [rbx + 0x10], rax
mov dword [rbx], 0x4063
jmp 0x180001afb
mov qword [rbx + 8], rbp
mov qword [rbx + 0x10], rbp
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x180001927
lock inc dword [rax + 8]
mov rax, qword [rdi + 8]
mov qword [rbx + 8], rax
mov rax, qword [rdi + 0x10]
mov qword [rbx + 0x10], rax
mov dword [rbx], 0x404b
jmp 0x180001afb
mov qword [rbx + 8], rbp
mov qword [rbx + 0x10], rbp
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x180001957
lock inc dword [rax + 8]
mov rax, qword [rdi + 8]
mov qword [rbx + 8], rax
mov rax, qword [rdi + 0x10]
mov qword [rbx + 0x10], rax
mov dword [rbx], 0x4046
jmp 0x180001afb
movsxd rcx, edx
cmp ecx, 0x320
jg 0x1800019ac
je case.0x1800019e3.810
cmp ecx, 0x50
ja case.0x1800019e3.813
movzx eax, byte [r15 + rcx + 0x1d2c]
mov ecx, dword [r15 + rax*4 + 0x1d18]
add rcx, r15
jmp rcx
mov dword [rbx], edx
movzx eax, byte [rdi + 8]
mov byte [rbx + 8], al
jmp 0x180001afb
cmp ecx, 0x4002
jg 0x180001a60
je 0x180001a08
sub ecx, 0x32a
cmp ecx, 0xbd
ja case.0x1800019e3.813
movsxd rax, ecx
movzx eax, byte [r15 + rax + 0x1d90]
mov ecx, dword [r15 + rax*4 + 0x1d80]
add rcx, r15
jmp rcx
mov dword [rbx], edx
jmp 0x180001afb
mov dword [rbx], edx
mov rax, qword [rdi + 8]
mov qword [rbx + 8], rax
jmp 0x180001afb
mov dword [rbx], edx
mov eax, dword [rdi + 8]
mov dword [rbx + 8], eax
jmp 0x180001afb
mov rsi, qword [rdi + 8]
mov rdi, qword [rbx + 8]
cmp rdi, rsi
je 0x180001afb
mov qword [rdi + 0x10], rbp
mov rcx, rdi
mov rdx, qword [rsi + 0x10]
call fcn.180003150
mov rdx, rsi
mov r8, qword [rsi + 0x10]
cmp byte [rsi + 0x19], bpl
jne 0x180001a3a
mov rdx, qword [rsi + 8]
mov rcx, rdi
cmp byte [rdi + 0x19], bpl
jne 0x180001a47
mov rcx, qword [rdi + 8]
lea r8, [r8*4]
call sub.VCRUNTIME140.dll_memcpy
movzx eax, byte [rsi + 0x18]
mov byte [rdi + 0x18], al
jmp 0x180001afb
cmp ecx, 0x403c
jg 0x180001b16
je 0x180001b12
sub ecx, 0x4014
je 0x180001be8
sub ecx, 1
je 0x180001be8
sub ecx, 0x14
je 0x180001a9a
sub ecx, 1
je 0x180001a9a
cmp ecx, 1
jne case.0x1800019e3.813
mov dword [rbx], edx
mov r14, qword [rbx + 0x10]
mov qword [rbx + 0x10], rbp
mov qword [rbx + 8], rbp
test r14, r14
je 0x180001ad6
mov eax, esi
lock xadd dword [r14 + 8], eax
cmp eax, 1
jne 0x180001ad6
mov rax, qword [r14]
mov rcx, r14
call qword [rax]
lock xadd dword [r14 + 0xc], esi
cmp esi, 1
jne 0x180001ad6
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 8]
mov qword [rbx + 8], rbp
mov qword [rbx + 0x10], rbp
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x180001aeb
lock inc dword [rax + 8]
mov rax, qword [rdi + 8]
mov qword [rbx + 8], rax
mov rax, qword [rdi + 0x10]
mov qword [rbx + 0x10], rax
mov rax, rbx
mov rbx, qword [rsp + 0xa0]
add rsp, 0x60
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
mov dword [rbx], edx
jmp 0x180001ad6
sub ecx, 0x4046
je 0x180001a9a
sub ecx, 5
je 0x180001b12
sub ecx, 0x18
je 0x180001a9a
sub ecx, 0x367
je 0x180001c48
cmp ecx, 0x1c
je 0x180001be8
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str.SYSTEM_ERROR_on_TypedValue_operator_n
call fcn.180001020
lea rdx, [rsp + 0x20]
mov rcx, rbx
call qword [sym.imp.libPP.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_TypedValue::GetTypeStr_void____ptr64]
mov rcx, rax
call fcn.180002df0
mov ecx, 2
mov rbx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r8, rbx
lea rdx, str.dest_type_is__s_n
mov rcx, rax
call fcn.180001020
lea rcx, [rsp + 0x20]
call fcn.180002e00
lea rdx, [rsp + 0x40]
mov rcx, rdi
call qword [sym.imp.libPP.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_TypedValue::GetTypeStr_void____ptr64]
mov rcx, rax
call fcn.180002df0
mov ecx, 2
mov rbx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r8, rbx
lea rdx, str.src__type_is__s_n
mov rcx, rax
call fcn.180001020
lea rcx, [rsp + 0x40]
call fcn.180002e00
mov ecx, esi
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
mov dword [rbx], edx
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x180001bf7
lock inc dword [rax + 8]
mov rax, qword [rdi + 8]
mov rcx, qword [rdi + 0x10]
mov rdi, qword [rbx + 0x10]
mov qword [rbx + 8], rax
mov qword [rbx + 0x10], rcx
test rdi, rdi
je 0x180001afb
mov eax, esi
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x180001afb
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax]
lock xadd dword [rdi + 0xc], esi
cmp esi, 1
jne 0x180001afb
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 8]
jmp 0x180001afb
mov dword [rbx], edx
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x180001c57
lock inc dword [rax + 8]
mov rax, qword [rdi + 8]
mov rcx, qword [rdi + 0x10]
mov rdi, qword [rbx + 0x10]
mov qword [rbx + 8], rax
mov qword [rbx + 0x10], rcx
test rdi, rdi
je 0x180001afb
mov eax, esi
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x180001afb
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax]
lock xadd dword [rdi + 0xc], esi
cmp esi, 1
jne 0x180001afb
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 8]
jmp 0x180001afb