Function at 0x1400a12f0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x178
mov qword [rsp + 0x48], rdx
movzx eax, byte [0x14042c640]
mov rdi, rcx
test al, al
je 0x1400a1517
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 0x1400a14c2
mov rdx, rsi
mov rcx, rbx
call method.Json::ValueIteratorBase.name_abi:cxx11____const
mov rax, qword [0x14042c648]
mov r14, qword [rax + 0x10]
lea rdx, [rax + 8]
test r14, r14
je 0x1400a1457
mov rdi, qword [rsp + 0x78]
mov qword [rsp + 0x30], rbx
mov r15, rdx
mov qword [rsp + 0x28], rdx
mov rbp, qword [rsp + 0x70]
mov rbx, rdi
mov rdi, rsi
mov rsi, r14
jmp 0x1400a13c9
mov rsi, qword [rsi + 0x18]
test rsi, rsi
je 0x1400a140c
mov r14, qword [rsi + 0x28]
mov r8, rbx
mov rcx, qword [rsi + 0x20]
cmp r14, rbx
cmovbe r8, r14
test r8, r8
je 0x1400a13ec
mov rdx, rbp
call sym.memcmp
test eax, eax
jne 0x1400a13fc
sub r14, rbx
cmp r14, r12
jge 0x1400a1400
cmp r14, r13
jle 0x1400a13c0
mov eax, r14d
test eax, eax
js 0x1400a13c0
mov r15, rsi
mov rsi, qword [rsi + 0x10]
test rsi, rsi
jne 0x1400a13c9
mov rdx, qword [rsp + 0x28]
mov rsi, rdi
mov rdi, rbx
mov rbx, qword [rsp + 0x30]
cmp rdx, r15
je 0x1400a1457
mov rdx, qword [r15 + 0x20]
mov r15, qword [r15 + 0x28]
cmp rdi, r15
mov r8, r15
cmovbe r8, rdi
test r8, r8
je 0x1400a1444
mov rcx, rbp
call sym.memcmp
test eax, eax
jne 0x1400a1453
sub rdi, r15
cmp rdi, r12
jge 0x1400a14b0
cmp rdi, r13
jle 0x1400a1457
mov eax, edi
test eax, eax
jns 0x1400a14b0
cmp qword [rsp + 0x48], 0
je 0x1400a14e7
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 0x1400a149d
call sym.operator_delete_void_
mov rcx, rsi
call method.Json::ValueIteratorBase.increment__
jmp 0x1400a1350
lea rax, [rsp + 0x80]
mov rcx, rbp
cmp rbp, rax
jne 0x1400a1498
jmp 0x1400a149d
mov rax, qword [rsp + 0x48]
test rax, rax
je 0x1400a14fe
mov rcx, rax
add rsp, 0x178
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 0x1400a14fe
call sym.operator_delete_void_
movzx eax, byte [rsp + 0x40]
add rsp, 0x178
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, [0x14042c640]
lea rsi, [rsp + 0x60]
call sym.__cxa_guard_acquire
lea rbx, [rsp + 0x70]
test eax, eax
je 0x1400a1324
mov ecx, 0x30
call sym.operator_new_unsigned_long_long_
mov r13, rax
lea rax, [rsp + 0x80]
xor r8d, r8d
mov rdx, rsi
mov qword [rsp + 0x70], rax
lea rcx, [rsp + 0xb0]
movabs rax, 0x7461746e65646e69
mov qword [rsp + 0x80], rax
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x90], rax
movabs rax, 0x53746e656d6d6f63
mov qword [rsp + 0xa0], rax
lea rax, [rsp + 0xc0]
mov dword [rsp + 0x87], 0x6e6f6974
mov qword [rsp + 0x78], 0xb
mov byte [rsp + 0x8b], 0
mov dword [rsp + 0xa8], 0x656c7974
mov qword [rsp + 0x98], 0xc
mov byte [rsp + 0xac], 0
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0x60], 0x17
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 r8d, r8d
movabs rcx, 0x4159656c62616e65
mov qword [rsp + 0xb0], rax
movabs rbx, 0x7461706d6f434c4d
mov qword [rsp + 0xc0], rdx
mov qword [rax], rcx
movabs rcx, 0x7974696c69626974
mov qword [rax + 8], rbx
mov qword [rax + 0xf], rcx
mov rax, qword [rsp + 0xb0]
lea rcx, [rsp + 0xd0]
mov qword [rsp + 0xb8], rdx
mov byte [rax + rdx], 0
lea rax, [rsp + 0xe0]
mov rdx, rsi
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0x60], 0x14
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 + 0xd0], rax
xor r8d, r8d
movabs rcx, 0x6c6c754e706f7264
movabs rbx, 0x6c6f686563616c50
mov qword [rsp + 0xe0], rdx
mov qword [rax], rcx
lea rcx, [rsp + 0xf0]
mov qword [rax + 8], rbx
mov dword [rax + 0x10], 0x73726564
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0xd8], rdx
mov byte [rax + rdx], 0
lea rax, [rsp + 0x100]
mov rdx, rsi
mov qword [rsp + 0xf0], 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 + 0xf0], rax
xor r12d, r12d
movabs rbx, 0x7374616f6c466c61
movabs rcx, 0x6963657053657375
mov qword [rsp + 0x100], rdx
mov qword [rax + 8], rbx
lea rbx, [rsp + 0x70]
mov qword [rax], rcx
mov rax, qword [rsp + 0xf0]
mov rbp, rbx
mov qword [rsp + 0xf8], rdx
mov byte [rax + rdx], 0
lea rax, [rsp + 0x120]
lea rdx, [rsp + 0x160]
mov qword [rsp + 0x110], rax
movabs rax, 0x3846545574696d65
mov qword [rsp + 0x120], rax
lea rax, [rsp + 0x140]
mov qword [rsp + 0x130], rax
movabs rax, 0x6f69736963657270
mov qword [rsp + 0x160], rax
mov qword [rsp + 0x140], rax
movabs rax, 0x657079546e6f6973
mov qword [rsp + 0x165], 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 qword [rsp + 0x118], 8
mov byte [rsp + 0x128], 0
mov byte [rsp + 0x148], 0x6e
mov qword [rsp + 0x138], 9
mov byte [rsp + 0x149], 0
mov qword [rsp + 0x150], rdx
mov qword [rsp + 0x158], 0xd
mov byte [rsp + 0x16d], 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 0x1400a1870
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 0x1400a184e
mov qword [rsp + 0x28], r9
call sym.memcmp
mov r9, qword [rsp + 0x28]
test eax, eax
jne 0x1400a1868
mov rax, r9
sub rax, r15
cmp rax, 0x7fffffff
jg 0x1400a1870
cmp rax, 0xffffffff80000000
jl 0x1400a1987
test eax, eax
js 0x1400a1987
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 0x1400a1925
test rax, rax
setne al
mov rdx, qword [rsp + 0x30]
cmp r14, rdx
sete dl
or dl, al
mov byte [rsp + 0x28], dl
je 0x1400a19d7
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 0x1400a198e
cmp r15, 1
je 0x1400a19ca
test r15, r15
jne 0x1400a19ae
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 + 0x170]
cmp rbp, rax
jne 0x1400a1813
lea rcx, [0x14042c640]
mov qword [0x14042c648], r13
lea rbp, [rsp + 0x150]
call sym.__cxa_guard_release
jmp 0x1400a196c
call sym.operator_delete_void_
lea rax, [rbp - 0x20]
cmp rbp, rbx
je 0x1400a1324
mov rbp, rax
mov rcx, qword [rbp]
lea rax, [rbp + 0x10]
cmp rcx, rax
jne 0x1400a1957
lea rax, [rbp - 0x20]
cmp rbp, rbx
jne 0x1400a1969
jmp 0x1400a1324
xor eax, eax
jmp 0x1400a1899
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 0x1400a18fa
movzx eax, byte [rdx]
mov byte [r12 + 0x30], al
jmp 0x1400a18fa
mov r15, qword [rbp + 8]
mov r12, qword [r14 + 0x28]
cmp r15, r12
mov r8, r12
cmovbe r8, r15
test r8, r8
je 0x1400a19ff
mov rdx, qword [r14 + 0x20]
mov rcx, qword [rbp]
call sym.memcmp
test eax, eax
jne 0x1400a1a19
mov rax, r15
sub rax, r12
cmp rax, 0x7fffffff
jg 0x1400a18b0
cmp rax, 0xffffffff80000000
jl 0x1400a1a25
shr eax, 0x1f
mov dword [rsp + 0x28], eax
jmp 0x1400a18b0
mov byte [rsp + 0x28], 1
jmp 0x1400a18b0