Function at 0x14001fc50
Capabilities:
Terminate process

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x1a8
pxor xmm0, xmm0
mov r14, rcx
mov ecx, 0x28
mov qword [rsp + 0xe0], 0
mov qword [rsp + 0x128], 0x400
mov dword [rsp + 0x130], 0
mov qword [rsp + 0x138], 0
movups xmmword [rsp + 0xe8], xmm0
movups xmmword [rsp + 0xf8], xmm0
movups xmmword [rsp + 0x108], xmm0
movups xmmword [rsp + 0x118], xmm0
call sym.operator_new_unsigned_long_long_
mov qword [rax], 0
pxor xmm0, xmm0
lea r13, [rsp + 0x80]
lea r8, [0x1400615d7]
mov qword [rax + 8], 0x10000
mov rsi, rax
lea rdx, [r8 - 0x16]
lea rdi, [rsp + 0x90]
mov qword [rax + 0x20], 0
mov rcx, r13
mov qword [rsp + 0xf0], rax
mov qword [rsp + 0xf8], rax
movups xmmword [rax + 0x10], xmm0
movabs rax, 0x3000000000000
mov qword [rsp + 0xe0], 0
mov qword [rsp + 0xe8], rax
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x80], rdi
call method.void_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_construct_char_const__char_const__char_const__std::forward_iterator_tag___clone_.isra.0_
movsxd rbx, dword [0x14005e010]
lea rbp, [0x140061084]
mov edx, 0x200
mov rcx, rsi
mov qword [rsp + 0xa8], 0
mov dword [rsp + 0xe4], 0x10
mov rax, rbx
sar eax, 0x1f
and ax, 0xfec0
add ax, 0x1f6
mov word [rsp + 0xae], ax
movabs rax, 0x405000000000000
or rbp, rax
call method.rapidjson::MemoryPoolAllocator_rapidjson::CrtAllocator_.Malloc_unsigned_long_long_
movabs rdx, 0x3000000000000
or rdx, rax
mov qword [rsp + 0xe8], rdx
movabs rdx, 0xffffffffffff
and rax, rdx
mov qword [rax], 2
mov qword [rax + 8], rbp
mov qword [rsp + 0xa0], rbx
movdqa xmm1, xmmword [rsp + 0xa0]
movups xmmword [rax + 0x10], xmm1
mov rcx, qword [rsp + 0x80]
cmp byte [rcx], 0
je 0x140020440
mov rdx, rcx
nop
add rdx, 1
cmp byte [rdx], 0
jne 0x14001fdf0
sub edx, ecx
mov dword [rax + 0x30], edx
mov r10, qword [0x1400620a0]
movabs r8, 0x405000000000000
lea r9, str.method
lea rdx, str.params
or rcx, r8
or r9, r8
mov dword [rax + 0x34], 0
or rdx, r8
mov qword [rax + 0x38], rcx
lea rbx, [rsp + 0x140]
pxor xmm0, xmm0
mov qword [rax + 0x48], rdx
lea r12, [rsp + 0xa0]
lea rcx, [rsp + 0xe0]
mov rdx, rbx
mov qword [rax + 0x20], r10
mov qword [rax + 0x28], r9
mov qword [rax + 0x40], r10
mov qword [rsp + 0x50], 0
movdqa xmm2, xmmword [rsp + 0x50]
mov dword [rsp + 0xe0], 3
movups xmmword [rax + 0x50], xmm2
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0xc8], 0x100
mov qword [rsp + 0x140], r12
mov qword [rsp + 0x148], 0
mov qword [rsp + 0x150], 0
mov qword [rsp + 0x158], 0
mov qword [rsp + 0x160], 0
mov qword [rsp + 0x168], 0
mov qword [rsp + 0x170], 0x200
mov dword [rsp + 0x178], 0x144
mov byte [rsp + 0x17c], 0
movaps xmmword [rsp + 0xa0], xmm0
movaps xmmword [rsp + 0xb0], xmm0
call sym._ZNK9rapidjson12GenericValueINS_4UTF8IcEENS_19MemoryPoolAllocatorINS_12CrtAllocatorEEEE6AcceptINS_6WriterINS_19GenericStringBu
mov rax, qword [rsp + 0xb8]
lea rdx, [rax + 1]
cmp qword [rsp + 0xc0], rdx
jb 0x140020450
mov qword [rsp + 0xb8], rdx
lea rbp, [rsp + 0x60]
mov byte [rax], 0
mov rdx, qword [rsp + 0xb0]
mov rcx, rbp
sub qword [rsp + 0xb8], 1
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const___clone_.isra.0_
mov rcx, qword [rsp + 0x158]
call sym.free
mov rcx, qword [rsp + 0x150]
test rcx, rcx
je 0x14001ff75
mov edx, 1
call sym.operator_delete_void__unsigned_long_long_
mov rcx, qword [rsp + 0xb0]
call sym.free
mov rcx, qword [rsp + 0xa8]
test rcx, rcx
je 0x14001ff99
mov edx, 1
call sym.operator_delete_void__unsigned_long_long_
mov rcx, qword [rsp + 0x80]
cmp rcx, rdi
je 0x14001ffb7
mov rax, qword [rsp + 0x90]
lea rdx, [rax + 1]
call sym.operator_delete_void__unsigned_long_long_
mov rdx, qword [rsp + 0x60]
mov r8, qword [rsp + 0x68]
lea rdi, [rsp + 0x150]
mov rcx, rbx
mov qword [rsp + 0x140], rdi
add r8, rdx
call method.void_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_construct_char__char__char__std::forward_iterator_tag___clone_.isra.0_
mov rcx, qword [0x1400740a0]
test rcx, rcx
je 0x140020003
mov rax, qword [rcx]
mov rdx, rbx
call qword [rax + 0x18]
mov rcx, qword [0x1400740a0]
mov edx, 0xffffffff
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x140]
cmp rcx, rdi
je 0x140020021
mov rax, qword [rsp + 0x150]
lea rdx, [rax + 1]
call sym.operator_delete_void__unsigned_long_long_
mov rcx, rbx
call sym.waitForResponse__
mov dword [rsp + 0xd0], 0
pxor xmm0, xmm0
lea rdx, str._result_data
movaps xmmword [rsp + 0xa0], xmm0
mov r8, rdx
movaps xmmword [rsp + 0xb0], xmm0
movaps xmmword [rsp + 0xc0], xmm0
nop word [rax + rax]
add r8, 1
cmp byte [r8], 0
jne 0x140020060
sub r8d, edx
mov rcx, r12
call method.rapidjson::GenericPointer_rapidjson::GenericValue_rapidjson::UTF8_char___rapidjson::MemoryPoolAllocator_rapidjson::CrtAllocator_____rapidjson::CrtAllocator_.Parse_char_const__unsigned_long_long_
mov rax, qword [rsp + 0xc0]
mov r12, qword [rsp + 0xb8]
shl rax, 4
add rax, r12
cmp r12, rax
je 0x14002047c
mov rcx, r12
mov r15, rbx
mov r8, rsi
mov r11, rax
mov r9, r14
mov r10, rbp
mov rdx, r13
movzx eax, word [r15 + 0xe]
and eax, 7
cmp ax, 3
je 0x140020250
cmp ax, 4
jne 0x140020100
mov eax, dword [r12 + 0xc]
cmp eax, 0xffffffff
je 0x140020100
cmp eax, dword [r15]
jae 0x140020100
movabs rbx, 0xffffffffffff
shl rax, 4
and rbx, qword [r15 + 8]
lea r15, [rbx + rax]
add r12, 0x10
cmp r11, r12
jne 0x1400200aa
mov r12, rcx
mov rsi, r8
mov r14, r9
mov rbp, r10
jmp 0x14002010f
mov r12, rcx
mov rsi, r8
mov r14, r9
mov rbp, r10
xor r15d, r15d
cmp qword [rsp + 0xb0], 0
je 0x140020122
mov rcx, r12
call sym.free
mov rcx, qword [rsp + 0xa8]
test rcx, rcx
je 0x140020139
mov edx, 1
call sym.operator_delete_void__unsigned_long_long_
test r15, r15
je 0x140020412
mov rdx, r15
test byte [r15 + 0xf], 0x10
je 0x1400203b0
mov rcx, r14
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const___clone_.isra.0_
mov rdi, qword [rsp + 0x158]
test rdi, rdi
je 0x1400201b2
mov rcx, qword [rdi]
test rcx, rcx
jne 0x140020184
jmp 0x140020192
mov rbx, qword [rcx + 0x10]
call sym.free
mov qword [rdi], rbx
test rbx, rbx
je 0x140020192
mov rcx, rbx
cmp qword [rdi + 0x10], rcx
jne 0x140020170
mov qword [rcx + 8], 0
mov rcx, qword [rdi + 0x20]
test rcx, rcx
je 0x1400201a5
mov edx, 1
call sym.operator_delete_void__unsigned_long_long_
mov edx, 0x28
mov rcx, rdi
call sym.operator_delete_void__unsigned_long_long_
mov rcx, qword [rsp + 0x170]
call sym.free
mov rcx, qword [rsp + 0x168]
test rcx, rcx
je 0x1400203c8
mov edx, 1
call sym.operator_delete_void__unsigned_long_long_
mov rcx, rbp
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_dispose__
mov rcx, qword [rsi]
test rcx, rcx
jne 0x140020204
jmp 0x140020212
mov rbx, qword [rcx + 0x10]
call sym.free
mov qword [rsi], rbx
test rbx, rbx
je 0x140020212
mov rcx, rbx
cmp qword [rsi + 0x10], rcx
jne 0x1400201f0
mov qword [rcx + 8], 0
mov rcx, qword [rsi + 0x20]
test rcx, rcx
je 0x140020225
mov edx, 1
call sym.operator_delete_void__unsigned_long_long_
mov edx, 0x28
mov rcx, rsi
call sym.operator_delete_void__unsigned_long_long_
mov rax, r14
add rsp, 0x1a8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rdi, qword [r12]
cmp byte [rdi], 0
je 0x140020435
mov rax, rdi
add rax, 1
cmp byte [rax], 0
jne 0x140020260
sub eax, edi
movabs rbp, 0x405000000000000
mov dword [rsp + 0x84], 0
movabs rsi, 0xffffffffffff
or rbp, rdi
mov dword [rsp + 0x80], eax
mov qword [rsp + 0x88], rbp
mov rbx, qword [r15 + 8]
mov r15d, dword [r15]
and rbx, rsi
shl r15, 5
add r15, rbx
cmp rbx, r15
je 0x14002046e
mov r14, rbp
shl rbp, 0x10
mov r13d, 0xd
mov qword [rsp + 0x40], r12
sar rbp, 0x38
shr r14, 0x3c
mov r12, rbx
mov qword [rsp + 0x28], rcx
sub r13d, ebp
and r14d, 1
mov rbx, r15
mov qword [rsp + 0x38], r11
cmove r13d, eax
and rdi, rsi
test r14b, r14b
mov qword [rsp + 0x1f0], r9
mov qword [rsp + 0x30], r10
cmovne rdi, rdx
mov r14d, 0xd
mov ebp, r13d
mov r15d, r13d
mov qword [rsp + 0x48], rdx
mov r13, r8
jmp 0x140020354
movsx edx, byte [r12 + 0xd]
mov eax, r14d
sub eax, edx
mov rdx, r12
cmp eax, r15d
jne 0x140020347
cmp rdi, rdx
je 0x14002036f
mov r8, rbp
mov rcx, rdi
call sym.memcmp
test eax, eax
je 0x14002036f
add r12, 0x20
cmp rbx, r12
je 0x1400203d8
test byte [r12 + 0xf], 0x10
jne 0x140020320
cmp dword [r12], r15d
jne 0x140020347
mov rdx, qword [r12 + 8]
and rdx, rsi
cmp rdi, rdx
jne 0x140020338
mov r15, rbx
mov rbx, r12
mov rcx, qword [rsp + 0x28]
mov r11, qword [rsp + 0x38]
mov r12, qword [rsp + 0x40]
mov r9, qword [rsp + 0x1f0]
mov r8, r13
mov r10, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x48]
cmp r15, rbx
je 0x14002046e
lea r15, [rbx + 0x10]
jmp 0x1400200e7
movabs rdx, 0xffffffffffff
and rdx, qword [r15 + 8]
jmp 0x140020150
mov rcx, rbp
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_dispose__
jmp 0x1400201e2
mov r12, qword [rsp + 0x28]
mov rbp, qword [rsp + 0x30]
mov rsi, r13
cmp qword [rsp + 0xb0], 0
mov rbx, qword [rsp + 0xa8]
je 0x14002042e
mov rcx, r12
call sym.free
test rbx, rbx
je 0x140020412
mov edx, 1
mov rcx, rbx
call sym.operator_delete_void__unsigned_long_long_
mov rcx, qword [0x1400740a0]
test rcx, rcx
je 0x140020424
mov rax, qword [rcx]
call qword [rax + 0x38]
mov ecx, 1
call sym.exit
test rbx, rbx
jne 0x140020405
jmp 0x140020412
xor eax, eax
jmp 0x14002026b
xor edx, edx
jmp 0x14001fdfb
mov edx, 1
mov rcx, r12
call method.void_rapidjson::internal::Stack_rapidjson::CrtAllocator_.Expand_char__unsigned_long_long_
mov rax, qword [rsp + 0xb8]
lea rdx, [rax + 1]
jmp 0x14001ff28
mov r12, rcx
mov rsi, r8
mov rbp, r10
jmp 0x1400203e5
cmp qword [rsp + 0xb0], 0
je 0x1400204ab
mov rcx, r12
mov r15, rbx
call sym.free
mov rcx, qword [rsp + 0xa8]
test rcx, rcx
jne 0x14002012f
mov r15, rbx
jmp 0x140020142
mov rcx, qword [rsp + 0xa8]
test rcx, rcx
je 0x1400204a3
mov edx, 1
call sym.operator_delete_void__unsigned_long_long_
jmp 0x1400204a3