Function at 0x1400456b9
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, 0xa8
movzx r13d, byte [r8]
mov eax, r13d
mov rbx, rcx
mov rsi, rdx
lea rdi, [r8 + 1]
mov rbp, r8
cmp r13b, 0x4c
je 0x1400456ec
cmp r13d, 0x55
jne 0x1400456f7
movzx r13d, byte [rbp + 1]
lea rdx, [rbp + 2]
jmp 0x140045718
mov rdx, rdi
cmp r13d, 0x75
jne 0x140045718
movzx r13d, byte [r8 + 1]
lea rdx, [r8 + 2]
cmp r13d, 0x38
jne 0x140045718
movzx r13d, byte [r8 + 2]
lea rdx, [r8 + 3]
mov r11b, byte [rbx + 0x512]
mov cl, byte [rbx + 0x513]
and r11d, 3
mov byte [rsp + 0x3c], r11b
or r11d, ecx
test cl, cl
setne byte [rsp + 0x4b]
cmp byte [rsp + 0x3c], 0
mov byte [rsp + 0x4a], r11b
setne byte [rsp + 0x4c]
cmp r13d, 0x52
jne 0x140045e81
mov r13d, 0x40
cmp al, 0x4c
je 0x14004578c
mov r13d, 0x42
cmp al, 0x55
je 0x14004578c
cmp al, 0x75
jne 0x140045783
cmp byte [rbp + 1], 0x38
sete r13b
cmovne rdi, rbp
movzx r13d, r13b
lea r13d, [r13 + r13 + 0x41]
inc rdi
jmp 0x14004578c
mov rdi, rbp
mov r13d, 0x3f
mov rax, qword [rbx]
add rdi, 2
mov r10d, dword [rax + 0x38]
shl r10, 4
add r10, qword [rax + 0x30]
cmp qword [r10], rdi
jae 0x1400457aa
add r10, 0x10
jmp 0x14004579f
xor r8d, r8d
lea rax, [rsp + 0x80]
mov r15d, 0xfffffffe
xor r12d, r12d
mov qword [rsp + 0x80], r8
mov qword [rsp + 0x88], r8
mov qword [rsp + 0x90], r8
mov qword [rsp + 0x98], r8
mov qword [rsp + 0x50], rax
cmp qword [rsp + 0x90], 0
jne 0x140045976
cmp qword [r10], rdi
jne 0x140045976
mov edx, dword [r10 + 8]
cmp edx, 0x20
je 0x140045821
cmp edx, 0x5c
je 0x140045821
lea r14, [r10 + 0x10]
cmp edx, 0xa
jne 0x1400458b7
xor ecx, ecx
mov dword [r10 + 8], ecx
jmp 0x140045973
mov r9, rdi
mov r8, rbp
mov rdx, rbx
mov qword [rsp + 0x40], r10
lea r14, [rsp + 0x80]
sub r9, rbp
mov rcx, r14
call fcn.14004427a
mov rcx, r14
mov rdx, rbx
call fcn.140044304
mov rcx, r14
mov r9d, 1
mov rdx, rbx
lea r8, [0x14014725a]
call fcn.14004427a
mov r14, qword [rsp + 0x40]
cmp dword [r14 + 8], 0x20
jne 0x14004588e
mov r9d, 1
lea rcx, [rsp + 0x80]
lea r8, [0x14014725c]
mov rdx, rbx
call fcn.14004427a
mov r9d, 1
mov rdx, rbx
add r14, 0x10
mov rbp, rdi
lea rcx, [rsp + 0x80]
lea r8, [0x14014725e]
call fcn.14004427a
jmp 0x140045973
mov byte [rsp + 0x6e], dl
xor edx, edx
mov dword [r10 + 8], edx
cmp byte [rbx + 0x4b9], 0
je 0x140045973
mov r9, rdi
mov r8, rbp
mov rdx, rbx
mov qword [rsp + 0x58], r10
lea rax, [rsp + 0x80]
sub r9, rbp
mov rcx, rax
mov qword [rsp + 0x40], rax
call fcn.14004427a
mov rcx, qword [rsp + 0x40]
mov rdx, rbx
call fcn.140044304
mov rcx, qword [rsp + 0x40]
mov r9d, 2
mov rdx, rbx
lea r8, [0x140147260]
call fcn.14004427a
mov rcx, qword [rsp + 0x40]
lea r8, [rsp + 0x6e]
mov rdx, rbx
mov r9d, 1
call fcn.14004427a
cmp byte [rsp + 0x6e], 0x2f
mov r10, qword [rsp + 0x58]
jne 0x14004596c
cmp rdi, qword [r10 + 0x10]
jne 0x14004596c
mov edx, dword [r10 + 0x18]
cmp edx, 0x5c
je 0x14004586a
cmp edx, 0x20
je 0x14004586a
lea r8, str.lex_raw_string
mov edx, 0xa36
jmp 0x140045cdb
lea rbp, [rdi + 1]
mov rdi, rbp
mov r10, r14
mov r11, qword [rsp + 0x90]
test r11, r11
je 0x1400459ad
mov rcx, qword [rsp + 0x88]
lea rdx, [r11 + 1]
movsx r14d, byte [r11]
mov qword [rsp + 0x90], rdx
cmp rdx, qword [rcx + 0x10]
jne 0x1400459b4
xor eax, eax
mov qword [rsp + 0x90], rax
jmp 0x1400459b4
movsx r14d, byte [rdi]
inc rdi
cmp r15d, 0xfffffffe
jne 0x140045af6
cmp r14b, 0x28
jne 0x1400459d8
mov byte [rsp + r12 + 0x6f], 0x22
lea edx, [r12 + 1]
or r15d, 0xffffffff
jmp 0x1400460b0
cmp r12d, 0xf
ja 0x140045a21
cmp r14b, 0x3f
jg 0x140045a08
cmp r14b, 0x20
jle 0x140045a21
mov edx, 0x7ffffe77
shl rdx, 0x21
bt rdx, r14
jae 0x140045a21
mov byte [rsp + r12 + 0x6f], r14b
lea edx, [r12 + 1]
jmp 0x1400460b0
lea edx, [r14 - 0x41]
cmp dl, 0x3d
ja 0x140045a21
movabs rcx, 0x3fffffff77ffffff
bt rcx, rdx
jmp 0x1400459f7
mov rax, qword [rbx]
mov r9, rdi
mov r8d, dword [rsi]
sub r9, qword [rax + 8]
cmp r11, 1
sbb r9d, 0xffffffff
cmp r12d, 0x10
jne 0x140045a85
lea rax, str.raw_string_delimiter_longer_than_16_characters
mov edx, 3
mov rcx, rbx
mov qword [rsp + 0x58], r10
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x40], r11
call fcn.14003c1fb
cmp r14b, 0xa
mov r11, qword [rsp + 0x40]
mov r10, qword [rsp + 0x58]
je 0x1400460a2
or r15d, 0xffffffff
xor r12d, r12d
mov r13d, 0x3e
jmp 0x1400457e3
cmp r14b, 0xa
jne 0x140045abd
lea rax, str.invalid_new_line_in_raw_string_delimiter
mov edx, 3
mov rcx, rbx
mov qword [rsp + 0x58], r10
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x40], r11
call fcn.14003c1fb
mov r11, qword [rsp + 0x40]
mov r10, qword [rsp + 0x58]
jmp 0x1400460a2
lea rax, str.invalid_character__c_in_raw_string_delimiter
mov dword [rsp + 0x28], r14d
mov edx, 3
mov rcx, rbx
mov qword [rsp + 0x20], rax
or r15d, 0xffffffff
mov r13d, 0x3e
mov qword [rsp + 0x40], r10
call fcn.14003c1fb
mov r10, qword [rsp + 0x40]
xor edx, edx
jmp 0x1400460b0
cmp r15d, 0xffffffff
je 0x140045b1d
movsxd rdx, r15d
movzx ecx, byte [rsp + rdx + 0x6f]
movsx edx, r14b
cmp ecx, edx
jne 0x140045b1d
inc r15d
cmp r12d, r15d
je 0x140045d63
jmp 0x1400457e3
test r12d, r12d
jne 0x140045b31
cmp r14b, 0x22
je 0x140045df5
test r12d, r12d
je 0x140045b3e
xor r15d, r15d
cmp r14b, 0x29
je 0x1400457e3
test r11, r11
jne 0x140045d20
cmp r14b, 0xa
jne 0x140045d20
mov rax, qword [rbx]
dec rdi
mov qword [rax], rdi
cmp byte [rbx + 0x10], 0
jne 0x140045b66
cmp byte [rbx + 0x19], 0
je 0x140045b9a
mov rcx, qword [rax + 0x20]
cmp qword [rax + 0x10], rcx
jb 0x140045b9a
lea rax, str.unterminated_raw_string
xor r9d, r9d
mov edx, 3
mov rcx, rbx
mov qword [rsp + 0x20], rax
mov r8d, dword [rsi]
mov r13d, 0x3e
call fcn.14003c1fb
jmp 0x140045df5
mov rcx, qword [rsp + 0x50]
sub rdi, rbp
mov r8, rbp
mov rdx, rbx
lea r9, [rdi + 1]
call fcn.14004427a
xor edx, edx
mov rcx, rbx
call fcn.1400433e4
mov rax, qword [rbx]
mov rdi, qword [rax + 0x20]
cmp qword [rax + 0x10], rdi
jae 0x140045bed
mov rdi, qword [rbx + 0x28]
mov rcx, rdi
call fcn.14007ae30
mov edx, dword [rdi + 0x3c]
mov rcx, rax
call fcn.14007aba0
xor r8d, r8d
mov rcx, rdi
lea edx, [rax + 1]
call fcn.1400485e3
mov rax, qword [rbx]
or byte [rax + 0x68], 1
mov rax, qword [rbx]
mov cl, byte [rax + 0x68]
test cl, 1
je 0x140045d02
mov r8, qword [rax + 0x10]
mov rdx, qword [rax + 0x20]
cmp r8, rdx
jae 0x140045c1d
mov rcx, rbx
call fcn.1400430f3
jmp 0x140045d02
cmp byte [rbx + 0x10], 0
jne 0x140045c78
cmp byte [rbx + 0x19], 0
jne 0x140045c78
cmp qword [rax + 0x18], rdx
je 0x140045c3d
cmp rdx, r8
jae 0x140045c3d
test cl, 4
jne 0x140045c3d
mov qword [rax + 0x10], rdx
cmp qword [rax + 0x48], 0
je 0x140045c53
and cl, 8
jne 0x140045c53
mov rcx, rbx
call fcn.14003b58b
jmp 0x140045bf4
mov rdi, qword [rbx + 0x28]
mov rcx, rdi
call fcn.14007ae30
mov edx, dword [rdi + 0x3c]
mov rcx, rax
call fcn.14007aba0
xor r8d, r8d
mov rcx, rdi
lea edx, [rax + 1]
call fcn.1400485e3
mov rax, qword [rbx + 0x28]
mov rdx, qword [rsp + 0x80]
mov byte [rsi + 4], 0x16
mov r8d, dword [rsi]
mov eax, dword [rax + 0x3c]
mov word [rsi + 8], 0x1000
mov dword [rsi], eax
test rdx, rdx
je 0x140045cad
mov rcx, rbx
mov dword [rsp + 0x3c], r8d
call fcn.14004419a
mov r8d, dword [rsp + 0x3c]
lea rax, str.unterminated_raw_string
xor r9d, r9d
mov edx, 3
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.14003c1fb
cmp byte [rbx + 0x10], 0
je 0x140045ce7
lea r8, str.lex_raw_string
mov edx, 0xab5
lea rcx, str._gcc_13.2.0_libcpp_lex.cc
call fcn.140085ed0
mov rcx, rbx
add rsp, 0xa8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp fcn.14003b58b
mov rax, qword [rbx]
mov rbp, qword [rax]
mov r10d, dword [rax + 0x38]
mov rdi, rbp
shl r10, 4
add r10, qword [rax + 0x30]
or r15d, 0xffffffff
jmp 0x1400457e3
cmp byte [rsp + 0x4a], 0
je 0x140045d17
test r14b, r14b
jns 0x140045d17
movzx eax, byte [rsp + 0x4b]
mov r9d, dword [rsp + 0x4c]
mov r8, rdi
mov rcx, rbx
movzx edx, r14b
mov qword [rsp + 0x40], r10
or r15d, 0xffffffff
mov dword [rsp + 0x20], eax
and r9d, 1
call fcn.140045482
mov r10, qword [rsp + 0x40]
mov rdi, rax
jmp 0x1400457e3
cmp byte [rsp + 0x3c], 0
je 0x140045d75
mov rdx, rdi
mov rcx, rbx
call fcn.14004519c
cmp byte [rbx + 0x4dd], 0
je 0x140045df5
cmp byte [rdi], 0x5f
jne 0x140045d89
cmp byte [rdi + 1], 0x5f
jne 0x140045dc8
mov rdx, rdi
mov rcx, rbx
call fcn.140042d34
test al, al
je 0x140045dc8
cmp byte [rbx + 0x4de], 0
je 0x140045df5
cmp byte [rbx + 0x12], 0
jne 0x140045df5
lea rax, str.invalid_suffix_on_literal__C11_requires_a_space_between_literal_and_string_macro
xor r9d, r9d
mov edx, 0x13
mov rcx, rbx
mov qword [rsp + 0x20], rax
mov r8d, dword [rsi]
call fcn.14003c238
jmp 0x140045df5
mov r12, qword [0x14014f310]
movzx eax, byte [rdi]
test byte [r12 + rax*2 + 1], 2
je 0x140045df5
mov ecx, r13d
call fcn.14003d1a0
mov r13d, eax
movzx eax, byte [rdi + 1]
inc rdi
test word [r12 + rax*2], 0x204
jne 0x140045de5
mov rax, qword [rbx]
mov r14, qword [rsp + 0x98]
mov qword [rax], rdi
sub rdi, rbp
mov r12, rdi
test r14, r14
jne 0x140045e1d
mov byte [rsi + 4], r13b
mov r8d, edi
mov dword [rsi + 0x10], edi
jmp 0x14004608e
lea rdx, [r14 + rdi + 1]
mov rcx, rbx
add r14d, edi
call fcn.1400443a4
mov rdx, qword [rsp + 0x80]
mov byte [rsi + 4], r13b
mov dword [rsi + 0x10], r14d
mov r9, rax
mov qword [rsi + 0x18], rax
mov rax, rdx
test rax, rax
je 0x140045e64
mov rsi, qword [rax + 8]
mov rcx, qword [rax + 0x10]
mov rdi, r9
sub rcx, rsi
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rax]
mov r9, rdi
jmp 0x140045e47
mov rcx, rbx
mov rdi, r9
mov rsi, rbp
call fcn.14004419a
mov rcx, r12
rep movsb byte [rdi], byte [rsi]
mov byte [r9 + r12], 0
jmp 0x1400461a6
cmp r13d, 0x22
jne 0x140045eb7
mov r12d, 0x40
cmp al, 0x4c
je 0x140045ef9
mov r12d, 0x42
cmp al, 0x55
je 0x140045ef9
mov r12d, 0x3f
cmp al, 0x75
jne 0x140045ef9
xor r12d, r12d
cmp byte [rbp + 1], 0x38
sete r12b
lea r12d, [r12 + r12 + 0x41]
jmp 0x140045ef9
cmp r13d, 0x27
jne 0x140045eed
mov r12d, 0x3a
cmp al, 0x4c
je 0x140045ef9
mov r12d, 0x3c
cmp al, 0x55
je 0x140045ef9
mov r12d, 0x39
cmp al, 0x75
jne 0x140045ef9
xor r12d, r12d
cmp byte [rbp + 1], 0x38
sete r12b
lea r12d, [r12 + r12 + 0x3b]
jmp 0x140045ef9
mov r12d, 0x45
mov r13d, 0x3e
xor r14d, r14d
movzx eax, byte [rdx]
lea rdi, [rdx + 1]
cmp eax, 0x5c
jne 0x140045fa2
cmp byte [rbx + 0x13], 0
je 0x140045f17
mov rdx, rdi
jmp 0x140045efc
mov cl, byte [rdx + 1]
cmp cl, 0xa
je 0x140045fdf
lea eax, [rcx - 0x4e]
lea rdi, [rdx + 2]
cmp al, 0x27
ja 0x140045f12
movabs r8, 0x8000000081
bt r8, rax
jae 0x140045f12
cmp byte [rsp + 0x3c], 0
je 0x140045f12
cmp cl, 0x4e
jne 0x140045f67
xor eax, eax
cmp byte [rdx + 2], 0x7b
jne 0x140045f85
lea r8, [rsp + 0x80]
mov rdx, rdi
mov rcx, rbx
call fcn.140042e15
jmp 0x140045f85
cmp cl, 0x55
lea r9, [rsp + 0x80]
mov rdx, rdi
mov rcx, rbx
sete r8b
movzx r8d, r8b
call fcn.140042ba2
mov r9d, dword [rsp + 0x80]
mov r8d, 1
mov edx, eax
mov rcx, rbx
call fcn.14004535c
jmp 0x140045f12
cmp r13d, eax
jne 0x140045fbf
cmp byte [rsp + 0x3c], 0
je 0x140046198
mov rcx, rbx
call fcn.14004519c
jmp 0x140046198
cmp eax, 0xa
jne 0x140045fd3
cmp r13d, 0x3e
jne 0x14004601a
mov byte [rsi + 4], 3
jmp 0x1400461a6
test eax, eax
jne 0x140045fdf
mov r14b, 1
jmp 0x140045f12
cmp byte [rsp + 0x4a], 0
je 0x140045f12
cmp eax, 0x7f
jbe 0x140045f12
movzx edx, byte [rsp + 0x4b]
mov r9d, dword [rsp + 0x4c]
mov r8, rdi
mov rcx, rbx
mov dword [rsp + 0x20], edx
and r9d, 1
mov edx, eax
call fcn.140045482
mov rdi, rax
jmp 0x140045f12
mov rdi, rdx
test r14b, r14b
je 0x1400460b8
mov r12d, 0x3e
cmp byte [rbx + 0x12], 0
jne 0x140046043
lea r8, str.null_character_s__preserved_in_literal
xor edx, edx
mov rcx, rbx
call fcn.14003c0da
cmp r12d, 0x3e
je 0x1400460b8
cmp byte [rbx + 0x4dd], 0
je 0x14004614a
cmp byte [rdi], 0x5f
je 0x1400460e2
mov rdx, rdi
mov rcx, rbx
call fcn.140042d34
test al, al
je 0x14004610c
cmp byte [rbx + 0x4de], 0
jne 0x1400460ed
mov rax, qword [rbx]
mov qword [rax], rdi
sub rdi, rbp
mov byte [rsi + 4], r12b
mov r8, rdi
mov dword [rsi + 0x10], edi
mov rdx, rbp
mov rcx, rbx
call fcn.1400443ef
mov qword [rsi + 0x18], rax
jmp 0x1400461a6
xor r12d, r12d
mov r13d, 0x3e
jmp 0x140045b3e
mov r12d, edx
jmp 0x1400457e3
cmp dword [rbx + 0x4b0], 0x17
jne 0x1400460c9
mov r12d, 0x3e
jmp 0x140046049
mov r9d, r13d
lea r8, str.missing_terminating__c_character
mov edx, 2
mov rcx, rbx
call fcn.14003c0da
jmp 0x1400460c1
cmp byte [rdi + 1], 0x5f
jne 0x14004610c
jmp 0x14004605f
cmp byte [rbx + 0x12], 0
jne 0x14004607b
lea rax, str.invalid_suffix_on_literal__C11_requires_a_space_between_literal_and_string_macro
xor r9d, r9d
mov edx, 0x13
mov qword [rsp + 0x20], rax
mov r8d, dword [rsi]
jmp 0x14004618b
mov r13, qword [0x14014f310]
movzx eax, byte [rdi]
test byte [r13 + rax*2 + 1], 2
je 0x14004607b
mov ecx, r12d
call fcn.14003d1bc
mov ecx, eax
call fcn.14003d1a0
mov r12d, eax
movzx eax, byte [rdi + 1]
inc rdi
test word [r13 + rax*2], 0x204
jne 0x140046134
jmp 0x14004607b
cmp byte [rbx + 0x510], 0
je 0x14004607b
mov rdx, rdi
mov rcx, rbx
call fcn.140042d34
test al, al
je 0x14004607b
cmp byte [rbx + 0x12], 0
jne 0x14004607b
lea rax, str.C11_requires_a_space_between_string_literal_and_macro
xor r9d, r9d
mov edx, 0x19
mov qword [rsp + 0x20], rax
mov r8d, dword [rsi]
mov rcx, rbx
call fcn.14003c238
jmp 0x14004607b
test r14b, r14b
je 0x140046049
jmp 0x14004602c
add rsp, 0xa8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret