Function at 0x4d1993
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.004d4d14
mov r13d, dword [rdi]
mov rdx, qword [rdi + 8]
mov rbp, qword [rdi + 0x10]
cmp r13d, 0x5c
je 0x4d19f6
cmp r13d, 0x2f
jne 0x4d1b3b
mov qword [rsp + 0x78], r15
mov rdi, qword [rsi + 0x10]
cmp r13d, 0x5c
jne 0x4d1a1c
test rdi, rdi
je 0x4d1a1c
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.004d4d14
mov eax, dword [rbx]
mov r14, qword [rbx + 8]
mov r15, qword [rbx + 0x10]
cmp eax, 0x2f
je 0x4d1a4f
cmp eax, 0x5c
jne 0x4d1b90
cmp eax, 0x5c
jne 0x4d1a65
test rdi, rdi
je 0x4d1a65
mov rax, qword [rsi + 0x18]
mov rcx, rdi
xor edx, edx
call qword [rax + 0x28]
lea rdi, [rsi + 0x28]
lea rdx, [0x005d2ec2]
mov r8d, 7
mov rcx, rdi
call fcn.004cfb42
lea rbx, [rsp + 0x80]
mov rcx, rbx
mov rdx, r14
mov r8, r15
call fcn.004d4ebc
mov bpl, byte [rbx]
cmp byte [rbx + 0x18], 2
je 0x4d1b2e
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 0x4d1cc7
mov qword [rsp + 0x68], rbx
lea rbx, [rsp + 0x80]
mov rcx, rbx
mov rdx, r12
call fcn.004d574a
mov al, byte [rbx]
cmp al, 3
jne 0x4d1cd6
mov bpl, byte [rsp + 0x81]
shl r15, 8
or r15, r14
mov rcx, r15
mov rdx, r12
call fcn.00443318
mov rax, qword [rsp + 0x78]
mov byte [rax], bpl
jmp 0x4d1e90
test r14, r14
je 0x4d1bff
cmp r13d, 0x23
je 0x4d1ebf
cmp r13d, 0x3f
je 0x4d1ea6
cmp r13d, 0x110000
jne 0x4d1ef1
cmp dword [r14 + 0x20], 0
je 0x4d2507
mov r8d, dword [r14 + 0x24]
mov rcx, qword [r14 + 8]
mov rdx, qword [r14 + 0x10]
lea r9, [0x005d2f08]
call fcn.004d41f6
mov r8, rdx
jmp 0x4d250f
lea r15, [rsi + 0x28]
lea rdx, [0x005d2ec2]
mov eax, 7
mov qword [rsp + 0xf8], rax
mov r8d, 7
mov rcx, r15
call fcn.004cfb42
mov rcx, qword [rsp + 0xc8]
mov rdx, rbp
call fcn.004d5073
xor ebx, ebx
cmp qword [rsp + 0x1c8], 0
je 0x4d1e9c
test al, al
mov r14, qword [rsp + 0x78]
jne 0x4d21a7
mov rdx, qword [rsp + 0x1c8]
cmp dword [rdx + 0x18], 0
je 0x4d1f42
lea rax, [rdx + 0x1c]
jmp 0x4d1f50
lea rdi, [rsi + 0x28]
lea rdx, str.file:___5._
mov r8d, 8
mov rcx, rdi
call fcn.004cfb42
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.004d3526
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.004d46c7
mov eax, dword [rbx]
cmp eax, 2
je 0x4d247e
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 [0x004db6d0]
movups xmmword [r15 + 0x28], xmm0
mov dword [r15 + 0x38], 7
and word [r15 + 0x3c], 0
mov byte [r15 + 0x40], 0
jmp 0x4d249d
mov qword [rsp + 0x70], r13
xor r13d, r13d
xor ebp, ebp
jmp 0x4d1dff
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 0x4d1d3c
lea rcx, [rsp + 0xd8]
call fcn.004d5039
test al, al
je 0x4d1d3c
lea rcx, [rsp + 0xd0]
call fcn.004d4d72
xor r13d, r13d
xor ebp, ebp
jmp 0x4d1dfa
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, [0x004d549c]
mov qword [rax + 8], r8
mov qword [rdx + 0x20], rax
mov qword [rdx + 0x28], rcx
mov rcx, rdi
call fcn.004d693b
lea rdx, [0x005d2fe0]
mov ecx, eax
call fcn.004d4d41
lea rbx, [rsp + 0x130]
mov rcx, rbx
mov rdx, r13
call fcn.004d5705
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.00443318
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 0x4d1e88
shr r15, 0x20
test r13b, r13b
setne byte [rsp + 0x100]
test bpl, bpl
je 0x4d22b0
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.004d4d88
jmp 0x4d22e1
mov rax, qword [rsp + 0x78]
mov byte [rax], 9
mov dword [rax + 0x18], 2
jmp 0x4d2490
mov r14, qword [rsp + 0x78]
jmp 0x4d21a7
cmp dword [r14 + 0x18], 0
je 0x4d240f
lea rax, [r14 + 0x1c]
mov r13, qword [rsp + 0x68]
jmp 0x4d2423
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.004d4240
jmp 0x4d249d
mov rbx, qword [rsp + 0x70]
mov rcx, rbx
mov r13, qword [rsp + 0x68]
mov rdx, r13
call fcn.004d5073
test al, al
je 0x4d23d3
lea rdi, [rsi + 0x28]
lea rdx, str.file:___5._
mov r8d, 8
mov rcx, rdi
call fcn.004cfb42
lea r8, [rsp + 0x80]
mov byte [r8], 0
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], rbx
jmp 0x4d1c38
cmp dword [rdx + 0x20], 0
je 0x4d2569
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.004d000b
mov rcx, rax
mov qword [rsp + 0xf0], r15
mov r8d, 0x2f
call fcn.004d529e
test rax, rax
je 0x4d269b
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 0x4d20e8
mov rcx, qword [rsp + 0xa0]
mov cl, byte [rsp + rcx + 0xa7]
cmp r15, 0xf
ja 0x4d2026
xor edx, edx
cmp r15, rdx
je 0x4d2033
cmp byte [rax + rdx], cl
je 0x4d203a
inc rdx
jmp 0x4d2017
mov rdx, rax
mov r8, r15
call fcn.00414bc0
jmp 0x4d203f
mov rdx, r15
xor eax, eax
jmp 0x4d203f
mov eax, 1
cmp rax, 1
jne 0x4d20d8
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 0x4d20c3
cmp r11, rcx
ja 0x4d20c3
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.004327bb
mov r9, rdx
mov rcx, rdi
mov rdx, rbx
mov r8, rax
call fcn.00499e0b
test al, al
jne 0x4d23f4
mov rcx, qword [rsp + 0x88]
mov r11, qword [rsp + 0x90]
mov r8, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x98]
jmp 0x4d1fd2
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x90], rax
cmp byte [rsp + 0xc1], 0
jne 0x4d268b
mov byte [rsp + 0xc1], 1
cmp byte [rsp + 0xc0], 0
mov rdi, qword [rsp + 0xb0]
mov r12, qword [rsp + 0xb8]
jne 0x4d2121
cmp r12, rdi
je 0x4d268b
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.004d4c27
test al, al
je 0x4d2165
mov rcx, r15
mov edx, 0x2f
call fcn.004d1194
mov rcx, r15
mov rdx, rdi
mov r8, r12
call fcn.004cfb42
jmp 0x4d21a5
mov rdi, qword [rsp + 0x1c8]
mov rcx, rdi
call fcn.004d0b90
test rax, rax
je 0x4d21a5
mov r8, rdx
mov rcx, r15
mov rdx, rax
call fcn.004cfb42
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 0x4d21a7
xor ebx, ebx
add r13d, 0xffffffdd
cmp r13d, 0x39
ja 0x4d23e7
movabs rax, 0x200000010001001
bt rax, r13
mov rax, qword [rsp + 0xc8]
jae 0x4d21d7
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.004d3526
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.004d46c7
mov eax, dword [rdi]
cmp eax, 2
jne 0x4d224b
mov al, byte [rsp + 0x84]
mov byte [r14], al
mov dword [r14 + 0x18], 2
jmp 0x4d2490
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 0x4d249d
mov rcx, rdi
mov edx, 0x2f
call fcn.004d1194
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.004d3526
mov r14, rax
mov r12, rdx
cmp byte [rsp + 0x100], 0
jne 0x4d231e
lea rbx, [rsp + 0x80]
mov r8d, 7
mov rcx, rbx
mov rdx, rdi
mov r9, r15
call fcn.004d69cd
mov rcx, rbx
call fcn.0040c500
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.004d46c7
mov eax, dword [rbx]
cmp eax, 2
jne 0x4d236a
mov al, byte [rsp + 0x84]
mov rcx, qword [rsp + 0x78]
mov byte [rcx], al
mov dword [rcx + 0x18], 2
jmp 0x4d2490
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 0x4d249d
cmp dword [r14 + 0x18], 0
je 0x4d257f
lea rax, [r14 + 0x1c]
jmp 0x4d258e
mov rax, qword [rsp + 0xc8]
jmp 0x4d21d7
mov rax, qword [rsp + 0xb0]
mov rdi, qword [rsp + 0x128]
add rdi, rax
sub r12, rax
jmp 0x4d212c
cmp dword [r14 + 0x20], 0
mov r13, qword [rsp + 0x68]
je 0x4d266f
lea rax, [r14 + 0x24]
mov ebp, ebx
mov r8d, dword [rax]
mov rcx, qword [r14 + 8]
mov rdx, qword [r14 + 0x10]
call fcn.004d4378
mov r8, rdx
mov r12, r14
lea r14, [rsi + 0x28]
mov rcx, r14
mov rdx, rax
call fcn.004cfb42
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.004d46c7
mov eax, dword [rbx]
cmp eax, 2
jne 0x4d24b2
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.00443318
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 0x4d2560
mov rax, qword [r14 + 8]
mov r8, qword [r14 + 0x10]
lea rcx, [rsi + 0x28]
mov rdx, rax
call fcn.004cfb42
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 0x4d249d
mov r8d, dword [rdx + 0x38]
mov rcx, qword [rdx + 8]
mov rdx, qword [rdx + 0x10]
call fcn.004cffb0
jmp 0x4d1f64
cmp dword [r14 + 0x20], 0
je 0x4d267e
lea rax, [r14 + 0x24]
mov r8d, dword [rax]
mov rcx, qword [r14 + 8]
mov rdx, qword [r14 + 0x10]
call fcn.004d4378
mov r8, rdx
lea rcx, [rsi + 0x28]
mov rdx, rax
call fcn.004cfb42
mov r12, r14
mov r14d, dword [r14 + 0x38]
mov rcx, rsi
xor edx, edx
mov r8, r14
call fcn.004d4bbf
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.004d3526
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.004d3c2a
jmp 0x4d249d
mov ebp, ebx
mov rax, qword [r14 + 8]
mov r8, qword [r14 + 0x10]
jmp 0x4d2438
mov rax, qword [r14 + 8]
mov r8, qword [r14 + 0x10]
jmp 0x4d25a1
lea rcx, str.called__Option::unwrap____on_a__None__value
lea r8, [0x005d2ee8]
jmp 0x4d26a9
lea rcx, str.called__Option::unwrap____on_a__None__value
lea r8, [0x005d2ed0]
mov edx, 0x2b
call fcn.00413c20
ud2