Function at 0x140017380
Capabilities:
Parse pe header

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x58
xor eax, eax
mov word [rsp + 0x20], ax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
movzx eax, word [rax]
test eax, eax
jne 0x1400173ce
mov rax, qword [rsp + 0x60]
lea r8, str.Invalid_empty_pathname
mov edx, 0xffffffff
mov rcx, rax
call fcn.14000a870
mov eax, 0xffffffe7
jmp 0x140017f29
jmp 0x1400173de
mov rax, qword [rsp + 0x28]
add rax, 2
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
movzx eax, word [rax]
test eax, eax
je 0x140017406
mov rax, qword [rsp + 0x28]
movzx eax, word [rax]
cmp eax, 0x2f
jne 0x140017404
mov eax, 0x5c
mov rcx, qword [rsp + 0x28]
mov word [rcx], ax
jmp 0x1400173d0
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x28], rax
mov eax, 2
imul rax, rax, 0
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x5c
jne 0x140017b29
mov eax, 2
imul rax, rax, 1
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x5c
jne 0x140017b29
mov eax, 2
imul rax, rax, 2
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x2e
je 0x140017478
mov eax, 2
imul rax, rax, 2
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x3f
jne 0x140017b29
mov eax, 2
imul rax, rax, 3
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x5c
jne 0x140017b29
mov eax, 2
imul rax, rax, 2
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x3f
jne 0x140017566
mov eax, 2
imul rax, rax, 4
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x55
je 0x1400174e0
mov eax, 2
imul rax, rax, 4
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x75
jne 0x140017566
mov eax, 2
imul rax, rax, 5
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x4e
je 0x14001750e
mov eax, 2
imul rax, rax, 5
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x6e
jne 0x140017566
mov eax, 2
imul rax, rax, 6
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x43
je 0x14001753c
mov eax, 2
imul rax, rax, 6
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x63
jne 0x140017566
mov eax, 2
imul rax, rax, 7
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x5c
jne 0x140017566
mov rax, qword [rsp + 0x28]
add rax, 0x10
mov qword [rsp + 0x28], rax
jmp 0x140017b27
mov eax, 2
imul rax, rax, 2
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x3f
jne 0x14001780f
mov eax, 2
imul rax, rax, 4
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x56
je 0x1400175b3
mov eax, 2
imul rax, rax, 4
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x76
jne 0x14001780f
mov eax, 2
imul rax, rax, 5
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x4f
je 0x1400175e5
mov eax, 2
imul rax, rax, 5
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x6f
jne 0x14001780f
mov eax, 2
imul rax, rax, 6
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x4c
je 0x140017617
mov eax, 2
imul rax, rax, 6
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x6c
jne 0x14001780f
mov eax, 2
imul rax, rax, 7
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x55
je 0x140017649
mov eax, 2
imul rax, rax, 7
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x75
jne 0x14001780f
mov eax, 2
imul rax, rax, 8
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x4d
je 0x14001767b
mov eax, 2
imul rax, rax, 8
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x6d
jne 0x14001780f
mov eax, 2
imul rax, rax, 9
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x45
je 0x1400176ad
mov eax, 2
imul rax, rax, 9
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x65
jne 0x14001780f
mov eax, 2
imul rax, rax, 0xa
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x7b
jne 0x14001780f
mov rax, qword [rsp + 0x28]
add rax, 0x16
mov edx, 8
mov rcx, rax
call fcn.14001c840
test eax, eax
jne 0x1400177fc
mov eax, 2
imul rax, rax, 0x13
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x2d
jne 0x1400177fc
mov rax, qword [rsp + 0x28]
add rax, 0x28
mov edx, 4
mov rcx, rax
call fcn.14001c840
test eax, eax
jne 0x1400177fc
mov eax, 2
imul rax, rax, 0x18
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x2d
jne 0x1400177fc
mov rax, qword [rsp + 0x28]
add rax, 0x32
mov edx, 4
mov rcx, rax
call fcn.14001c840
test eax, eax
jne 0x1400177fc
mov eax, 2
imul rax, rax, 0x1d
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x2d
jne 0x1400177fc
mov rax, qword [rsp + 0x28]
add rax, 0x3c
mov edx, 4
mov rcx, rax
call fcn.14001c840
test eax, eax
jne 0x1400177fc
mov eax, 2
imul rax, rax, 0x22
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x2d
jne 0x1400177fc
mov rax, qword [rsp + 0x28]
add rax, 0x46
mov edx, 0xc
mov rcx, rax
call fcn.14001c840
test eax, eax
jne 0x1400177fc
mov eax, 2
imul rax, rax, 0x2f
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x7d
jne 0x1400177fc
mov eax, 2
imul rax, rax, 0x30
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x5c
jne 0x1400177fc
mov rax, qword [rsp + 0x28]
add rax, 0x62
mov qword [rsp + 0x28], rax
jmp 0x14001780a
mov rax, qword [rsp + 0x28]
add rax, 8
mov qword [rsp + 0x28], rax
jmp 0x140017b27
mov eax, 2
imul rax, rax, 2
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x2e
jne 0x140017b19
mov eax, 2
imul rax, rax, 4
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x50
je 0x14001785c
mov eax, 2
imul rax, rax, 4
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x70
jne 0x140017b19
mov eax, 2
imul rax, rax, 5
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x48
je 0x14001788e
mov eax, 2
imul rax, rax, 5
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x68
jne 0x140017b19
mov eax, 2
imul rax, rax, 6
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x59
je 0x1400178c0
mov eax, 2
imul rax, rax, 6
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x79
jne 0x140017b19
mov eax, 2
imul rax, rax, 7
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x53
je 0x1400178f2
mov eax, 2
imul rax, rax, 7
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x73
jne 0x140017b19
mov eax, 2
imul rax, rax, 8
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x49
je 0x140017924
mov eax, 2
imul rax, rax, 8
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x69
jne 0x140017b19
mov eax, 2
imul rax, rax, 9
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x43
je 0x140017956
mov eax, 2
imul rax, rax, 9
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x63
jne 0x140017b19
mov eax, 2
imul rax, rax, 9
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x41
je 0x140017988
mov eax, 2
imul rax, rax, 9
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x61
jne 0x140017b19
mov eax, 2
imul rax, rax, 9
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x4c
je 0x1400179ba
mov eax, 2
imul rax, rax, 9
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x6c
jne 0x140017b19
mov eax, 2
imul rax, rax, 9
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x44
je 0x1400179ec
mov eax, 2
imul rax, rax, 9
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x64
jne 0x140017b19
mov eax, 2
imul rax, rax, 9
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x52
je 0x140017a1e
mov eax, 2
imul rax, rax, 9
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x72
jne 0x140017b19
mov eax, 2
imul rax, rax, 9
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x49
je 0x140017a50
mov eax, 2
imul rax, rax, 9
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x69
jne 0x140017b19
mov eax, 2
imul rax, rax, 9
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x56
je 0x140017a82
mov eax, 2
imul rax, rax, 9
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x76
jne 0x140017b19
mov eax, 2
imul rax, rax, 9
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x45
je 0x140017ab0
mov eax, 2
imul rax, rax, 9
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x65
jne 0x140017b19
mov eax, 2
imul rax, rax, 0xa
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x30
jl 0x140017b19
mov eax, 2
imul rax, rax, 0xa
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x39
jg 0x140017b19
mov eax, 2
imul rax, rax, 0xb
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
test eax, eax
jne 0x140017b19
mov rax, qword [rsp + 0x60]
lea r8, str.Path_is_a_physical_drive_name
mov edx, 0xffffffff
mov rcx, rax
call fcn.14000a870
mov eax, 0xffffffe7
jmp 0x140017f29
mov rax, qword [rsp + 0x28]
add rax, 8
mov qword [rsp + 0x28], rax
jmp 0x140017b65
mov eax, 2
imul rax, rax, 0
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x5c
jne 0x140017b65
mov eax, 2
imul rax, rax, 1
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x5c
jne 0x140017b65
mov rax, qword [rsp + 0x28]
add rax, 4
mov qword [rsp + 0x28], rax
mov eax, 2
imul rax, rax, 0
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x61
jl 0x140017b93
mov eax, 2
imul rax, rax, 0
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x7a
jle 0x140017bc5
mov eax, 2
imul rax, rax, 0
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x41
jl 0x140017c3a
mov eax, 2
imul rax, rax, 0
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x5a
jg 0x140017c3a
mov eax, 2
imul rax, rax, 1
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x3a
jne 0x140017c3a
mov eax, 2
imul rax, rax, 2
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
test eax, eax
jne 0x140017c15
mov rax, qword [rsp + 0x60]
lea r8, str.Path_is_a_drive_name
mov edx, 0xffffffff
mov rcx, rax
call fcn.14000a870
mov eax, 0xffffffe7
jmp 0x140017f29
mov eax, 2
imul rax, rax, 2
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax]
cmp eax, 0x5c
jne 0x140017c3a
mov rax, qword [rsp + 0x28]
add rax, 4
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x40], rax
jmp 0x140017c68
mov rax, qword [rsp + 0x28]
add rax, 2
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
movzx eax, word [rax]
test eax, eax
je 0x140017ce1
mov rax, qword [rsp + 0x28]
movzx eax, word [rax]
cmp eax, 0x3a
je 0x140017ccf
mov rax, qword [rsp + 0x28]
movzx eax, word [rax]
cmp eax, 0x2a
je 0x140017ccf
mov rax, qword [rsp + 0x28]
movzx eax, word [rax]
cmp eax, 0x3f
je 0x140017ccf
mov rax, qword [rsp + 0x28]
movzx eax, word [rax]
cmp eax, 0x22
je 0x140017ccf
mov rax, qword [rsp + 0x28]
movzx eax, word [rax]
cmp eax, 0x3c
je 0x140017ccf
mov rax, qword [rsp + 0x28]
movzx eax, word [rax]
cmp eax, 0x3e
je 0x140017ccf
mov rax, qword [rsp + 0x28]
movzx eax, word [rax]
cmp eax, 0x7c
jne 0x140017cdc
mov eax, 0x5f
mov rcx, qword [rsp + 0x28]
mov word [rcx], ax
jmp 0x140017c5a
mov rax, qword [rsp + 0x30]
movzx eax, word [rax]
cmp eax, 0x5c
jne 0x140017d09
mov rax, qword [rsp + 0x30]
movzx eax, word [rax]
mov word [rsp + 0x20], ax
mov rax, qword [rsp + 0x30]
add rax, 2
mov qword [rsp + 0x30], rax
mov eax, 2
imul rax, rax, 0
mov rcx, qword [rsp + 0x30]
movzx eax, word [rcx + rax]
test eax, eax
jne 0x140017d29
jmp 0x140017ed0
mov eax, 2
imul rax, rax, 0
mov rcx, qword [rsp + 0x30]
movzx eax, word [rcx + rax]
cmp eax, 0x5c
jne 0x140017d55
mov rax, qword [rsp + 0x30]
add rax, 2
mov qword [rsp + 0x30], rax
jmp 0x140017d09
mov eax, 2
imul rax, rax, 0
mov rcx, qword [rsp + 0x30]
movzx eax, word [rcx + rax]
cmp eax, 0x2e
jne 0x140017e37
mov eax, 2
imul rax, rax, 1
mov rcx, qword [rsp + 0x30]
movzx eax, word [rcx + rax]
test eax, eax
jne 0x140017d90
jmp 0x140017ed0
mov eax, 2
imul rax, rax, 1
mov rcx, qword [rsp + 0x30]
movzx eax, word [rcx + rax]
cmp eax, 0x5c
jne 0x140017dbc
mov rax, qword [rsp + 0x30]
add rax, 4
mov qword [rsp + 0x30], rax
jmp 0x140017d09
mov eax, 2
imul rax, rax, 1
mov rcx, qword [rsp + 0x30]
movzx eax, word [rcx + rax]
cmp eax, 0x2e
jne 0x140017e37
mov eax, 2
imul rax, rax, 2
mov rcx, qword [rsp + 0x30]
movzx eax, word [rcx + rax]
cmp eax, 0x5c
je 0x140017e00
mov eax, 2
imul rax, rax, 2
mov rcx, qword [rsp + 0x30]
movzx eax, word [rcx + rax]
test eax, eax
jne 0x140017e37
mov rax, qword [rsp + 0x60]
mov eax, dword [rax + 0x1a8]
and eax, 0x200
test eax, eax
je 0x140017e37
mov rax, qword [rsp + 0x60]
lea r8, str.Path_contains_..
mov edx, 0xffffffff
mov rcx, rax
call fcn.14000a870
mov eax, 0xffffffe7
jmp 0x140017f29
movzx eax, word [rsp + 0x20]
test eax, eax
je 0x140017e5b
mov eax, 0x5c
mov rcx, qword [rsp + 0x38]
mov word [rcx], ax
mov rax, qword [rsp + 0x38]
add rax, 2
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x30]
movzx eax, word [rax]
test eax, eax
je 0x140017ea2
mov rax, qword [rsp + 0x30]
movzx eax, word [rax]
cmp eax, 0x5c
je 0x140017ea2
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x30]
movzx ecx, word [rcx]
mov word [rax], cx
mov rax, qword [rsp + 0x38]
add rax, 2
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x30]
add rax, 2
mov qword [rsp + 0x30], rax
jmp 0x140017e5b
mov rax, qword [rsp + 0x30]
movzx eax, word [rax]
test eax, eax
jne 0x140017eb0
jmp 0x140017ed0
mov rax, qword [rsp + 0x30]
movzx eax, word [rax]
mov word [rsp + 0x20], ax
mov rax, qword [rsp + 0x30]
add rax, 2
mov qword [rsp + 0x30], rax
jmp 0x140017d09
mov rax, qword [rsp + 0x40]
cmp qword [rsp + 0x38], rax
jne 0x140017f1d
movzx eax, word [rsp + 0x20]
test eax, eax
je 0x140017f02
mov eax, 0x5c
mov rcx, qword [rsp + 0x38]
mov word [rcx], ax
mov rax, qword [rsp + 0x38]
add rax, 2
mov qword [rsp + 0x38], rax
jmp 0x140017f1d
mov eax, 0x2e
mov rcx, qword [rsp + 0x38]
mov word [rcx], ax
mov rax, qword [rsp + 0x38]
add rax, 2
mov qword [rsp + 0x38], rax
xor eax, eax
mov rcx, qword [rsp + 0x38]
mov word [rcx], ax
xor eax, eax
add rsp, 0x58
ret