Function at 0x4171e0
Capabilities:
Read file via mapping

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
mov eax, 0x40c8
call fcn.00431250
sub rsp, rax
mov r14, rcx
lea rsi, [rsp + 0xc8]
mov rcx, rsi
call fcn.00411b90
cmp qword [rsp + 0xc8], 0
mov r13, qword [rsp + 0xd0]
je 0x417245
mov rsi, r13
mov rcx, rsi
call fcn.00413000
mov qword [r14], 0
add rsp, 0x40c8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
movups xmm0, xmmword [rsp + 0xd8]
movups xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x40], r13
mov rax, qword [rsp + 0x50]
cmp rax, 4
jb 0x4172a2
movabs rcx, 0x5c003f003f005c
lea rdx, [rcx + 0x1d0000]
cmp rdx, qword [r13]
je 0x417311
cmp rcx, qword [r13]
je 0x417311
cmp rax, 0xf8
jae 0x41731b
cmp word [r13 + 2], 0x3a
jne 0x4172ef
movzx eax, word [r13 + 4]
jmp 0x4172ce
cmp rax, 3
je 0x4172b8
cmp rax, 1
jne 0x4172ed
cmp word [r13], 0
jne 0x41731b
jmp 0x417311
cmp word [r13 + 2], 0x3a
jne 0x4172ef
movzx eax, word [r13 + 4]
test ax, ax
je 0x4174b2
cmp ax, 0x2f
je 0x4172da
cmp ax, 0x5c
jne 0x4172ef
movzx eax, word [r13]
cmp ax, 0x2f
je 0x4172f4
cmp ax, 0x5c
je 0x4172f4
jmp 0x417311
jbe 0x41731b
movzx eax, word [r13]
cmp ax, 0x5c
je 0x417300
cmp ax, 0x2f
jne 0x41731b
movzx eax, word [r13 + 2]
cmp ax, 0x5c
je 0x417311
cmp ax, 0x2f
jne 0x41731b
mov rbx, qword [rsp + 0x48]
jmp 0x4176bc
mov qword [rsp + 0x58], r14
xor r14d, r14d
mov r8d, 0x400
mov rcx, rsi
xor edx, edx
call sub.msvcrt.dll_memset
mov qword [rsp + 0x60], 2
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
mov ebp, 0x200
mov ebx, 2
cmp rbp, 0x201
jae 0x417372
jmp 0x4173b0
mov rbp, rsi
jae 0x417413
cmp rbp, 0x201
jb 0x4173b0
mov r8, rbp
sub r8, r14
mov rax, qword [rsp + 0x68]
sub rax, r14
cmp rax, r8
jae 0x417397
lea rcx, [rsp + 0x60]
mov rdx, r14
call fcn.00415030
mov rbx, qword [rsp + 0x60]
mov qword [rsp + 0x70], rbp
mov r14, rbp
mov rdi, rbx
mov r12, rbp
mov rsi, rbx
jmp 0x4173c1
lea rsi, [rsp + 0xc8]
mov rdi, rsi
mov r12d, 0x200
xor ecx, ecx
call sub.KERNEL32.DLL_SetLastError
mov rcx, r13
mov edx, ebp
mov r8, rsi
xor r9d, r9d
call sub.KERNEL32.DLL_GetFullPathNameW
mov r15d, eax
test eax, eax
jne 0x4173e8
call sub.KERNEL32.DLL_GetLastError
test eax, eax
jne 0x417453
mov esi, r15d
cmp rbp, rsi
jne 0x417360
call sub.KERNEL32.DLL_GetLastError
cmp eax, 0x7a
jne 0x417909
add rbp, rbp
cmp rbp, 0x201
jb 0x4173b0
jmp 0x417372
cmp r12, rsi
jb 0x417923
mov qword [rsp + 0x50], 0
cmp r15d, 2
mov r14, qword [rsp + 0x58]
jbe 0x41747a
movzx eax, word [rdi + 2]
cmp ax, 0x3a
jne 0x417488
cmp word [rdi + 4], 0x5c
jne 0x417488
lea r15, str.__UNC_
mov r12d, 4
jmp 0x417522
call sub.KERNEL32.DLL_GetLastError
mov esi, eax
shl rsi, 0x20
or rsi, 2
mov r14, qword [rsp + 0x58]
mov rax, qword [rsp + 0x68]
test rax, rax
jne 0x417674
jmp 0x41768a
je 0x4174f4
lea r15, [0x004372b0]
jmp 0x41751f
cmp r15d, 4
jb 0x4174f4
cmp word [rdi], 0x5c
jne 0x4174f4
cmp ax, 0x3f
je 0x4174d0
cmp ax, 0x5c
jne 0x4174f4
movzx eax, word [rdi + 4]
cmp ax, 0x2e
je 0x4174e0
cmp ax, 0x3f
je 0x4174d7
jmp 0x4174f4
movzx eax, word [r13]
cmp ax, 0x2f
je 0x4172ef
cmp ax, 0x5c
je 0x4172ef
jmp 0x417311
cmp word [rdi + 4], 0x3f
jne 0x4174f4
cmp word [rdi + 6], 0x5c
je 0x41747c
jmp 0x4174f4
cmp word [rdi + 6], 0x5c
jne 0x4174f4
add rdi, 8
add rsi, 0xfffffffffffffffc
jmp 0x417441
lea r15, [0x004372b0]
cmp word [rdi], 0x5c
jne 0x41751f
cmp word [rdi + 2], 0x5c
jne 0x41751f
add rdi, 4
add rsi, 0xfffffffffffffffe
lea r15, [0x00438778]
mov r12d, 8
jmp 0x417522
xor r12d, r12d
mov rbx, r12
or rbx, 1
add rbx, rsi
mov rax, qword [rsp + 0x48]
cmp rax, rbx
jae 0x417565
xor r8d, r8d
mov rdx, rbx
add rdx, rbx
setae r8b
add r8, r8
test rax, rax
je 0x41758d
add rax, rax
mov qword [rsp + 0x90], r13
mov qword [rsp + 0x98], rax
mov eax, 2
jmp 0x41758f
mov rbx, rax
cmp rbx, r12
jae 0x4175cc
lea rcx, [rsp + 0x40]
xor edx, edx
mov r8, r12
call fcn.00415030
mov rbp, qword [rsp + 0x50]
mov r13, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x48]
jmp 0x4175ce
xor eax, eax
mov qword [rsp + 0xa0], rax
lea rcx, [rsp + 0x78]
lea r9, [rsp + 0x90]
call fcn.00408380
cmp qword [rsp + 0x78], 0
jne 0x417930
mov r13, qword [rsp + 0x80]
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x48], rbx
cmp rbx, r12
jb 0x41756d
xor ebp, ebp
lea r8, [r12 + r12]
lea rcx, [rbp*2]
add rcx, r13
mov rdx, r15
call sub.msvcrt.dll_memcpy
add rbp, r12
mov qword [rsp + 0x50], rbp
mov rax, rbx
sub rax, rbp
cmp rax, rsi
jae 0x417617
lea rcx, [rsp + 0x40]
mov rdx, rbp
mov r8, rsi
call fcn.00415030
mov rbp, qword [rsp + 0x50]
mov r13, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x48]
lea r8, [rsi + rsi]
lea rcx, [rbp*2]
add rcx, r13
mov rdx, rdi
call sub.msvcrt.dll_memcpy
add rbp, rsi
mov qword [rsp + 0x50], rbp
cmp rbp, rbx
jne 0x417652
lea rcx, [rsp + 0x40]
mov rdx, rbx
call fcn.00414f80
mov r13, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x50]
mov word [r13 + rbp*2], 0
add rbp, 1
mov qword [rsp + 0x50], rbp
xor esi, esi
mov rbx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x41768a
add rax, rax
je 0x41768a
mov rcx, qword [0x0043d0c0]
xor edx, edx
mov r8, rbx
call sub.KERNEL32.DLL_HeapFree
mov r13, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x48]
test rsi, rsi
je 0x4176bc
test rbx, rbx
je 0x4176b4
add rbx, rbx
je 0x4176b4
mov rcx, qword [0x0043d0c0]
xor edx, edx
mov r8, r13
call sub.KERNEL32.DLL_HeapFree
mov r13, rsi
jmp 0x41721f
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 3
mov rcx, r13
mov edx, 0x80000000
mov r8d, 7
xor r9d, r9d
call sub.KERNEL32.DLL_CreateFileW
mov rdi, rax
mov rsi, rax
cmp rax, 0xffffffffffffffff
jne 0x417706
call sub.KERNEL32.DLL_GetLastError
mov esi, eax
shl rsi, 0x20
or rsi, 2
test rbx, rbx
je 0x417721
add rbx, rbx
je 0x417721
mov rcx, qword [0x0043d0c0]
xor edx, edx
mov r8, r13
call sub.KERNEL32.DLL_HeapFree
cmp rdi, 0xffffffffffffffff
je 0x417222
xorps xmm0, xmm0
movaps xmmword [rsp + 0xb0], xmm0
movaps xmmword [rsp + 0xa0], xmm0
movaps xmmword [rsp + 0x90], xmm0
mov dword [rsp + 0xc0], 0
lea rdx, [rsp + 0x90]
mov rcx, rsi
call sub.KERNEL32.DLL_GetFileInformationByHandle
test eax, eax
je 0x417843
test byte [rsp + 0x91], 4
je 0x4177dc
lea rdi, [rsp + 0xc8]
mov r8d, 0x4000
mov rcx, rdi
xor edx, edx
call sub.msvcrt.dll_memset
mov dword [rsp + 0x78], 0
lea rax, [rsp + 0x78]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x38], 0
mov dword [rsp + 0x28], 0x4000
mov rcx, rsi
mov edx, 0x900a8
xor r8d, r8d
xor r9d, r9d
call sub.KERNEL32.DLL_DeviceIoControl
test eax, eax
jne 0x4177dc
call sub.KERNEL32.DLL_GetLastError
shl rax, 0x20
lea rcx, [rax + 2]
call fcn.00413000
mov edi, dword [rsp + 0xb0]
mov ebp, dword [rsp + 0xb4]
test rsi, rsi
je 0x41785a
mov qword [rsp + 0xc8], 0
call sub.KERNEL32.DLL_GetCurrentProcess
mov dword [rsp + 0x30], 2
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
lea r9, [rsp + 0xc8]
mov rcx, rax
mov rdx, rsi
mov r8, rax
call sub.KERNEL32.DLL_DuplicateHandle
test eax, eax
je 0x4178e3
mov r15, r14
mov r14, qword [rsp + 0xc8]
jmp 0x417862
call sub.KERNEL32.DLL_GetLastError
shl rax, 0x20
lea rcx, [rax + 2]
call fcn.00413000
jmp 0x4178f5
mov r15, r14
xor esi, esi
xor r14d, r14d
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov rcx, r14
xor edx, edx
mov r8d, 2
xor r9d, r9d
call sub.KERNEL32.DLL_CreateFileMappingA
test rax, rax
je 0x4178d2
mov rbx, rax
shl rdi, 0x20
or rdi, rbp
mov qword [rsp + 0x20], rdi
mov rcx, rax
mov edx, 4
xor r8d, r8d
xor r9d, r9d
call sub.KERNEL32.DLL_MapViewOfFile
mov rbp, rax
mov rcx, rbx
call sub.KERNEL32.DLL_CloseHandle
test rbp, rbp
je 0x4178d2
mov qword [r15 + 8], r14
mov qword [r15 + 0x10], rbp
mov qword [r15 + 0x18], rdi
mov qword [r15], 1
jmp 0x4178fc
mov qword [r15], 0
mov rcx, r14
call sub.KERNEL32.DLL_CloseHandle
jmp 0x4178fc
call sub.KERNEL32.DLL_GetLastError
shl rax, 0x20
lea rcx, [rax + 2]
call fcn.00413000
mov qword [r14], 0
mov rcx, rsi
call sub.KERNEL32.DLL_CloseHandle
jmp 0x417231
lea rcx, str.internal_error:_entered_unreachable_code_rustc_4b91a6ea7258a947e59c6522cd5898e7c0a6a88flibrary_alloc_srccollections_btree_navigate.rs
lea r8, str.library_std_src_syswindowsmod.rs
mov edx, 0x28
call fcn.004031a0
jmp 0x417951
mov rcx, rsi
mov rdx, r12
call fcn.00402d00
jmp 0x417951
mov rdx, qword [rsp + 0x88]
test rdx, rdx
jne 0x417944
call fcn.00401880
jmp 0x417951
mov rcx, qword [rsp + 0x80]
call fcn.004018d0
ud2