Function at 0x4f4c52
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.004f8017
mov r13d, dword [rdi]
mov rdx, qword [rdi + 8]
mov rbp, qword [rdi + 0x10]
cmp r13d, 0x5c
je 0x4f4cb5
cmp r13d, 0x2f
jne 0x4f4dfa
mov qword [rsp + 0x78], r15
mov rdi, qword [rsi + 0x10]
cmp r13d, 0x5c
jne 0x4f4cdb
test rdi, rdi
je 0x4f4cdb
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.004f8017
mov eax, dword [rbx]
mov r14, qword [rbx + 8]
mov r15, qword [rbx + 0x10]
cmp eax, 0x2f
je 0x4f4d0e
cmp eax, 0x5c
jne 0x4f4e4f
cmp eax, 0x5c
jne 0x4f4d24
test rdi, rdi
je 0x4f4d24
mov rax, qword [rsi + 0x18]
mov rcx, rdi
xor edx, edx
call qword [rax + 0x28]
lea rdi, [rsi + 0x28]
lea rdx, [0x0055dd1a]
mov r8d, 7
mov rcx, rdi
call fcn.004f2b8c
lea rbx, [rsp + 0x80]
mov rcx, rbx
mov rdx, r14
mov r8, r15
call fcn.004f81bf
mov bpl, byte [rbx]
cmp byte [rbx + 0x18], 2
je 0x4f4ded
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 0x4f4f86
mov qword [rsp + 0x68], rbx
lea rbx, [rsp + 0x80]
mov rcx, rbx
mov rdx, r12
call fcn.004f8a59
mov al, byte [rbx]
cmp al, 3
jne 0x4f4f95
mov bpl, byte [rsp + 0x81]
shl r15, 8
or r15, r14
mov rcx, r15
mov rdx, r12
call fcn.0045b973
mov rax, qword [rsp + 0x78]
mov byte [rax], bpl
jmp 0x4f514f
test r14, r14
je 0x4f4ebe
cmp r13d, 0x23
je 0x4f517e
cmp r13d, 0x3f
je 0x4f5165
cmp r13d, 0x110000
jne 0x4f51b0
cmp dword [r14 + 0x20], 0
je 0x4f57c6
mov r8d, dword [r14 + 0x24]
mov rcx, qword [r14 + 8]
mov rdx, qword [r14 + 0x10]
lea r9, [0x0055dd60]
call fcn.004f74f9
mov r8, rdx
jmp 0x4f57ce
lea r15, [rsi + 0x28]
lea rdx, [0x0055dd1a]
mov eax, 7
mov qword [rsp + 0xf8], rax
mov r8d, 7
mov rcx, r15
call fcn.004f2b8c
mov rcx, qword [rsp + 0xc8]
mov rdx, rbp
call fcn.004f8376
xor ebx, ebx
cmp qword [rsp + 0x1c8], 0
je 0x4f515b
test al, al
mov r14, qword [rsp + 0x78]
jne 0x4f5466
mov rdx, qword [rsp + 0x1c8]
cmp dword [rdx + 0x18], 0
je 0x4f5201
lea rax, [rdx + 0x1c]
jmp 0x4f520f
lea rdi, [rsi + 0x28]
lea rdx, str.file:___
mov r8d, 8
mov rcx, rdi
call fcn.004f2b8c
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.004f67e5
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.004f79ca
mov eax, dword [rbx]
cmp eax, 2
je 0x4f573d
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 [0x004ff780]
movups xmmword [r15 + 0x28], xmm0
mov dword [r15 + 0x38], 7
and word [r15 + 0x3c], 0
mov byte [r15 + 0x40], 0
jmp 0x4f575c
mov qword [rsp + 0x70], r13
xor r13d, r13d
xor ebp, ebp
jmp 0x4f50be
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 0x4f4ffb
lea rcx, [rsp + 0xd8]
call fcn.004f833c
test al, al
je 0x4f4ffb
lea rcx, [rsp + 0xd0]
call fcn.004f8075
xor r13d, r13d
xor ebp, ebp
jmp 0x4f50b9
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, [0x004f87ab]
mov qword [rax + 8], r8
mov qword [rdx + 0x20], rax
mov qword [rdx + 0x28], rcx
mov rcx, rdi
call fcn.004f9cc3
lea rdx, [0x0055de38]
mov ecx, eax
call fcn.004f8044
lea rbx, [rsp + 0x130]
mov rcx, rbx
mov rdx, r13
call fcn.004f8a14
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.0045b973
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 0x4f5147
shr r15, 0x20
test r13b, r13b
setne byte [rsp + 0x100]
test bpl, bpl
je 0x4f556f
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.004f808b
jmp 0x4f55a0
mov rax, qword [rsp + 0x78]
mov byte [rax], 9
mov dword [rax + 0x18], 2
jmp 0x4f574f
mov r14, qword [rsp + 0x78]
jmp 0x4f5466
cmp dword [r14 + 0x18], 0
je 0x4f56ce
lea rax, [r14 + 0x1c]
mov r13, qword [rsp + 0x68]
jmp 0x4f56e2
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.004f7543
jmp 0x4f575c
mov rbx, qword [rsp + 0x70]
mov rcx, rbx
mov r13, qword [rsp + 0x68]
mov rdx, r13
call fcn.004f8376
test al, al
je 0x4f5692
lea rdi, [rsi + 0x28]
lea rdx, str.file:___
mov r8d, 8
mov rcx, rdi
call fcn.004f2b8c
lea r8, [rsp + 0x80]
mov byte [r8], 0
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], rbx
jmp 0x4f4ef7
cmp dword [rdx + 0x20], 0
je 0x4f5828
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.004f33ab
mov rcx, rax
mov qword [rsp + 0xf0], r15
mov r8d, 0x2f
call fcn.004f85a2
test rax, rax
je 0x4f595a
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 0x4f53a7
mov rcx, qword [rsp + 0xa0]
mov cl, byte [rsp + rcx + 0xa7]
cmp r15, 0xf
ja 0x4f52e5
xor edx, edx
cmp r15, rdx
je 0x4f52f2
cmp byte [rax + rdx], cl
je 0x4f52f9
inc rdx
jmp 0x4f52d6
mov rdx, rax
mov r8, r15
call fcn.00430df0
jmp 0x4f52fe
mov rdx, r15
xor eax, eax
jmp 0x4f52fe
mov eax, 1
cmp rax, 1
jne 0x4f5397
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 0x4f5382
cmp r11, rcx
ja 0x4f5382
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.0044e5f0
mov r9, rdx
mov rcx, rdi
mov rdx, rbx
mov r8, rax
call fcn.00455d37
test al, al
jne 0x4f56b3
mov rcx, qword [rsp + 0x88]
mov r11, qword [rsp + 0x90]
mov r8, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x98]
jmp 0x4f5291
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x90], rax
cmp byte [rsp + 0xc1], 0
jne 0x4f594a
mov byte [rsp + 0xc1], 1
cmp byte [rsp + 0xc0], 0
mov rdi, qword [rsp + 0xb0]
mov r12, qword [rsp + 0xb8]
jne 0x4f53e0
cmp r12, rdi
je 0x4f594a
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.004f7f2a
test al, al
je 0x4f5424
mov rcx, r15
mov edx, 0x2f
call fcn.00455560
mov rcx, r15
mov rdx, rdi
mov r8, r12
call fcn.004f2b8c
jmp 0x4f5464
mov rdi, qword [rsp + 0x1c8]
mov rcx, rdi
call fcn.004f3f35
test rax, rax
je 0x4f5464
mov r8, rdx
mov rcx, r15
mov rdx, rax
call fcn.004f2b8c
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 0x4f5466
xor ebx, ebx
add r13d, 0xffffffdd
cmp r13d, 0x39
ja 0x4f56a6
movabs rax, 0x200000010001001
bt rax, r13
mov rax, qword [rsp + 0xc8]
jae 0x4f5496
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.004f67e5
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.004f79ca
mov eax, dword [rdi]
cmp eax, 2
jne 0x4f550a
mov al, byte [rsp + 0x84]
mov byte [r14], al
mov dword [r14 + 0x18], 2
jmp 0x4f574f
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 0x4f575c
mov rcx, rdi
mov edx, 0x2f
call fcn.00455560
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.004f67e5
mov r14, rax
mov r12, rdx
cmp byte [rsp + 0x100], 0
jne 0x4f55dd
lea rbx, [rsp + 0x80]
mov r8d, 7
mov rcx, rbx
mov rdx, rdi
mov r9, r15
call fcn.004f9d55
mov rcx, rbx
call fcn.00405540
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.004f79ca
mov eax, dword [rbx]
cmp eax, 2
jne 0x4f5629
mov al, byte [rsp + 0x84]
mov rcx, qword [rsp + 0x78]
mov byte [rcx], al
mov dword [rcx + 0x18], 2
jmp 0x4f574f
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 0x4f575c
cmp dword [r14 + 0x18], 0
je 0x4f583e
lea rax, [r14 + 0x1c]
jmp 0x4f584d
mov rax, qword [rsp + 0xc8]
jmp 0x4f5496
mov rax, qword [rsp + 0xb0]
mov rdi, qword [rsp + 0x128]
add rdi, rax
sub r12, rax
jmp 0x4f53eb
cmp dword [r14 + 0x20], 0
mov r13, qword [rsp + 0x68]
je 0x4f592e
lea rax, [r14 + 0x24]
mov ebp, ebx
mov r8d, dword [rax]
mov rcx, qword [r14 + 8]
mov rdx, qword [r14 + 0x10]
call fcn.004f767b
mov r8, rdx
mov r12, r14
lea r14, [rsi + 0x28]
mov rcx, r14
mov rdx, rax
call fcn.004f2b8c
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.004f79ca
mov eax, dword [rbx]
cmp eax, 2
jne 0x4f5771
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.0045b973
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 0x4f581f
mov rax, qword [r14 + 8]
mov r8, qword [r14 + 0x10]
lea rcx, [rsi + 0x28]
mov rdx, rax
call fcn.004f2b8c
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 0x4f575c
mov r8d, dword [rdx + 0x38]
mov rcx, qword [rdx + 8]
mov rdx, qword [rdx + 0x10]
call fcn.004f3350
jmp 0x4f5223
cmp dword [r14 + 0x20], 0
je 0x4f593d
lea rax, [r14 + 0x24]
mov r8d, dword [rax]
mov rcx, qword [r14 + 8]
mov rdx, qword [r14 + 0x10]
call fcn.004f767b
mov r8, rdx
lea rcx, [rsi + 0x28]
mov rdx, rax
call fcn.004f2b8c
mov r12, r14
mov r14d, dword [r14 + 0x38]
mov rcx, rsi
xor edx, edx
mov r8, r14
call fcn.004f7ec2
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.004f67e5
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.004f6ee9
jmp 0x4f575c
mov ebp, ebx
mov rax, qword [r14 + 8]
mov r8, qword [r14 + 0x10]
jmp 0x4f56f7
mov rax, qword [r14 + 8]
mov r8, qword [r14 + 0x10]
jmp 0x4f5860
lea rcx, str.called__Option::unwrap____on_a__None__value
lea r8, [0x0055dd40]
jmp 0x4f5968
lea rcx, str.called__Option::unwrap____on_a__None__value
lea r8, [0x0055dd28]
mov edx, 0x2b
call fcn.0042fe50
ud2