Function at 0x140020100
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, 0xf8
mov dword [rsp + 0x150], r8d
mov rsi, rcx
mov rdi, rdx
mov dword [rsp + 0x2c], r9d
test rdx, rdx
je sym._anonymous_namespace_::layout::maybe_add_location_range_location_range_const__unsigned_int__bool___clone_cold_
mov rax, qword [0x1400ff5b0]
mov edx, dword [rdx]
mov rcx, qword [rax]
call sym.get_range_from_loc_line_maps__unsigned_int_
lea rcx, [rsp + 0x70]
mov r8d, 1
mov rbx, rax
mov edx, eax
mov ebp, eax
call sym.linemap_client_expand_location_to_spelling_point_unsigned_int__location_aspect_
shr rbx, 0x20
mov r8d, 2
lea rcx, [rsp + 0x90]
mov edx, ebx
mov r15, qword [rsp + 0x70]
mov r12d, dword [rsp + 0x78]
mov r13d, dword [rsp + 0x7c]
call sym.linemap_client_expand_location_to_spelling_point_unsigned_int__location_aspect_
mov eax, dword [rsp + 0x98]
mov edx, dword [rdi]
xor r8d, r8d
lea rcx, [rsp + 0xb0]
mov r14, qword [rsp + 0x90]
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x9c]
mov dword [rsp + 0x28], eax
call sym.linemap_client_expand_location_to_spelling_point_unsigned_int__location_aspect_
mov rax, qword [rsi + 0x30]
mov rdx, qword [rsp + 0xb0]
mov r9d, dword [rsp + 0xb8]
mov r8d, dword [rsp + 0xbc]
cmp rax, r15
je 0x1400201f0
xor eax, eax
add rsp, 0xf8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp rax, r14
jne 0x1400201d0
mov r11d, dword [rdi + 4]
test r11d, r11d
je 0x1400205d0
mov rax, qword [rdi + 8]
lea r15, [rsi + 0x10]
lea r14, [rsp + 0x50]
movdqa xmm1, xmmword [rsp + 0xb0]
movdqa xmm2, xmmword [rsp + 0xc0]
mov rdx, r15
mov rcx, r14
mov dword [rsp + 0x38], r8d
mov dword [rsp + 0x34], r9d
mov qword [rsp + 0x40], rax
movaps xmmword [rsp + 0x50], xmm1
movaps xmmword [rsp + 0x60], xmm2
call sym.location_compute_display_column_expanded_location__cpp_char_column_policy_const_
mov r8d, dword [rsp + 0x38]
mov r9d, dword [rsp + 0x34]
mov dword [rsp + 0x30], eax
test r8d, r8d
jle 0x1400202d2
movdqa xmm1, xmmword [rsp + 0xb0]
mov rdx, qword [rsp + 0xc8]
lea ecx, [r8 - 1]
mov dword [rsp + 0x38], r9d
mov rax, qword [rsp + 0xc0]
mov dword [rsp + 0x34], r8d
movaps xmmword [rsp + 0xd0], xmm1
mov dword [rsp + 0xdc], ecx
mov rcx, r14
movdqa xmm2, xmmword [rsp + 0xd0]
mov qword [rsp + 0xe8], rdx
mov qword [rsp + 0x68], rdx
mov rdx, r15
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0x60], rax
movaps xmmword [rsp + 0x50], xmm2
call sym.location_compute_display_column_expanded_location__cpp_char_column_policy_const_
mov r9d, dword [rsp + 0x38]
mov r8d, dword [rsp + 0x34]
add eax, 1
mov dword [rsp + 0x30], eax
mov eax, dword [rdi + 4]
mov rdx, r15
mov rcx, r14
mov dword [rsp + 0x3c], r8d
movdqa xmm3, xmmword [rsp + 0x90]
mov dword [rsp + 0x38], r9d
movdqa xmm4, xmmword [rsp + 0xa0]
mov dword [rsp + 0x48], eax
movaps xmmword [rsp + 0x50], xmm3
movaps xmmword [rsp + 0x60], xmm4
call sym.location_compute_display_column_expanded_location__cpp_char_column_policy_const_
movdqa xmm5, xmmword [rsp + 0x70]
mov rdx, r15
mov rcx, r14
movdqa xmm0, xmmword [rsp + 0x80]
mov dword [rsp + 0x34], eax
movaps xmmword [rsp + 0x50], xmm5
movaps xmmword [rsp + 0x60], xmm0
call sym.location_compute_display_column_expanded_location__cpp_char_column_policy_const_
test r13d, r13d
mov r9d, dword [rsp + 0x38]
mov r8d, dword [rsp + 0x3c]
mov r11d, eax
jle 0x1400203ae
movdqa xmm1, xmmword [rsp + 0x70]
mov rdx, qword [rsp + 0x88]
lea ecx, [r13 - 1]
mov rax, qword [rsp + 0x80]
movaps xmmword [rsp + 0xd0], xmm1
mov dword [rsp + 0xdc], ecx
mov rcx, r14
movdqa xmm2, xmmword [rsp + 0xd0]
mov qword [rsp + 0xe8], rdx
mov qword [rsp + 0x68], rdx
mov rdx, r15
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0x60], rax
movaps xmmword [rsp + 0x50], xmm2
call sym.location_compute_display_column_expanded_location__cpp_char_column_policy_const_
mov r8d, dword [rsp + 0x3c]
mov r9d, dword [rsp + 0x38]
lea r11d, [rax + 1]
mov eax, dword [rsp + 0x24]
cmp r12d, eax
jle 0x140020698
mov rax, qword [rsi + 0x98]
test rax, rax
je 0x140020700
mov ecx, dword [rax + 4]
test ecx, ecx
jne 0x1400201d0
cmp byte [rsp + 0x2c], 0
je 0x140020648
mov r11d, dword [rsp + 0x30]
mov dword [rsp + 0x28], r8d
mov r13d, r8d
mov r14d, r9d
mov r15d, r9d
mov dword [rsp + 0x34], r11d
mov rdx, qword [rsi + 0xa8]
test rdx, rdx
je 0x1400201d0
mov ecx, dword [rdx + 4]
xor eax, eax
cmp ecx, eax
jle 0x1400201d0
cmp r12d, dword [rdx + rax*8 + 8]
jb 0x140020670
cmp dword [rdx + rax*8 + 0xc], r12d
jb 0x140020670
lea rax, [rdx + 8]
sub ecx, 1
mov r10d, dword [rsp + 0x24]
lea rcx, [rdx + rcx*8 + 0x10]
mov rdx, rax
cmp r10d, dword [rdx]
jb 0x140020680
cmp dword [rdx + 4], r10d
jb 0x140020680
mov edx, dword [rdi + 4]
test edx, edx
je 0x140020628
mov rdi, qword [rsi + 0x98]
test rdi, rdi
je 0x1400207a3
mov eax, dword [rdi]
mov ebp, dword [rdi + 4]
and eax, 0x7fffffff
lea ebx, [rbp + 1]
cmp eax, ebp
jne 0x140020550
cmp byte [rdi + 3], 0
mov dword [rsp + 0x38], r8d
mov dword [rsp + 0x2c], r9d
mov dword [rsp + 0x24], r11d
jns 0x140020720
mov r12d, 4
mov qword [rsi + 0x98], 0
cmp ebx, r12d
cmovae r12d, ebx
xor ecx, ecx
mov edx, r12d
and r12d, 0x7fffffff
lea rax, [rdx*8]
sub rax, rdx
lea rdx, [rax*8 + 8]
call sym.xrealloc
test ebp, ebp
mov r11d, dword [rsp + 0x24]
mov r9d, dword [rsp + 0x2c]
mov qword [rsi + 0x98], rax
mov esi, r12d
mov r8d, dword [rsp + 0x38]
mov qword [rax], rsi
je 0x14002054a
lea ecx, [rbp - 1]
lea rdx, [rcx*8]
sub rdx, rcx
lea rcx, [rdx*8 + 0x40]
mov edx, 8
nop dword [rax + rax]
movdqu xmm3, xmmword [rdi + rdx]
movups xmmword [rax + rdx], xmm3
movdqu xmm4, xmmword [rdi + rdx + 0x10]
movups xmmword [rax + rdx + 0x10], xmm4
movdqu xmm5, xmmword [rdi + rdx + 0x20]
movups xmmword [rax + rdx + 0x20], xmm5
mov r10, qword [rdi + rdx + 0x30]
mov qword [rax + rdx + 0x30], r10
add rdx, 0x38
cmp rdx, rcx
jne 0x140020518
mov dword [rax + 4], ebp
mov rdi, rax
lea rax, [rbp*8]
mov esi, dword [rsp + 0x28]
movd xmm0, dword [rsp + 0x48]
mov dword [rdi + 4], ebx
sub rax, rbp
movd xmm3, r9d
movd xmm4, dword [rsp + 0x30]
shl rax, 3
punpckldq xmm0, xmm3
lea rdx, [rdi + rax + 8]
add rax, rdi
mov dword [rdx + 0x10], esi
mov esi, dword [rsp + 0x34]
movq qword [rdx + 0x18], xmm0
movd xmm0, r8d
mov dword [rdx + 0x14], esi
mov esi, dword [rsp + 0x150]
punpckldq xmm0, xmm4
mov dword [rdx], r14d
mov dword [rdx + 4], r13d
mov dword [rdx + 8], r11d
mov dword [rdx + 0xc], r15d
movq qword [rdx + 0x20], xmm0
mov dword [rax + 0x30], esi
mov rsi, qword [rsp + 0x40]
mov qword [rax + 0x38], rsi
mov eax, 1
jmp 0x1400201d2
cmp rax, rdx
jne 0x1400201d0
mov rax, qword [rsi + 0x98]
test rax, rax
je 0x140020202
mov r10d, dword [rax + 4]
test r10d, r10d
je 0x140020202
mov edx, dword [rsi + 0x28]
mov ecx, dword [rdi]
mov dword [rsp + 0x34], r8d
mov dword [rsp + 0x30], r9d
call sym._anonymous_namespace_::compatible_locations_p_unsigned_int__unsigned_int_
mov r9d, dword [rsp + 0x30]
mov r8d, dword [rsp + 0x34]
test al, al
jne 0x140020202
jmp 0x1400201d0
cmp r9d, dword [rax]
jb 0x140020637
cmp dword [rax + 4], r9d
jae 0x14002045e
add rax, 8
cmp rcx, rax
jne 0x140020628
jmp 0x1400201d0
mov r11d, dword [rsp + 0x30]
mov dword [rsp + 0x28], r8d
mov rdi, rax
mov r13d, r8d
mov r14d, r9d
mov r15d, r9d
mov dword [rsp + 0x34], r11d
jmp 0x14002046e
add rax, 1
jmp 0x14002040e
add rdx, 8
cmp rdx, rcx
jne 0x140020440
jmp 0x1400201d0
mov edx, dword [rsi + 0x28]
mov ecx, ebp
mov dword [rsp + 0x4c], r8d
mov dword [rsp + 0x3c], r9d
mov dword [rsp + 0x38], r11d
call sym._anonymous_namespace_::compatible_locations_p_unsigned_int__unsigned_int_
mov r9d, dword [rsp + 0x3c]
mov r8d, dword [rsp + 0x4c]
test al, al
je 0x1400203bb
mov edx, dword [rsi + 0x28]
mov ecx, ebx
call sym._anonymous_namespace_::compatible_locations_p_unsigned_int__unsigned_int_
mov r11d, dword [rsp + 0x38]
mov r9d, dword [rsp + 0x3c]
test al, al
mov r8d, dword [rsp + 0x4c]
je 0x1400203bb
mov r15d, dword [rsp + 0x24]
mov r14d, r12d
nop dword [rax]
cmp byte [rsp + 0x2c], 0
jne 0x1400203f9
jmp 0x14002045e
mov r11d, dword [rsp + 0x30]
mov dword [rsp + 0x28], r8d
mov r15d, r9d
mov r13d, r8d
mov r14d, r9d
mov dword [rsp + 0x34], r11d
jmp 0x1400206f0
mov edx, ebx
mov ecx, ebp
call method.vec_prefix.calculate_allocation_1_unsigned_int__unsigned_int_
mov r11d, dword [rsp + 0x24]
mov r9d, dword [rsp + 0x2c]
mov edx, eax
mov rcx, qword [rsi + 0x98]
mov r8d, dword [rsp + 0x38]
lea rax, [rdx*8]
mov rbx, rdx
sub rax, rdx
test rcx, rcx
lea rdx, [rax*8 + 8]
je 0x1400207ea
mov ebp, dword [rcx + 4]
and ebx, 0x7fffffff
mov dword [rsp + 0x38], r8d
mov dword [rsp + 0x2c], r9d
mov dword [rsp + 0x24], r11d
call sym.xrealloc
mov r11d, dword [rsp + 0x24]
mov r9d, dword [rsp + 0x2c]
mov qword [rsi + 0x98], rax
mov r8d, dword [rsp + 0x38]
mov rdi, rax
mov dword [rax], ebx
lea ebx, [rbp + 1]
mov dword [rax + 4], ebp
jmp 0x140020550
mov edx, 0xe8
xor ecx, ecx
mov dword [rsp + 0x38], r8d
xor ebp, ebp
mov dword [rsp + 0x2c], r9d
mov ebx, 1
mov dword [rsp + 0x24], r11d
call sym.xrealloc
mov r11d, dword [rsp + 0x24]
mov r9d, dword [rsp + 0x2c]
mov qword [rsi + 0x98], rax
mov r8d, dword [rsp + 0x38]
mov rdi, rax
mov qword [rax], 4
jmp 0x140020550
and ebx, 0x7fffffff
xor ebp, ebp
jmp 0x140020769