Function at 0x4277f0
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, 0xe8
test rdx, rdx
mov rsi, rcx
mov rbx, rdx
mov r14d, r8d
mov r13d, r9d
je 0x427d85
mov rax, qword [0x005026a0]
mov edx, dword [rdx]
mov rcx, qword [rax]
call fcn.0044cba0
lea rcx, [rsp + 0x80]
mov rdi, rax
mov edx, eax
mov r8d, 1
mov r15, rax
shr rdi, 0x20
call fcn.00431c80
lea rcx, [rsp + 0xa0]
mov r8d, 2
mov edx, edi
mov ebp, dword [rsp + 0x88]
call fcn.00431c80
mov edx, dword [rbx]
lea rcx, [rsp + 0xc0]
xor r8d, r8d
mov r12d, dword [rsp + 0xa8]
call fcn.00431c80
mov rax, qword [rsp + 0x80]
cmp rax, qword [rsi + 0x18]
je 0x4278a2
xor eax, eax
add rsp, 0xe8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp rax, qword [rsp + 0xa0]
jne 0x42788c
mov r8d, dword [rbx + 4]
mov edx, dword [rsp + 0xc8]
test r8d, r8d
mov dword [rsp + 0x34], edx
jne 0x4278f0
cmp rax, qword [rsp + 0xc0]
jne 0x42788c
mov rax, qword [rsi + 0x80]
test rax, rax
je 0x4278f0
mov ecx, dword [rax + 4]
test ecx, ecx
je 0x4278f0
mov edx, dword [rsi + 0x10]
mov ecx, dword [rbx]
call fcn.004273c0
test al, al
je 0x42788c
mov r8d, dword [rbx + 4]
nop
mov rax, qword [rbx + 8]
mov rdx, qword [rsp + 0x88]
mov dword [rsp + 0x38], r8d
mov qword [rsp + 0x50], rax
mov eax, dword [rsp + 0x8c]
mov qword [rsp + 0x68], rdx
mov rdx, qword [rsp + 0x98]
mov dword [rsp + 0x3c], eax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0x60]
mov rcx, rax
mov qword [rsp + 0x28], rax
call fcn.00431dc0
mov edx, dword [rsp + 0xac]
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x28]
mov dword [rsp + 0x44], edx
mov rdx, qword [rsp + 0xa8]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x68], rdx
mov rdx, qword [rsp + 0xb8]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rdx
call fcn.00431dc0
mov edx, dword [rsp + 0xcc]
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x28]
mov dword [rsp + 0x4c], edx
mov rdx, qword [rsp + 0xc8]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x68], rdx
mov rdx, qword [rsp + 0xd8]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rdx
call fcn.00431dc0
cmp r12d, ebp
mov dword [rsp + 0x28], eax
mov r8d, dword [rsp + 0x38]
jge 0x427ab0
mov rax, qword [rsi + 0x80]
test rax, rax
je 0x427a12
mov edx, dword [rax + 4]
test edx, edx
jne 0x42788c
mov eax, dword [rsp + 0x28]
mov edi, dword [rsp + 0x4c]
mov r10d, dword [rsp + 0x34]
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x44], edi
mov r9d, r10d
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x3c], edi
test r13b, r13b
je 0x427af0
mov rax, qword [rsi + 0x90]
test rax, rax
je 0x42788c
mov edx, dword [rax + 4]
test edx, edx
jle 0x42788c
lea rcx, [rax + 8]
sub edx, 1
lea rdx, [rax + rdx*8 + 0x10]
mov rax, rcx
jmp 0x427a7d
add rax, 8
cmp rdx, rax
je 0x42788c
cmp dword [rax], ebp
ja 0x427a70
cmp dword [rax + 4], ebp
jb 0x427a70
mov rax, rcx
nop dword [rax]
cmp dword [rax], r12d
ja 0x427a9f
cmp dword [rax + 4], r12d
jae 0x427b7b
add rax, 8
cmp rdx, rax
jne 0x427a90
jmp 0x42788c
mov edx, dword [rsi + 0x10]
mov ecx, r15d
mov dword [rsp + 0x38], r8d
call fcn.004273c0
test al, al
mov r8d, dword [rsp + 0x38]
je 0x4279fb
mov edx, dword [rsi + 0x10]
mov ecx, edi
call fcn.004273c0
test al, al
mov r8d, dword [rsp + 0x38]
je 0x4279fb
mov r9d, r12d
mov r10d, ebp
jmp 0x427a32
mov rbx, qword [rsi + 0x80]
test rbx, rbx
je 0x427c58
mov eax, dword [rbx]
mov edi, dword [rbx + 4]
and eax, 0x7fffffff
cmp eax, edi
je 0x427bab
lea eax, [rdi + 1]
mov esi, dword [rsp + 0x3c]
mov dword [rbx + 4], eax
lea rax, [rdi*8]
sub rax, rdi
lea rax, [rbx + rax*8 + 8]
mov dword [rax + 4], esi
mov esi, dword [rsp + 0x40]
mov dword [rax], r10d
mov dword [rax + 0xc], r9d
mov dword [rax + 0x18], r8d
mov dword [rax + 0x28], r14d
mov dword [rax + 8], esi
mov esi, dword [rsp + 0x44]
mov dword [rax + 0x10], esi
mov esi, dword [rsp + 0x48]
mov dword [rax + 0x14], esi
mov esi, dword [rsp + 0x34]
mov dword [rax + 0x1c], esi
mov esi, dword [rsp + 0x4c]
mov dword [rax + 0x20], esi
mov esi, dword [rsp + 0x28]
mov dword [rax + 0x24], esi
mov rsi, qword [rsp + 0x50]
mov qword [rax + 0x30], rsi
mov eax, 1
jmp 0x42788e
mov eax, dword [rbx + 4]
test eax, eax
jne 0x427af0
mov eax, dword [rsp + 0x34]
nop word [rax + rax]
cmp dword [rcx], eax
ja 0x427b9d
cmp dword [rcx + 4], eax
jae 0x427af0
add rcx, 8
cmp rdx, rcx
jne 0x427b90
jmp 0x42788c
cmp byte [rbx + 3], 0
js 0x427d66
lea edx, [rdi + 1]
mov ecx, edi
mov dword [rsp + 0x5c], r9d
mov dword [rsp + 0x58], r10d
mov dword [rsp + 0x38], r8d
call fcn.00421b50
mov rcx, qword [rsi + 0x80]
mov edx, eax
mov r8d, dword [rsp + 0x38]
lea rax, [rdx*8]
mov rbp, rdx
mov r10d, dword [rsp + 0x58]
mov r9d, dword [rsp + 0x5c]
sub rax, rdx
test rcx, rcx
lea rdx, [rax*8 + 8]
je 0x427d7e
mov edi, dword [rcx + 4]
mov dword [rsp + 0x5c], r9d
mov dword [rsp + 0x58], r10d
and ebp, 0x7fffffff
mov dword [rsp + 0x38], r8d
call fcn.0047c14c
mov rbx, rax
mov qword [rsi + 0x80], rax
mov eax, dword [rax]
mov r8d, dword [rsp + 0x38]
mov dword [rbx + 4], edi
mov r10d, dword [rsp + 0x58]
mov r9d, dword [rsp + 0x5c]
and eax, 0x80000000
or ebp, eax
mov dword [rbx], ebp
shr ebp, 0x18
and ebp, 0x7f
mov byte [rbx + 3], bpl
jmp 0x427b12
xor edi, edi
xor ebp, ebp
mov eax, 1
cmp eax, 4
mov edx, 4
mov dword [rsp + 0x5c], r9d
cmovae edx, eax
xor ecx, ecx
mov dword [rsp + 0x58], r10d
mov edx, edx
mov dword [rsp + 0x38], r8d
lea rax, [rdx*8]
mov r12, rdx
sub rax, rdx
lea rdx, [rax*8 + 8]
call fcn.0047c14c
mov r11, rax
mov qword [rsi + 0x80], rax
mov eax, dword [rax]
mov edx, r12d
mov dword [r11 + 4], 0
mov r8d, dword [rsp + 0x38]
and edx, 0x7fffffff
mov r10d, dword [rsp + 0x58]
mov r9d, dword [rsp + 0x5c]
and eax, 0x80000000
or eax, edx
mov dword [r11], eax
shr eax, 0x18
and eax, 0x7f
test bpl, bpl
mov byte [r11 + 3], al
je 0x427d9d
add rbx, 8
test edi, edi
lea rax, [r11 + 8]
je 0x427d5a
lea edx, [rdi - 1]
mov ebp, edi
add rdx, 1
lea rcx, [rdx*8]
sub rcx, rdx
lea rdx, [rax + rcx*8]
nop word [rax + rax]
test rax, rax
je 0x427d4b
mov rsi, qword [rbx]
mov rdi, qword [rbx + 8]
mov qword [rax], rsi
mov qword [rax + 8], rdi
mov rsi, qword [rbx + 0x10]
mov rdi, qword [rbx + 0x18]
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov rsi, qword [rbx + 0x20]
mov rdi, qword [rbx + 0x28]
mov qword [rax + 0x20], rsi
mov qword [rax + 0x28], rdi
mov rcx, qword [rbx + 0x30]
mov qword [rax + 0x30], rcx
add rax, 0x38
add rbx, 0x38
cmp rax, rdx
jne 0x427d10
mov edi, ebp
mov dword [r11 + 4], edi
mov rbx, r11
jmp 0x427b12
mov qword [rsi + 0x80], 0
lea eax, [rdi + 1]
mov ebp, 1
jmp 0x427c61
xor edi, edi
jmp 0x427c08
lea r8, str.maybe_add_location_range
lea rcx, str._workdir_repo_gcc_gnu_gcc_diagnostic_show_locus.c
mov edx, 0x403
call fcn.0049a060
mov rbx, r11
xor edi, edi
jmp 0x427b12