Function at 0x1402a2220
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x3a8
mov rax, qword [rcx + 8]
mov r12, qword [rcx + 0x10]
lea r10, [rsp + 0xf0]
mov rbp, qword [rax + 0x20]
mov r9, rcx
mov qword [rsp + 0x3f8], rdx
mov qword [rsp + 0x400], r8
mov rdx, qword [rcx]
mov rdi, r10
mov ecx, 7
movsxd r8, dword [rax + 0x14]
mov qword [rsp + 0x38], rax
xor eax, eax
rep stosq qword [rdi], rax
movzx eax, byte [r12 + 0x10]
mov rdx, qword [rdx + 8]
imul rax, rax, 0x68
lea rdx, [rdx + rax + 8]
test byte [rdx + 0x3c], 0x10
mov r11d, dword [rdx + 0x44]
jne 0x1402a22c8
imul r8, r8, 0x38
lea r13, [rbp + r8]
cmp rbp, r13
jae 0x1402a22c8
mov rdi, r13
mov r14, rdx
mov rsi, r9
test byte [rbp + 0x15], 2
je 0x1402a22bf
mov rdx, qword [rbp + 0x20]
mov rax, qword [rdx + 0x1e8]
and rax, qword [r12 + 8]
jne 0x1402a22e0
add rbp, 0x38
cmp rbp, rdi
jb 0x1402a22a7
xor eax, eax
add rsp, 0x3a8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
movsxd rax, dword [rdx + 0x14]
mov r15, qword [rdx + 0x20]
imul rax, rax, 0x38
lea rdx, [r15 + rax]
mov rax, qword [rsi]
cmp r15, rdx
mov qword [rsp + 0xb0], rax
mov rax, qword [rsi + 8]
mov qword [rsp + 0xb8], rax
mov rax, qword [rsi + 0x10]
mov qword [rsp + 0xc0], rax
mov rax, qword [rsi + 0x20]
mov qword [rsp + 0xd0], rax
mov rax, qword [rsi + 0x28]
mov qword [rsp + 0xd8], rax
mov rax, qword [rsi + 0x30]
mov qword [rsp + 0xe0], rax
lea rax, [rsp + 0x130]
mov qword [rsp + 0xc8], rax
jae 0x1402a28c9
lea rax, [rsp + 0xf8]
mov qword [rsp + 0x80], r12
mov r13d, 1
xor ebx, ebx
mov qword [rsp + 0x60], rax
lea rax, [rsp + 0x138]
mov r12, r10
mov qword [rsp + 0x68], rax
lea rax, [rsp + 0xb0]
mov qword [rsp + 0x3f0], rsi
mov rsi, rdx
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x78], rdi
mov dword [rsp + 0xa8], r11d
mov qword [rsp + 0x88], rbp
jmp 0x1402a2438
mov rax, qword [r15 + 0x20]
mov qword [rsp + 0xb8], rax
xor eax, eax
mov word [rsp + 0x130], ax
mov rax, qword [r14 + 0x20]
cmp byte [rax + 0x3f], 1
je 0x1402a24a0
mov rdx, qword [rsp + 0x3f8]
mov rcx, qword [rsp + 0x48]
call sym.whereLoopAddBtree
mov ebx, eax
test ebx, ebx
je 0x1402a24c4
movzx r8d, word [rsp + 0x130]
test r8w, r8w
je 0x1402a2890
test r13d, r13d
je 0x1402a24e8
mov word [rsp + 0xf0], r8w
mov rdx, qword [rsp + 0x68]
shl r8, 4
mov rcx, qword [rsp + 0x60]
call sym.memcpy
xor r13d, r13d
add r15, 0x38
cmp r15, rsi
jae 0x1402a27a0
test byte [r15 + 0x15], 4
jne 0x1402a23b0
mov eax, dword [rsp + 0xa8]
cmp dword [r15 + 0x1c], eax
jne 0x1402a242b
mov rax, qword [rsp + 0x38]
movq xmm0, qword [rax]
mov byte [rsp + 0x1c0], 0x2c
lea rax, [rsp + 0x1b0]
mov dword [rsp + 0x1c4], 1
movhps xmm0, qword [rsp + 0x38]
mov qword [rsp + 0x1d0], r15
movaps xmmword [rsp + 0x1b0], xmm0
mov dword [rsp + 0x1cc], 1
jmp 0x1402a23b4
mov r8, qword [rsp + 0x400]
mov rdx, qword [rsp + 0x3f8]
mov rcx, qword [rsp + 0x48]
call sym.whereLoopAddVirtual
mov ebx, eax
test ebx, ebx
jne 0x1402a23f0
mov r8, qword [rsp + 0x400]
mov rdx, qword [rsp + 0x3f8]
mov rcx, qword [rsp + 0x48]
call sym.whereLoopAddOr
mov ebx, eax
jmp 0x1402a23f0
movzx r8d, word [rsp + 0xf0]
lea rcx, [rsp + 0x178]
lea rdx, [rsp + 0xf8]
lea rdi, [rsp + 0x170]
mov r13, r8
shl r8, 4
call sym.memcpy
xor r9d, r9d
test r13w, r13w
mov word [rsp + 0xf0], r9w
je 0x1402a2428
lea edx, [r13 - 1]
mov rax, rdi
mov qword [rsp + 0x90], r14
shl rdx, 4
mov qword [rsp + 0x98], rsi
lea rdi, [rdi + rdx]
mov qword [rsp + 0xa0], r15
mov qword [rsp + 0x70], rdi
lea rdi, [rsp + 0x138]
mov qword [rsp + 0x28], rdi
lea rdi, [rsp + 0x142]
mov qword [rsp + 0x30], rdi
lea rdi, [rsp + 0x140]
mov dword [rsp + 0xac], ebx
movsx r14d, word [rax + 0x12]
xor ebx, ebx
mov qword [rsp + 0x58], rax
movsx r13d, word [rax + 0x10]
mov rsi, qword [rax + 8]
lea ecx, [r14 + 0x31]
mov ebp, r14d
mov dword [rsp + 0x44], ecx
lea ecx, [r14 + 0x1f]
mov r15d, r13d
mov dword [rsp + 0x54], ecx
lea ecx, [r13 + 0x31]
mov dword [rsp + 0x50], ecx
mov rax, qword [rsp + 0x30]
mov rdx, rbx
shl rdx, 4
movsx r9d, word [rax + rdx]
cmp r9w, bp
mov ecx, r9d
jg 0x1402a26c0
lea ecx, [r9 + 0x31]
cmp ecx, r14d
jl 0x1402a26f0
lea ecx, [r9 + 0x1f]
cmp ecx, r14d
jge 0x1402a2750
lea r9d, [rbp + 1]
movsx r9d, r9w
nop dword [rax + rax]
movsx r8d, word [rdi + rdx]
cmp r8w, r15w
mov ecx, r8d
jg 0x1402a26a0
lea ecx, [r8 + 0x31]
cmp ecx, r13d
jl 0x1402a26e0
lea ecx, [r8 + 0x1f]
cmp ecx, r13d
jge 0x1402a2700
lea r8d, [r15 + 1]
movsx r8d, r8w
nop dword [rax]
mov rcx, qword [rsp + 0x28]
add rbx, 1
mov rax, qword [rcx + rdx]
mov rcx, r12
or rax, rsi
mov rdx, rax
call sym.whereOrInsert.isra.0
movzx ecx, word [rsp + 0x130]
cmp ecx, ebx
jg 0x1402a25b3
mov rax, qword [rsp + 0x58]
cmp qword [rsp + 0x70], rax
je 0x1402a2674
add rax, 0x10
test cx, cx
jne 0x1402a2580
mov r14, qword [rsp + 0x90]
mov rsi, qword [rsp + 0x98]
mov r15, qword [rsp + 0xa0]
mov ebx, dword [rsp + 0xac]
jmp 0x1402a2428
cmp dword [rsp + 0x50], r8d
jl 0x1402a2630
lea r10d, [r13 + 0x1f]
cmp r10d, r8d
jge 0x1402a2778
add ecx, 1
movsx r8d, cx
jmp 0x1402a2630
cmp dword [rsp + 0x44], r9d
jl 0x1402a25f8
cmp dword [rsp + 0x54], r9d
jge 0x1402a2728
add ecx, 1
movsx r9d, cx
jmp 0x1402a25f8
mov r8d, r13d
jmp 0x1402a2630
mov r9d, r14d
jmp 0x1402a25f8
lea rax, str._n_n_t_t_b_b_a_a_a
mov ecx, r13d
sub ecx, r8d
movsxd rcx, ecx
movzx r8d, byte [rax + rcx]
add r8d, r15d
movsx r8d, r8w
jmp 0x1402a2630
lea rax, str._n_n_t_t_b_b_a_a_a
sub r9d, r14d
movsxd r9, r9d
movzx r9d, byte [rax + r9]
add r9d, ecx
movsx r9d, r9w
jmp 0x1402a25f8
lea rax, str._n_n_t_t_b_b_a_a_a
mov ecx, r14d
sub ecx, r9d
movsxd rcx, ecx
movzx r9d, byte [rax + rcx]
add r9d, ebp
movsx r9d, r9w
jmp 0x1402a25f8
lea rax, str._n_n_t_t_b_b_a_a_a
sub r8d, r13d
movsxd r8, r8d
movzx r8d, byte [rax + r8]
add r8d, ecx
movsx r8d, r8w
jmp 0x1402a2630
mov r10, r12
mov rdi, qword [rsp + 0x78]
mov r11d, dword [rsp + 0xa8]
mov rbp, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x3f0]
mov r12, qword [rsp + 0x80]
mov rax, qword [r12 + 0x48]
xor r8d, r8d
mov ecx, 1
test ebx, ebx
mov word [r12 + 0x3c], cx
mov qword [rax], rbp
mov dword [r12 + 0x38], 0x2000
mov word [r12 + 0x12], r8w
mov byte [r12 + 0x11], 0
mov qword [r12 + 0x18], 0
mov qword [r12 + 0x20], 0
mov qword [r12 + 0x28], 0
mov qword [r12 + 0x30], 0
jne 0x1402a291c
movzx r13d, word [rsp + 0xf0]
mov rbx, r12
mov r15, r10
mov dword [rsp + 0x28], r11d
mov r12, r10
shl r13, 4
add r13, r10
jmp 0x1402a2876
movzx eax, word [r15 + 0x10]
mov rcx, rsi
add r15, 0x10
lea edx, [rax + 1]
movzx eax, word [r15 + 2]
movzx edx, dx
shl eax, 0x10
or eax, edx
mov rdx, rbx
mov dword [rbx + 0x14], eax
mov rax, qword [r15 - 8]
mov qword [rbx], rax
call sym.whereLoopInsert
test eax, eax
jne 0x1402a22ca
cmp r13, r15
jne 0x1402a2840
mov r10, r12
mov r11d, dword [rsp + 0x28]
mov r12, rbx
jmp 0x1402a22bf
xor r13d, r13d
mov r10, r12
mov rdi, qword [rsp + 0x78]
mov r11d, dword [rsp + 0xa8]
mov word [rsp + 0xf0], r13w
mov rbp, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x3f0]
mov r12, qword [rsp + 0x80]
jmp 0x1402a27c8
mov eax, 1
xor edx, edx
mov word [r12 + 0x3c], ax
mov rax, qword [r12 + 0x48]
mov qword [rax], rbp
mov dword [r12 + 0x38], 0x2000
mov word [r12 + 0x12], dx
mov byte [r12 + 0x11], 0
mov qword [r12 + 0x18], 0
mov qword [r12 + 0x20], 0
mov qword [r12 + 0x28], 0
mov qword [r12 + 0x30], 0
jmp 0x1402a281f
mov eax, ebx
jmp 0x1402a22ca