Function at 0x4f913e
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, 0x158
mov rsi, rdx
mov r15, rcx
mov r14, qword [rsp + 0x1c8]
mov bl, byte [rsp + 0x1c0]
lea rdi, [rsp + 0x80]
mov rcx, rdi
mov qword [rsp + 0x70], r8
mov rdx, r8
mov qword [rsp + 0x68], r9
mov r8, r9
call fcn.004fc503
mov r13d, dword [rdi]
mov rdx, qword [rdi + 8]
mov rbp, qword [rdi + 0x10]
cmp r13d, 0x5c
je 0x4f91a1
cmp r13d, 0x2f
jne 0x4f92e6
mov qword [rsp + 0x78], r15
mov rdi, qword [rsi + 0x10]
cmp r13d, 0x5c
jne 0x4f91c7
test rdi, rdi
je 0x4f91c7
mov rbx, rdx
mov rax, qword [rsi + 0x18]
mov rcx, rdi
xor edx, edx
call qword [rax + 0x28]
mov rdx, rbx
lea rbx, [rsp + 0x80]
mov rcx, rbx
mov qword [rsp + 0xc8], rdx
mov r8, rbp
call fcn.004fc503
mov eax, dword [rbx]
mov r14, qword [rbx + 8]
mov r15, qword [rbx + 0x10]
cmp eax, 0x2f
je 0x4f91fa
cmp eax, 0x5c
jne 0x4f933b
cmp eax, 0x5c
jne 0x4f9210
test rdi, rdi
je 0x4f9210
mov rax, qword [rsi + 0x18]
mov rcx, rdi
xor edx, edx
call qword [rax + 0x28]
lea rdi, [rsi + 0x28]
lea rdx, [0x0056204a]
mov r8d, 7
mov rcx, rdi
call fcn.004f70bc
lea rbx, [rsp + 0x80]
mov rcx, rbx
mov rdx, r14
mov r8, r15
call fcn.004fc6ab
mov bpl, byte [rbx]
cmp byte [rbx + 0x18], 2
je 0x4f92d9
movzx r14d, bpl
movzx eax, byte [rsp + 0x87]
shl eax, 0x10
movzx ecx, word [rsp + 0x85]
or ecx, eax
shl rcx, 0x20
mov r15d, dword [rsp + 0x81]
or r15, rcx
mov r12, qword [rsp + 0x88]
mov r8, qword [rsp + 0x90]
mov rbx, qword [rsp + 0xa0]
mov r13, qword [rsp + 0xa8]
test r8, r8
je 0x4f9472
mov qword [rsp + 0x68], rbx
lea rbx, [rsp + 0x80]
mov rcx, rbx
mov rdx, r12
call fcn.004fcf45
mov al, byte [rbx]
cmp al, 3
jne 0x4f9481
mov bpl, byte [rsp + 0x81]
shl r15, 8
or r15, r14
mov rcx, r15
mov rdx, r12
call fcn.0045ae63
mov rax, qword [rsp + 0x78]
mov byte [rax], bpl
jmp 0x4f963b
test r14, r14
je 0x4f93aa
cmp r13d, 0x23
je 0x4f966a
cmp r13d, 0x3f
je 0x4f9651
cmp r13d, 0x110000
jne 0x4f969c
cmp dword [r14 + 0x20], 0
je 0x4f9cb2
mov r8d, dword [r14 + 0x24]
mov rcx, qword [r14 + 8]
mov rdx, qword [r14 + 0x10]
lea r9, [0x00562090]
call fcn.004fb9e5
mov r8, rdx
jmp 0x4f9cba
lea r15, [rsi + 0x28]
lea rdx, [0x0056204a]
mov eax, 7
mov qword [rsp + 0xf8], rax
mov r8d, 7
mov rcx, r15
call fcn.004f70bc
mov rcx, qword [rsp + 0xc8]
mov rdx, rbp
call fcn.004fc862
xor ebx, ebx
cmp qword [rsp + 0x1c8], 0
je 0x4f9647
test al, al
mov r14, qword [rsp + 0x78]
jne 0x4f9952
mov rdx, qword [rsp + 0x1c8]
cmp dword [rdx + 0x18], 0
je 0x4f96ed
lea rax, [rdx + 0x1c]
jmp 0x4f96fb
lea rdi, [rsi + 0x28]
lea rdx, str.file:___
mov r8d, 8
mov rcx, rdi
call fcn.004f70bc
lea r8, [rsp + 0x80]
mov byte [r8], 0
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x20], rax
mov r9d, 7
mov rcx, rsi
xor edx, edx
call fcn.004facd1
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rax
lea rbx, [rsp + 0x80]
mov rcx, rbx
mov rdx, rsi
xor r8d, r8d
mov r9d, 4
call fcn.004fbeb6
mov eax, dword [rbx]
cmp eax, 2
je 0x4f9c29
mov ecx, dword [rsp + 0x8c]
mov rdx, qword [rsp + 0x84]
mov r8, qword [rdi + 0x10]
mov qword [r15 + 0x10], r8
movups xmm0, xmmword [rdi]
movups xmmword [r15], xmm0
mov dword [r15 + 0x18], eax
mov qword [r15 + 0x1c], rdx
mov dword [r15 + 0x24], ecx
movaps xmm0, xmmword [0x005038a0]
movups xmmword [r15 + 0x28], xmm0
mov dword [r15 + 0x38], 7
and word [r15 + 0x3c], 0
mov byte [r15 + 0x40], 0
jmp 0x4f9c48
mov qword [rsp + 0x70], r13
xor r13d, r13d
xor ebp, ebp
jmp 0x4f95aa
mov qword [rsp + 0x70], r13
mov cl, byte [rsp + 0x81]
movups xmm0, xmmword [rsp + 0x82]
movups xmmword [rsp + 0xd2], xmm0
movups xmm0, xmmword [rsp + 0x90]
movups xmmword [rsp + 0xe0], xmm0
mov byte [rsp + 0xd0], al
mov byte [rsp + 0xd1], cl
test al, al
jne 0x4f94e7
lea rcx, [rsp + 0xd8]
call fcn.004fc828
test al, al
je 0x4f94e7
lea rcx, [rsp + 0xd0]
call fcn.004fc561
xor r13d, r13d
xor ebp, ebp
jmp 0x4f95a5
mov al, byte [rsp + 0xd0]
mov cl, byte [rsp + 0xd1]
mov rdx, qword [rsp + 0xd2]
mov r8d, dword [rsp + 0xda]
movzx r9d, word [rsp + 0xde]
movups xmm0, xmmword [rsp + 0xe0]
lea r13, [rsp + 0x100]
movaps xmmword [r13 + 0x10], xmm0
mov byte [r13], al
mov byte [r13 + 1], cl
mov qword [r13 + 2], rdx
mov dword [r13 + 0xa], r8d
mov word [r13 + 0xe], r9w
lea rax, [rsp + 0x148]
mov qword [rax], r13
lea rcx, str.ntdll.dll
lea rdx, [rsp + 0x80]
mov qword [rdx + 0x10], rcx
mov ecx, 1
mov qword [rdx + 0x18], rcx
and qword [rdx], 0
lea r8, [0x004fcc97]
mov qword [rax + 8], r8
mov qword [rdx + 0x20], rax
mov qword [rdx + 0x28], rcx
mov rcx, rdi
call fcn.004fe1af
lea rdx, [0x00562168]
mov ecx, eax
call fcn.004fc530
lea rbx, [rsp + 0x130]
mov rcx, rbx
mov rdx, r13
call fcn.004fcf00
mov bpl, 1
mov r13b, byte [rbx]
mov rbx, qword [rsp + 0x68]
movups xmm0, xmmword [rsp + 0x131]
movaps xmmword [rsp + 0xd0], xmm0
shl r15, 8
or r15, r14
mov rcx, r15
mov rdx, r12
call fcn.0045ae63
mov r12, qword [rsi + 0x38]
mov rax, r12
shr rax, 0x20
mov rcx, r12
shl rcx, 0x20
or rcx, 0x900
test rax, rax
mov r15d, 0x901
cmove r15, rcx
test r15b, r15b
jne 0x4f9633
shr r15, 0x20
test r13b, r13b
setne byte [rsp + 0x100]
test bpl, bpl
je 0x4f9a5b
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x100]
mov rcx, rsi
xor edx, edx
mov r9, rbx
call fcn.004fc577
jmp 0x4f9a8c
mov rax, qword [rsp + 0x78]
mov byte [rax], 9
mov dword [rax + 0x18], 2
jmp 0x4f9c3b
mov r14, qword [rsp + 0x78]
jmp 0x4f9952
cmp dword [r14 + 0x18], 0
je 0x4f9bba
lea rax, [r14 + 0x1c]
mov r13, qword [rsp + 0x68]
jmp 0x4f9bce
lea rdx, [rsp + 0x80]
mov ecx, 9
mov rdi, rdx
rep movsq qword [rdi], qword [rsi]
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x20], rax
mov rcx, r15
mov r8, r14
mov r9, qword [rsp + 0x70]
call fcn.004fba2f
jmp 0x4f9c48
mov rbx, qword [rsp + 0x70]
mov rcx, rbx
mov r13, qword [rsp + 0x68]
mov rdx, r13
call fcn.004fc862
test al, al
je 0x4f9b7e
lea rdi, [rsi + 0x28]
lea rdx, str.file:___
mov r8d, 8
mov rcx, rdi
call fcn.004f70bc
lea r8, [rsp + 0x80]
mov byte [r8], 0
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], rbx
jmp 0x4f93e3
cmp dword [rdx + 0x20], 0
je 0x4f9d14
lea rax, [rdx + 0x24]
mov r9d, dword [rax]
mov r8d, dword [rdx + 0x38]
mov rcx, qword [rdx + 8]
mov rdx, qword [rdx + 0x10]
call fcn.004f7897
mov rcx, rax
mov qword [rsp + 0xf0], r15
mov r8d, 0x2f
call fcn.004fca8e
test rax, rax
je 0x4f9e46
lea r14, [rsp + 0xa8]
mov qword [r14 - 0x28], rax
mov qword [r14 - 0x20], rdx
and qword [r14 - 0x18], 0
mov qword [r14 - 0x10], rdx
mov qword [r14 - 8], 1
movabs rcx, 0x2f0000002f
mov qword [r14], rcx
and qword [r14 + 8], 0
mov qword [r14 + 0x10], rdx
mov word [r14 + 0x18], 1
xor r11d, r11d
mov rcx, rdx
mov qword [rsp + 0x128], rax
mov r8, rax
mov r9, r15
mov r15, rdx
sub r15, r11
setb r10b
cmp rdx, rcx
seta cl
or cl, r10b
add r8, r11
test cl, cl
cmovne r15, r9
mov eax, 0
cmove rax, r8
jne 0x4f9893
mov rcx, qword [rsp + 0xa0]
mov cl, byte [rsp + rcx + 0xa7]
cmp r15, 0xf
ja 0x4f97d1
xor edx, edx
cmp r15, rdx
je 0x4f97de
cmp byte [rax + rdx], cl
je 0x4f97e5
inc rdx
jmp 0x4f97c2
mov rdx, rax
mov r8, r15
call fcn.00430270
jmp 0x4f97ea
mov rdx, r15
xor eax, eax
jmp 0x4f97ea
mov eax, 1
cmp rax, 1
jne 0x4f9883
mov rcx, qword [rsp + 0x88]
mov rax, qword [rsp + 0x90]
lea r11, [rdx + rax]
inc r11
mov qword [rsp + 0x90], r11
mov rbx, qword [rsp + 0xa0]
mov r12, r11
sub r12, rbx
jb 0x4f986e
cmp r11, rcx
ja 0x4f986e
mov rdi, qword [rsp + 0x80]
add rdi, r12
mov rcx, rbx
mov rdx, r14
lea r8, str._repos_rust_1.70.0_library_core_src_str_pattern.rs
call fcn.0044dae0
mov r9, rdx
mov rcx, rdi
mov rdx, rbx
mov r8, rax
call fcn.00455227
test al, al
jne 0x4f9b9f
mov rcx, qword [rsp + 0x88]
mov r11, qword [rsp + 0x90]
mov r8, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x98]
jmp 0x4f977d
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x90], rax
cmp byte [rsp + 0xc1], 0
jne 0x4f9e36
mov byte [rsp + 0xc1], 1
cmp byte [rsp + 0xc0], 0
mov rdi, qword [rsp + 0xb0]
mov r12, qword [rsp + 0xb8]
jne 0x4f98cc
cmp r12, rdi
je 0x4f9e36
sub r12, rdi
add rdi, qword [rsp + 0x80]
mov r14, qword [rsp + 0x78]
mov r15, qword [rsp + 0xf0]
mov rcx, rdi
mov rdx, r12
call fcn.004fc416
test al, al
je 0x4f9910
mov rcx, r15
mov edx, 0x2f
call fcn.00454a50
mov rcx, r15
mov rdx, rdi
mov r8, r12
call fcn.004f70bc
jmp 0x4f9950
mov rdi, qword [rsp + 0x1c8]
mov rcx, rdi
call fcn.004f8421
test rax, rax
je 0x4f9950
mov r8, rdx
mov rcx, r15
mov rdx, rax
call fcn.004f70bc
mov rax, qword [rsi + 0x38]
mov qword [rsp + 0xf8], rax
mov bl, byte [rdi + 0x40]
movups xmm0, xmmword [rdi + 0x41]
movaps xmmword [rsp + 0x100], xmm0
jmp 0x4f9952
xor ebx, ebx
add r13d, 0xffffffdd
cmp r13d, 0x39
ja 0x4f9b92
movabs rax, 0x200000010001001
bt rax, r13
mov rax, qword [rsp + 0xc8]
jae 0x4f9982
mov rax, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x68]
lea r8, [rsp + 0x80]
mov byte [r8], 0
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], rax
mov rcx, rsi
xor edx, edx
mov r12, qword [rsp + 0xf8]
mov r9, r12
call fcn.004facd1
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rax
lea rdi, [rsp + 0x80]
mov rcx, rdi
mov rdx, rsi
mov r8b, byte [rsp + 0x1c0]
mov r9d, 4
call fcn.004fbeb6
mov eax, dword [rdi]
cmp eax, 2
jne 0x4f99f6
mov al, byte [rsp + 0x84]
mov byte [r14], al
mov dword [r14 + 0x18], 2
jmp 0x4f9c3b
mov ecx, dword [rsp + 0x8c]
mov rdx, qword [rsp + 0x84]
mov r8, qword [r15 + 0x10]
mov qword [r14 + 0x10], r8
movups xmm0, xmmword [r15]
movups xmmword [r14], xmm0
movaps xmm0, xmmword [rsp + 0x100]
movups xmmword [r14 + 0x41], xmm0
mov dword [r14 + 0x18], eax
mov qword [r14 + 0x1c], rdx
mov dword [r14 + 0x24], ecx
movabs rax, 0x700000004
mov qword [r14 + 0x28], rax
mov dword [r14 + 0x30], 7
mov dword [r14 + 0x34], r12d
mov dword [r14 + 0x38], r12d
and word [r14 + 0x3c], 0
mov byte [r14 + 0x40], bl
jmp 0x4f9c48
mov rcx, rdi
mov edx, 0x2f
call fcn.00454a50
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
lea r8, [rsp + 0x100]
mov rcx, rsi
xor edx, edx
mov r9, r12
call fcn.004facd1
mov r14, rax
mov r12, rdx
cmp byte [rsp + 0x100], 0
jne 0x4f9ac9
lea rbx, [rsp + 0x80]
mov r8d, 7
mov rcx, rbx
mov rdx, rdi
mov r9, r15
call fcn.004fe241
mov rcx, rbx
call fcn.00404bd0
mov r15d, 7
xor r13d, r13d
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r14
lea rbx, [rsp + 0x80]
mov rcx, rbx
mov rdx, rsi
mov r8b, byte [rsp + 0x1c0]
mov r9d, 4
call fcn.004fbeb6
mov eax, dword [rbx]
cmp eax, 2
jne 0x4f9b15
mov al, byte [rsp + 0x84]
mov rcx, qword [rsp + 0x78]
mov byte [rcx], al
mov dword [rcx + 0x18], 2
jmp 0x4f9c3b
mov ecx, dword [rsp + 0x8c]
mov rdx, qword [rsp + 0x84]
mov r8, qword [rdi + 0x10]
mov r9, qword [rsp + 0x78]
mov qword [r9 + 0x10], r8
movups xmm0, xmmword [rdi]
movups xmmword [r9], xmm0
movaps xmm0, xmmword [rsp + 0xd0]
movups xmmword [r9 + 0x41], xmm0
mov dword [r9 + 0x18], eax
mov qword [r9 + 0x1c], rdx
mov dword [r9 + 0x24], ecx
movabs rax, 0x700000004
mov qword [r9 + 0x28], rax
mov dword [r9 + 0x30], 7
mov dword [r9 + 0x34], r15d
mov dword [r9 + 0x38], r15d
and word [r9 + 0x3c], 0
mov byte [r9 + 0x40], r13b
jmp 0x4f9c48
cmp dword [r14 + 0x18], 0
je 0x4f9d2a
lea rax, [r14 + 0x1c]
jmp 0x4f9d39
mov rax, qword [rsp + 0xc8]
jmp 0x4f9982
mov rax, qword [rsp + 0xb0]
mov rdi, qword [rsp + 0x128]
add rdi, rax
sub r12, rax
jmp 0x4f98d7
cmp dword [r14 + 0x20], 0
mov r13, qword [rsp + 0x68]
je 0x4f9e1a
lea rax, [r14 + 0x24]
mov ebp, ebx
mov r8d, dword [rax]
mov rcx, qword [r14 + 8]
mov rdx, qword [r14 + 0x10]
call fcn.004fbb67
mov r8, rdx
mov r12, r14
lea r14, [rsi + 0x28]
mov rcx, r14
mov rdx, rax
call fcn.004f70bc
mov edi, dword [r12 + 0x28]
mov qword [rsp + 0x28], r13
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x20], rax
lea rbx, [rsp + 0x80]
mov rcx, rbx
mov rdx, rsi
mov r8d, ebp
mov r9d, edi
call fcn.004fbeb6
mov eax, dword [rbx]
cmp eax, 2
jne 0x4f9c5d
mov al, byte [rsp + 0x84]
mov byte [r15], al
mov dword [r15 + 0x18], 2
mov rcx, qword [rsi + 0x28]
mov rdx, qword [rsi + 0x30]
call fcn.0045ae63
nop
add rsp, 0x158
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov ecx, dword [rsp + 0x8c]
mov rdx, qword [rsp + 0x84]
mov r8, qword [r14 + 0x10]
mov qword [r15 + 0x10], r8
movups xmm0, xmmword [r14]
movups xmmword [r15], xmm0
movups xmm0, xmmword [r12 + 0x40]
movups xmmword [r15 + 0x40], xmm0
mov r8b, byte [r12 + 0x50]
mov byte [r15 + 0x50], r8b
mov dword [r15 + 0x18], eax
mov qword [r15 + 0x1c], rdx
mov dword [r15 + 0x24], ecx
mov dword [r15 + 0x28], edi
movups xmm0, xmmword [r12 + 0x2c]
movups xmmword [r15 + 0x2c], xmm0
mov eax, dword [r12 + 0x3c]
jmp 0x4f9d0b
mov rax, qword [r14 + 8]
mov r8, qword [r14 + 0x10]
lea rcx, [rsi + 0x28]
mov rdx, rax
call fcn.004f70bc
mov rax, qword [rsi + 0x38]
mov qword [r15 + 0x10], rax
movups xmm0, xmmword [rsi + 0x28]
movups xmmword [r15], xmm0
movups xmm0, xmmword [r14 + 0x40]
movups xmmword [r15 + 0x40], xmm0
mov al, byte [r14 + 0x50]
mov byte [r15 + 0x50], al
mov eax, dword [r14 + 0x38]
mov rcx, qword [r14 + 0x18]
mov qword [r15 + 0x18], rcx
and dword [r15 + 0x20], 0
movups xmm0, xmmword [r14 + 0x28]
movups xmmword [r15 + 0x28], xmm0
mov dword [r15 + 0x38], eax
mov eax, dword [r14 + 0x3c]
mov dword [r15 + 0x3c], eax
jmp 0x4f9c48
mov r8d, dword [rdx + 0x38]
mov rcx, qword [rdx + 8]
mov rdx, qword [rdx + 0x10]
call fcn.004f783c
jmp 0x4f970f
cmp dword [r14 + 0x20], 0
je 0x4f9e29
lea rax, [r14 + 0x24]
mov r8d, dword [rax]
mov rcx, qword [r14 + 8]
mov rdx, qword [r14 + 0x10]
call fcn.004fbb67
mov r8, rdx
lea rcx, [rsi + 0x28]
mov rdx, rax
call fcn.004f70bc
mov r12, r14
mov r14d, dword [r14 + 0x38]
mov rcx, rsi
xor edx, edx
mov r8, r14
call fcn.004fc3ae
lea r8, [rsp + 0x80]
mov byte [r8], 1
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], rbx
mov rcx, rsi
xor edx, edx
mov r9, r14
call fcn.004facd1
lea r8, [rsp + 0x80]
mov ecx, 9
mov rdi, r8
rep movsq qword [rdi], qword [rsi]
mov r9d, dword [r12 + 0x28]
mov ecx, dword [r12 + 0x2c]
mov r10d, dword [r12 + 0x30]
mov r11d, dword [r12 + 0x34]
mov bl, byte [r12 + 0x50]
lea rsi, [rsp + 0x100]
mov byte [rsi + 0x10], bl
movups xmm0, xmmword [r12 + 0x40]
movaps xmmword [rsi], xmm0
movzx edi, word [r12 + 0x3c]
movzx ebx, word [r12 + 0x3e]
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, r15
mov rdx, r8
xor r8d, r8d
call fcn.004fb3d5
jmp 0x4f9c48
mov ebp, ebx
mov rax, qword [r14 + 8]
mov r8, qword [r14 + 0x10]
jmp 0x4f9be3
mov rax, qword [r14 + 8]
mov r8, qword [r14 + 0x10]
jmp 0x4f9d4c
lea rcx, str.called__Option::unwrap____on_a__None__value
lea r8, [0x00562070]
jmp 0x4f9e54
lea rcx, str.called__Option::unwrap____on_a__None__value
lea r8, [0x00562058]
mov edx, 0x2b
call fcn.0042f210
ud2