Function at 0x14008b8f0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x1f8
mov qword [rsp + 0x48], rdx
movzx eax, byte [0x14042c5c0]
mov rdi, rcx
test al, al
je 0x14008bb17
lea rsi, [rsp + 0x60]
lea rbx, [rsp + 0x70]
lea rax, [rdi + 8]
mov rcx, rsi
mov r12d, 0x80000000
movabs r13, 0xffffffff7fffffff
mov rdx, rax
mov qword [rsp + 0x38], rax
call method.Json::Value.begin___const
nop dword [rax + rax]
mov rdx, qword [rsp + 0x38]
mov rcx, rbx
call method.Json::Value.end___const
mov rdx, rbx
mov rcx, rsi
call method.Json::ValueIteratorBase.isEqual_Json::ValueIteratorBase_const__const
mov byte [rsp + 0x40], al
test al, al
jne 0x14008bac2
mov rdx, rsi
mov rcx, rbx
call method.Json::ValueIteratorBase.name_abi:cxx11____const
mov rax, qword [0x14042c5c8]
mov r14, qword [rax + 0x10]
lea rdx, [rax + 8]
test r14, r14
je 0x14008ba5a
mov rdi, qword [rsp + 0x78]
mov rax, rbx
mov qword [rsp + 0x30], rsi
mov r15, rdx
mov qword [rsp + 0x28], rdx
mov rbp, qword [rsp + 0x70]
mov rsi, r14
mov rbx, rdi
mov rdi, rax
jmp 0x14008b9c9
mov rsi, qword [rsi + 0x18]
test rsi, rsi
je 0x14008ba0c
mov r14, qword [rsi + 0x28]
mov r8, rbx
mov rcx, qword [rsi + 0x20]
cmp r14, rbx
cmovbe r8, r14
test r8, r8
je 0x14008b9ec
mov rdx, rbp
call sym.memcmp
test eax, eax
jne 0x14008b9fc
sub r14, rbx
cmp r14, r12
jge 0x14008ba00
cmp r14, r13
jle 0x14008b9c0
mov eax, r14d
test eax, eax
js 0x14008b9c0
mov r15, rsi
mov rsi, qword [rsi + 0x10]
test rsi, rsi
jne 0x14008b9c9
mov rdx, qword [rsp + 0x28]
mov rax, rdi
mov rsi, qword [rsp + 0x30]
mov rdi, rbx
mov rbx, rax
cmp rdx, r15
je 0x14008ba5a
mov rdx, qword [r15 + 0x20]
mov r15, qword [r15 + 0x28]
cmp rdi, r15
mov r8, r15
cmovbe r8, rdi
test r8, r8
je 0x14008ba47
mov rcx, rbp
call sym.memcmp
test eax, eax
jne 0x14008ba56
sub rdi, r15
cmp rdi, r12
jge 0x14008bab0
cmp rdi, r13
jle 0x14008ba5a
mov eax, edi
test eax, eax
jns 0x14008bab0
cmp qword [rsp + 0x48], 0
je 0x14008bae7
mov rcx, rsi
call method.Json::ValueIteratorBase.deref___const
mov rcx, qword [rsp + 0x48]
mov rdx, rbx
mov rbp, rax
call method.Json::Value.operator___std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
mov rcx, rax
mov rdx, rbp
call method.Json::Value.operator_Json::Value_const_
mov rcx, qword [rsp + 0x70]
lea rax, [rsp + 0x80]
cmp rcx, rax
je 0x14008baa0
call sym.operator_delete_void_
mov rcx, rsi
call method.Json::ValueIteratorBase.increment__
jmp 0x14008b950
lea rax, [rsp + 0x80]
mov rcx, rbp
cmp rbp, rax
jne 0x14008ba9b
jmp 0x14008baa0
mov rax, qword [rsp + 0x48]
test rax, rax
je 0x14008bafe
mov rcx, rax
add rsp, 0x1f8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp method.Json::Value.empty___const
mov rcx, qword [rsp + 0x70]
lea rax, [rsp + 0x80]
cmp rcx, rax
je 0x14008bafe
call sym.operator_delete_void_
movzx eax, byte [rsp + 0x40]
add rsp, 0x1f8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, [0x14042c5c0]
lea rsi, [rsp + 0x60]
call sym.__cxa_guard_acquire
lea rbx, [rsp + 0x70]
test eax, eax
je 0x14008b924
mov ecx, 0x30
call sym.operator_new_unsigned_long_long_
mov r13, rax
lea rax, [rsp + 0x80]
lea rdx, [rsp + 0xa0]
xor r8d, r8d
mov qword [rsp + 0x70], rax
movabs rax, 0x437463656c6c6f63
lea rcx, [rsp + 0xb0]
mov qword [rsp + 0x80], rax
movabs rax, 0x73746e656d6d6f43
mov qword [rsp + 0x90], rdx
movabs rdx, 0x6d6f43776f6c6c61
mov qword [rsp + 0xa0], rdx
mov rdx, rsi
mov qword [rsp + 0x87], rax
mov qword [rsp + 0xa5], rax
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x78], 0xf
mov byte [rsp + 0x8f], 0
mov qword [rsp + 0x98], 0xd
mov byte [rsp + 0xad], 0
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0x60], 0x13
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_create_unsigned_long_long__unsigned_long_long_
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0xb0], rax
xor r8d, r8d
movabs rcx, 0x617254776f6c6c61
movabs rbx, 0x6d6f43676e696c69
mov r9d, 0x746f
mov qword [rsp + 0xc0], rdx
mov qword [rax], rcx
lea rcx, [rsp + 0xf0]
mov qword [rax + 8], rbx
mov dword [rax + 0xf], 0x73616d6d
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0xb8], rdx
mov byte [rax + rdx], 0
lea rax, [rsp + 0xe0]
mov rdx, rsi
mov qword [rsp + 0xd0], rax
movabs rax, 0x6f52746369727473
mov qword [rsp + 0xe0], rax
lea rax, [rsp + 0x100]
mov word [rsp + 0xe8], r9w
mov qword [rsp + 0xd8], 0xa
mov byte [rsp + 0xea], 0
mov qword [rsp + 0xf0], rax
mov qword [rsp + 0x60], 0x1c
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_create_unsigned_long_long__unsigned_long_long_
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0xf0], rax
xor r8d, r8d
movabs rcx, 0x6f7244776f6c6c61
movabs rbx, 0x6c6c754e64657070
mov qword [rsp + 0x100], rdx
mov qword [rax + 8], rbx
movabs rbx, 0x737265646c6f6865
mov qword [rax], rcx
movabs rcx, 0x63616c506c6c754e
mov qword [rax + 0xc], rcx
lea rcx, [rsp + 0x110]
mov qword [rax + 0x14], rbx
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0xf8], rdx
mov byte [rax + rdx], 0
lea rax, [rsp + 0x120]
mov rdx, rsi
mov qword [rsp + 0x110], rax
mov qword [rsp + 0x60], 0x10
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_create_unsigned_long_long__unsigned_long_long_
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0x110], rax
xor r8d, r8d
movabs rcx, 0x6d754e776f6c6c61
movabs rbx, 0x7379654b63697265
mov qword [rsp + 0x120], rdx
mov qword [rax], rcx
lea rcx, [rsp + 0x130]
mov qword [rax + 8], rbx
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0x118], rdx
mov byte [rax + rdx], 0
lea rax, [rsp + 0x140]
mov rdx, rsi
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x60], 0x11
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_create_unsigned_long_long__unsigned_long_long_
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0x130], rax
movabs rcx, 0x6e6953776f6c6c61
movabs rbx, 0x65746f7551656c67
mov r8d, 0x7469
mov qword [rsp + 0x140], rdx
mov qword [rax], rcx
lea rcx, [rsp + 0x1b0]
mov qword [rax + 8], rbx
mov byte [rax + 0x10], 0x73
mov rax, qword [rsp + 0x130]
mov qword [rsp + 0x138], rdx
mov byte [rax + rdx], 0
lea rax, [rsp + 0x160]
mov rdx, rsi
mov qword [rsp + 0x150], rax
movabs rax, 0x6d694c6b63617473
mov qword [rsp + 0x160], rax
lea rax, [rsp + 0x180]
mov qword [rsp + 0x170], rax
movabs rax, 0x784566496c696166
mov qword [rsp + 0x180], rax
lea rax, [rsp + 0x1a0]
mov qword [rsp + 0x190], rax
movabs rax, 0x75447463656a6572
mov qword [rsp + 0x1a0], rax
movabs rax, 0x7379654b70754474
mov word [rsp + 0x168], r8w
xor r8d, r8d
mov qword [rsp + 0x1a5], rax
lea rax, [rsp + 0x1c0]
mov qword [rsp + 0x158], 0xa
mov byte [rsp + 0x16a], 0
mov dword [rsp + 0x187], 0x61727478
mov qword [rsp + 0x178], 0xb
mov byte [rsp + 0x18b], 0
mov qword [rsp + 0x198], 0xd
mov byte [rsp + 0x1ad], 0
mov qword [rsp + 0x1b0], rax
mov qword [rsp + 0x60], 0x12
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_create_unsigned_long_long__unsigned_long_long_
mov rdx, qword [rsp + 0x60]
xor r12d, r12d
movabs rcx, 0x657053776f6c6c61
mov qword [rsp + 0x1b0], rax
movabs rbx, 0x616f6c466c616963
mov qword [rsp + 0x1c0], rdx
mov qword [rax], rcx
mov ecx, 0x7374
mov qword [rax + 8], rbx
lea rbx, [rsp + 0x70]
mov word [rax + 0x10], cx
mov rax, qword [rsp + 0x1b0]
mov rbp, rbx
mov qword [rsp + 0x1b8], rdx
mov byte [rax + rdx], 0
lea rax, [rsp + 0x1e0]
mov qword [rsp + 0x1d0], rax
lea rax, [r13 + 8]
mov qword [rsp + 0x30], rax
mov qword [r13 + 0x18], rax
mov qword [r13 + 0x20], rax
lea rax, [rsp + 0x50]
mov dword [rsp + 0x1e0], 0x70696b73
mov qword [rsp + 0x1d8], 7
mov dword [rsp + 0x1e3], 0x6d6f4270
mov byte [rsp + 0x1e7], 0
mov dword [r13 + 8], 0
mov qword [r13 + 0x10], 0
mov qword [r13 + 0x28], 0
mov qword [rsp + 0x38], rax
test r12, r12
je 0x14008c00a
mov r14, qword [r13 + 0x20]
mov r15, qword [rbp + 8]
mov rdx, qword [rbp]
mov r9, qword [r14 + 0x28]
mov r8, r15
mov rcx, qword [r14 + 0x20]
cmp r9, r15
cmovbe r8, r9
test r8, r8
je 0x14008bfe8
mov qword [rsp + 0x28], r9
call sym.memcmp
mov r9, qword [rsp + 0x28]
test eax, eax
jne 0x14008c002
mov rax, r9
sub rax, r15
cmp rax, 0x7fffffff
jg 0x14008c00a
cmp rax, 0xffffffff80000000
jl 0x14008c121
test eax, eax
js 0x14008c121
mov rcx, qword [rsp + 0x38]
mov r8, rbp
mov rdx, r13
call sym._ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St9_IdentityIS5_ESt4lessIS5_ESaIS5_EE24_M_get_insert_uni
mov r14, qword [rsp + 0x58]
mov rax, qword [rsp + 0x50]
test r14, r14
je 0x14008c0bf
test rax, rax
setne al
mov rdx, qword [rsp + 0x30]
cmp r14, rdx
sete dl
or dl, al
mov byte [rsp + 0x28], dl
je 0x14008c171
mov ecx, 0x40
call sym.operator_new_unsigned_long_long_
mov r12, rax
mov rdx, qword [rbp]
mov r15, qword [rbp + 8]
lea rax, [rax + 0x20]
lea rcx, [r12 + 0x30]
mov qword [r12 + 0x20], rcx
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x60], r15
cmp r15, 0xf
ja 0x14008c128
cmp r15, 1
je 0x14008c164
test r15, r15
jne 0x14008c148
mov qword [r12 + 0x28], r15
mov r9, qword [rsp + 0x30]
mov rdx, r12
mov r8, r14
mov byte [rcx + r15], 0
movzx ecx, byte [rsp + 0x28]
call method.std._Rb_tree_insert_and_rebalance_bool__std::_Rb_tree_node_base__std::_Rb_tree_node_base__std::_Rb_tree_node_base_
mov rax, qword [r13 + 0x28]
lea r12, [rax + 1]
mov qword [r13 + 0x28], r12
add rbp, 0x20
lea rax, [rsp + 0x1f0]
cmp rbp, rax
jne 0x14008bfad
lea rcx, [0x14042c5c0]
mov qword [0x14042c5c8], r13
lea rbp, [rsp + 0x1d0]
call sym.__cxa_guard_release
jmp 0x14008c106
call sym.operator_delete_void_
lea rax, [rbp - 0x20]
cmp rbp, rbx
je 0x14008b924
mov rbp, rax
mov rcx, qword [rbp]
lea rax, [rbp + 0x10]
cmp rcx, rax
jne 0x14008c0f1
lea rax, [rbp - 0x20]
cmp rbp, rbx
jne 0x14008c103
jmp 0x14008b924
xor eax, eax
jmp 0x14008c033
xor r8d, r8d
mov rdx, rsi
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_create_unsigned_long_long__unsigned_long_long_
mov qword [r12 + 0x20], rax
mov rcx, rax
mov rax, qword [rsp + 0x60]
mov qword [r12 + 0x30], rax
mov rdx, qword [rsp + 0x40]
mov r8, r15
call sym.memcpy
mov r15, qword [rsp + 0x60]
mov rcx, qword [r12 + 0x20]
jmp 0x14008c094
movzx eax, byte [rdx]
mov byte [r12 + 0x30], al
jmp 0x14008c094
mov r15, qword [rbp + 8]
mov r12, qword [r14 + 0x28]
cmp r15, r12
mov r8, r12
cmovbe r8, r15
test r8, r8
je 0x14008c199
mov rdx, qword [r14 + 0x20]
mov rcx, qword [rbp]
call sym.memcmp
test eax, eax
jne 0x14008c1b3
mov rax, r15
sub rax, r12
cmp rax, 0x7fffffff
jg 0x14008c04a
cmp rax, 0xffffffff80000000
jl 0x14008c1bf
shr eax, 0x1f
mov dword [rsp + 0x28], eax
jmp 0x14008c04a
mov byte [rsp + 0x28], 1
jmp 0x14008c04a