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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x148
mov r15, r9
mov r14, r8
mov rsi, rdx
mov rbp, rcx
mov r13, qword [rsp + 0x1b8]
mov r12b, byte [rsp + 0x1b0]
lea rdi, [rsp + 0x80]
mov rcx, rdi
mov rdx, r8
mov r8, r9
call fcn.1400a01f8
mov ebx, dword [rdi]
mov rdx, qword [rdi + 8]
mov r8, qword [rdi + 0x10]
cmp ebx, 0x5c
je 0x14009cf7c
cmp ebx, 0x2f
jne 0x14009d04c
mov qword [rsp + 0xe0], r15
mov qword [rsp + 0x118], r14
mov rdi, qword [rsi + 0x30]
cmp ebx, 0x5c
jne 0x14009cfb2
test rdi, rdi
je 0x14009cfb2
mov r15, r8
mov rax, qword [rsi + 0x38]
mov rcx, rdi
mov r14, rdx
xor edx, edx
call qword [rax + 0x28]
mov r8, r15
mov rdx, r14
lea r15, [rsp + 0x80]
mov rcx, r15
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0xe8], r8
call fcn.1400a01f8
mov eax, dword [r15]
mov r14, qword [r15 + 8]
mov r15, qword [r15 + 0x10]
cmp eax, 0x2f
je 0x14009cfe8
cmp eax, 0x5c
jne 0x14009d09e
cmp eax, 0x5c
jne 0x14009cffe
test rdi, rdi
je 0x14009cffe
mov rax, qword [rsi + 0x38]
mov rcx, rdi
xor edx, edx
call qword [rax + 0x28]
lea rdx, [0x140103140]
mov r8d, 7
mov rcx, rsi
call fcn.14009b698
lea rdi, [rsp + 0x80]
mov rcx, rdi
mov rdx, r14
mov r8, r15
call fcn.1400a098a
mov r14, qword [rdi]
movabs rbx, 0x8000000000000000
cmp r14, rbx
jne 0x14009d233
mov dil, byte [rsp + 0x88]
jmp 0x14009d291
test r13, r13
je 0x14009d54a
cmp ebx, 0x23
je 0x14009d4f8
cmp ebx, 0x3f
je 0x14009d523
cmp ebx, 0x110000
jne 0x14009d537
cmp dword [r13 + 0x20], 0
je 0x14009d89d
mov r8d, dword [r13 + 0x24]
mov rcx, qword [r13 + 8]
mov rdx, qword [r13 + 0x10]
lea r9, [0x140103120]
call fcn.14009f671
mov r8, rdx
jmp 0x14009d8a5
lea rdx, [0x140103140]
mov r8d, 7
mov rcx, rsi
call fcn.14009b698
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0xe8]
call fcn.1400a0b79
xor r14d, r14d
test r13, r13
je 0x14009d33a
test al, al
mov r15, qword [rsp + 0xe0]
jne 0x14009d40b
mov qword [rsp + 0x70], rbp
mov rcx, r13
call fcn.14009c78f
mov rcx, rax
mov r8d, 0x2f
call fcn.1400a2286
test rax, rax
je 0x14009dafc
mov r14, rdx
lea rdx, [rsp + 0xb8]
and qword [rdx - 0x38], 0
mov qword [rdx - 0x30], r14
mov qword [rdx - 0x28], rax
mov qword [rdx - 0x20], r14
and qword [rdx - 0x18], 0
mov qword [rdx - 0x10], r14
mov qword [rdx - 8], 1
movabs rcx, 0x2f0000002f
mov qword [rdx], rcx
mov word [rdx + 8], 1
xor r12d, r12d
mov rbp, r14
mov qword [rsp + 0x110], rax
mov rdi, rax
mov r15, qword [rsp + 0xb0]
cmp r14, rbp
seta al
mov r8, r14
sub r8, r12
setb cl
or cl, al
lea rdx, [rdi + r12]
mov eax, 0
test cl, cl
cmove rax, rdx
jne 0x14009d34f
mov cl, byte [rsp + r15 + 0xb7]
cmp r8, 0xf
ja 0x14009d1a3
xor edx, edx
cmp r8, rdx
je 0x14009d1aa
cmp byte [rax + rdx], cl
je 0x14009d1ae
inc rdx
jmp 0x14009d194
call fcn.14000c230
jmp 0x14009d1b3
xor eax, eax
jmp 0x14009d1b6
mov eax, 1
mov r8, rdx
cmp rax, 1
jne 0x14009d347
add r12, r8
inc r12
mov qword [rsp + 0xa0], r12
mov r13, r12
sub r13, r15
jb 0x14009d15e
cmp r12, rbp
ja 0x14009d15e
add rdi, r13
mov rcx, r15
lea rdx, [rsp + 0xb8]
lea r8, str._rustc_7cf61ebde7b22796c69757901dd346d0fe70bd97librarycore_src_strpattern.rs
call fcn.140025711
mov r9, rdx
mov rcx, rdi
mov rdx, r15
mov r8, rax
call fcn.1400863b5
test al, al
jne 0x14009dadb
mov rdi, qword [rsp + 0x90]
mov rbp, qword [rsp + 0x98]
mov r12, qword [rsp + 0xa0]
mov r14, qword [rsp + 0xa8]
jmp 0x14009d156
mov r15, qword [rsp + 0x88]
mov r8, qword [rsp + 0x90]
mov rdi, qword [rsp + 0xa0]
mov r13, qword [rsp + 0xa8]
test r8, r8
je 0x14009d29e
lea r12, [rsp + 0x80]
mov rcx, r12
mov rdx, r15
call fcn.1400a107c
mov r12, qword [r12]
movabs rax, 0x8000000000000002
cmp r12, rax
jne 0x14009d2b1
mov dil, byte [rsp + 0x88]
mov rcx, r14
mov rdx, r15
call fcn.14002fff6
mov byte [rbp + 8], dil
mov qword [rbp], rbx
jmp 0x14009d96b
mov qword [rsp + 0x78], rdi
mov qword [rsp + 0x70], rbp
xor ebp, ebp
xor edi, edi
jmp 0x14009d6d3
mov al, byte [rsp + 0x88]
mov rcx, qword [rsp + 0x89]
mov qword [rsp + 0xd1], rcx
mov rcx, qword [rsp + 0x90]
mov qword [rsp + 0xd8], rcx
mov qword [rsp + 0xc8], r12
mov byte [rsp + 0xd0], al
movabs rax, 0x8000000000000001
cmp r12, rax
mov qword [rsp + 0x70], rbp
mov qword [rsp + 0x78], rdi
jle 0x14009d5fe
lea rcx, [rsp + 0xc8]
call fcn.1400a0b3e
test al, al
je 0x14009d5fe
mov byte [rsp + 0x127], 0
mov rdx, qword [rsp + 0xd0]
mov rcx, r12
call fcn.1400a0853
xor ebp, ebp
xor edi, edi
jmp 0x14009d6cb
mov r15, qword [rsp + 0xe0]
jmp 0x14009d40b
mov qword [rsp + 0xa0], r14
cmp byte [rsp + 0xc1], 0
jne 0x14009daf0
mov byte [rsp + 0xc1], 1
cmp byte [rsp + 0xc0], 0
mov rax, qword [rsp + 0x80]
mov r13, qword [rsp + 0x88]
jne 0x14009d388
cmp r13, rax
je 0x14009daf0
add rdi, rax
sub r13, rax
mov rbp, qword [rsp + 0x70]
mov r12b, byte [rsp + 0x1b0]
mov r15, qword [rsp + 0xe0]
mov rcx, rdi
mov rdx, r13
call fcn.1400a070d
test al, al
je 0x14009d3cf
mov rcx, rsi
mov edx, 0x2f
call fcn.14002b744
mov rcx, rsi
mov rdx, rdi
mov r8, r13
call fcn.14009b698
jmp 0x14009d408
mov rdi, qword [rsp + 0x1b8]
mov rcx, rdi
call fcn.14009c823
test rax, rax
je 0x14009d408
mov r8, rdx
mov rcx, rsi
mov rdx, rax
call fcn.14009b698
mov r13, qword [rsi + 0x10]
mov r14b, byte [rdi + 0x40]
movups xmm0, xmmword [rdi + 0x41]
movaps xmmword [rsp + 0xf0], xmm0
jmp 0x14009d411
xor r14d, r14d
mov r13d, 7
add ebx, 0xffffffdd
cmp ebx, 0x39
mov rcx, qword [rsp + 0x78]
ja 0x14009d890
movabs rax, 0x200000010001001
bt rax, rbx
mov rax, qword [rsp + 0xe8]
jae 0x14009d445
mov rcx, qword [rsp + 0x118]
mov rax, r15
lea r8, [rsp + 0x80]
mov byte [r8], 0
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
mov rcx, rsi
xor edx, edx
mov r9, r13
call fcn.14009ea16
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rax
lea rdi, [rsp + 0x80]
mov rcx, rdi
mov rdx, rsi
mov r8d, r12d
mov r9d, 4
call fcn.1400a0225
mov eax, dword [rdi]
cmp eax, 2
je 0x14009d953
mov rcx, qword [rsp + 0x84]
mov edx, dword [rsp + 0x8c]
mov r8, qword [rsi + 0x10]
mov qword [rbp + 0x10], r8
movups xmm0, xmmword [rsi]
movups xmmword [rbp], xmm0
movaps xmm0, xmmword [rsp + 0xf0]
movups xmmword [rbp + 0x41], xmm0
mov dword [rbp + 0x18], eax
mov qword [rbp + 0x1c], rcx
mov dword [rbp + 0x24], edx
and word [rbp + 0x28], 0
movabs rax, 0x700000004
mov qword [rbp + 0x2c], rax
mov dword [rbp + 0x34], 7
mov dword [rbp + 0x38], r13d
mov dword [rbp + 0x3c], r13d
mov byte [rbp + 0x40], r14b
jmp 0x14009d977
lea rdx, [rsp + 0x80]
mov ecx, 9
mov rdi, rdx
rep movsq qword [rdi], qword [rsi]
mov qword [rsp + 0x20], r15
mov rcx, rbp
mov r8, r13
mov r9, r14
call fcn.14009fda2
jmp 0x14009d977
cmp dword [r13 + 0x18], 0
je 0x14009d8f7
lea rax, [r13 + 0x1c]
jmp 0x14009d906
mov rcx, r14
mov rdx, r15
call fcn.1400a0b79
test al, al
je 0x14009d87c
lea rdx, str.file:___file:__
mov r8d, 8
mov rcx, rsi
call fcn.14009b698
lea r8, [rsp + 0x80]
mov byte [r8], 0
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], r14
mov r9d, 7
mov rcx, rsi
xor edx, edx
call fcn.14009ea16
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rax
lea rdi, [rsp + 0x80]
mov rcx, rdi
mov rdx, rsi
xor r8d, r8d
mov r9d, 4
call fcn.1400a0225
mov eax, dword [rdi]
cmp eax, 2
je 0x14009d953
mov rcx, qword [rsp + 0x84]
mov edx, dword [rsp + 0x8c]
mov r8, qword [rsi + 0x10]
mov qword [rbp + 0x10], r8
movups xmm0, xmmword [rsi]
movups xmmword [rbp], xmm0
mov dword [rbp + 0x18], eax
mov qword [rbp + 0x1c], rcx
mov dword [rbp + 0x24], edx
and word [rbp + 0x28], 0
movaps xmm0, xmmword [0x1400a76b0]
movups xmmword [rbp + 0x2c], xmm0
mov dword [rbp + 0x3c], 7
mov byte [rbp + 0x40], 0
jmp 0x14009d977
mov rax, qword [rsp + 0xd8]
lea rcx, [rsp + 0xf0]
mov qword [rcx + 0x10], rax
mov rax, qword [rsp + 0xc8]
mov qword [rcx], rax
mov al, byte [rsp + 0xd0]
mov byte [rcx + 8], al
mov eax, dword [rsp + 0xd1]
mov dword [rcx + 9], eax
movzx eax, word [rsp + 0xd5]
mov word [rcx + 0xd], ax
mov al, byte [rsp + 0xd7]
mov byte [rcx + 0xf], al
lea rax, [rsp + 0x138]
mov qword [rax], rcx
lea rcx, str._rustc_7cf61ebde7b22796c69757901dd346d0fe70bd97librarycore_src_sync_atomic.rsthere_is_no_such_thing_as_an_acquire_store
lea rdx, [rsp + 0x80]
mov qword [rdx], rcx
mov ecx, 1
mov qword [rdx + 8], rcx
and qword [rdx + 0x20], 0
lea r8, [0x1400a0d3a]
mov qword [rax + 8], r8
mov qword [rdx + 0x10], rax
mov qword [rdx + 0x18], rcx
mov rcx, rsi
call fcn.1400a1f7a
test al, al
jne 0x14009db08
mov rax, qword [rsp + 0x100]
lea rdx, [rsp + 0x80]
mov qword [rdx + 0x10], rax
movaps xmm0, xmmword [rsp + 0xf0]
movaps xmmword [rdx], xmm0
lea r12, [rsp + 0x127]
mov rcx, r12
call fcn.1400a101a
mov dil, 1
mov bpl, byte [r12]
mov r12b, byte [rsp + 0x1b0]
movups xmm0, xmmword [rsp + 0x128]
movaps xmmword [rsp + 0xf0], xmm0
mov rcx, r14
mov rdx, r15
call fcn.14002fff6
mov r15, qword [rsi + 0x10]
mov rax, r15
shr rax, 0x20
mov rcx, r15
shl rcx, 0x20
or rcx, 0x900
test rax, rax
mov r14d, 0x901
cmove r14, rcx
test r14b, r14b
jne 0x14009d74b
shr r14, 0x20
test bpl, bpl
setne byte [rsp + 0xc8]
test dil, dil
je 0x14009d75c
mov qword [rsp + 0x20], r13
lea r8, [rsp + 0xc8]
mov rcx, rsi
xor edx, edx
mov r9, qword [rsp + 0x78]
call fcn.1400a0867
jmp 0x14009d78d
mov rax, qword [rsp + 0x70]
mov byte [rax + 8], 9
mov qword [rax], rbx
jmp 0x14009d96b
mov rcx, rsi
mov edx, 0x2f
call fcn.14002b744
mov qword [rsp + 0x28], r13
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0xc8]
mov rcx, rsi
xor edx, edx
mov r9, r15
call fcn.14009ea16
mov rdi, rax
mov r15, rdx
cmp byte [rsp + 0xc8], 0
jne 0x14009d7cf
mov ebp, r12d
lea r12, [rsp + 0x80]
mov r8d, 7
mov rcx, r12
mov rdx, rsi
mov r9, r14
call fcn.1400a1f99
mov rcx, r12
mov r12d, ebp
call fcn.140004af0
mov r14d, 7
xor ebp, ebp
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rdi
lea rdi, [rsp + 0x80]
mov rcx, rdi
mov rdx, rsi
mov r8d, r12d
mov r9d, 4
call fcn.1400a0225
mov eax, dword [rdi]
cmp eax, 2
jne 0x14009d813
mov al, byte [rsp + 0x84]
mov rcx, qword [rsp + 0x70]
mov byte [rcx + 8], al
mov qword [rcx], rbx
jmp 0x14009d96b
mov rcx, qword [rsp + 0x84]
mov edx, dword [rsp + 0x8c]
mov r8, qword [rsi + 0x10]
mov r9, qword [rsp + 0x70]
mov qword [r9 + 0x10], r8
movups xmm0, xmmword [rsi]
movups xmmword [r9], xmm0
movaps xmm0, xmmword [rsp + 0xf0]
movups xmmword [r9 + 0x41], xmm0
mov dword [r9 + 0x18], eax
mov qword [r9 + 0x1c], rcx
mov dword [r9 + 0x24], edx
and word [r9 + 0x28], 0
movabs rax, 0x700000004
mov qword [r9 + 0x2c], rax
mov dword [r9 + 0x34], 7
mov dword [r9 + 0x38], r14d
mov dword [r9 + 0x3c], r14d
mov byte [r9 + 0x40], bpl
jmp 0x14009d977
cmp dword [r13 + 0x18], 0
je 0x14009d9ea
lea rax, [r13 + 0x1c]
jmp 0x14009d9f9
mov rax, qword [rsp + 0xe8]
jmp 0x14009d445
mov rax, qword [r13 + 8]
mov r8, qword [r13 + 0x10]
mov rcx, rsi
mov rdx, rax
call fcn.14009b698
mov rax, qword [rsi + 0x10]
mov qword [rbp + 0x10], rax
movups xmm0, xmmword [rsi]
movups xmmword [rbp], xmm0
movups xmm0, xmmword [r13 + 0x2c]
movups xmm1, xmmword [r13 + 0x40]
movups xmmword [rbp + 0x40], xmm1
mov al, byte [r13 + 0x50]
mov byte [rbp + 0x50], al
mov eax, dword [r13 + 0x28]
mov rcx, qword [r13 + 0x18]
mov qword [rbp + 0x18], rcx
and dword [rbp + 0x20], 0
mov ecx, dword [r13 + 0x3c]
mov dword [rbp + 0x28], eax
movups xmmword [rbp + 0x2c], xmm0
mov dword [rbp + 0x3c], ecx
jmp 0x14009d977
cmp dword [r13 + 0x20], 0
je 0x14009dabe
lea rax, [r13 + 0x24]
mov r8d, dword [rax]
mov rcx, qword [r13 + 8]
mov rdx, qword [r13 + 0x10]
call fcn.14009fee3
mov r8, rdx
mov rcx, rsi
mov rdx, rax
call fcn.14009b698
mov edi, dword [r13 + 0x2c]
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], r14
lea r14, [rsp + 0x80]
mov rcx, r14
mov rdx, rsi
mov r8d, r12d
mov r9d, edi
call fcn.1400a0225
mov eax, dword [r14]
cmp eax, 2
jne 0x14009d98c
mov al, byte [rsp + 0x84]
mov byte [rbp + 8], al
movabs rax, 0x8000000000000000
mov qword [rbp], rax
mov rcx, qword [rsi]
mov rdx, qword [rsi + 8]
call fcn.14002fff6
nop
add rsp, 0x148
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov ecx, dword [rsp + 0x84]
mov rdx, qword [rsp + 0x88]
mov r8, qword [rsi + 0x10]
mov qword [rbp + 0x10], r8
movups xmm0, xmmword [rsi]
movups xmmword [rbp], xmm0
mov r8, qword [r13 + 0x30]
mov r9d, dword [r13 + 0x38]
movups xmm0, xmmword [r13 + 0x40]
movups xmmword [rbp + 0x40], xmm0
mov r10b, byte [r13 + 0x50]
mov byte [rbp + 0x50], r10b
mov r10d, dword [r13 + 0x28]
mov r11d, dword [r13 + 0x3c]
mov dword [rbp + 0x18], eax
mov dword [rbp + 0x1c], ecx
mov qword [rbp + 0x20], rdx
mov dword [rbp + 0x28], r10d
mov dword [rbp + 0x2c], edi
mov qword [rbp + 0x30], r8
mov dword [rbp + 0x38], r9d
mov dword [rbp + 0x3c], r11d
jmp 0x14009d977
cmp dword [r13 + 0x20], 0
je 0x14009dacb
lea rax, [r13 + 0x24]
mov rdi, r14
mov r8d, dword [rax]
mov rcx, qword [r13 + 8]
mov rdx, qword [r13 + 0x10]
call fcn.14009fee3
mov r8, rdx
mov rcx, rsi
mov rdx, rax
call fcn.14009b698
mov r14d, dword [r13 + 0x3c]
mov rcx, rsi
xor edx, edx
mov r8, r14
call fcn.1400a07fe
lea r8, [rsp + 0x80]
mov byte [r8], 1
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rdi
mov rcx, rsi
xor edx, edx
mov r9, r14
call fcn.14009ea16
lea r8, [rsp + 0x80]
mov ecx, 9
mov rdi, r8
rep movsq qword [rdi], qword [rsi]
mov r9d, dword [r13 + 0x2c]
mov ecx, dword [r13 + 0x30]
mov r10d, dword [r13 + 0x34]
mov r11d, dword [r13 + 0x38]
lea rsi, [r13 + 0x40]
movzx edi, word [r13 + 0x28]
movzx ebx, word [r13 + 0x2a]
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x58], rax
mov dword [rsp + 0x50], r14d
mov word [rsp + 0x48], bx
mov word [rsp + 0x40], di
mov qword [rsp + 0x38], rsi
mov dword [rsp + 0x30], r11d
mov dword [rsp + 0x28], r10d
mov dword [rsp + 0x20], ecx
mov rcx, rbp
mov rdx, r8
xor r8d, r8d
call fcn.14009f0b3
jmp 0x14009d977
mov rax, qword [r13 + 8]
mov r8, qword [r13 + 0x10]
jmp 0x14009d919
mov rdi, r14
mov rax, qword [r13 + 8]
mov r8, qword [r13 + 0x10]
jmp 0x14009da0f
mov rax, qword [rsp + 0x80]
mov rdi, qword [rsp + 0x110]
jmp 0x14009d388
lea rcx, [0x140103160]
call fcn.1400a3f20
lea rcx, [0x140103148]
call fcn.1400a3f20
lea rax, [0x140103238]
mov qword [rsp + 0x20], rax
lea rcx, [0x140102f2e]
lea r9, [0x140102f60]
lea r8, [rsp + 0x80]
mov edx, 0x2b
call fcn.1400a3e80
int3