Function at 0x14004d110
Capabilities:
Check if file exists
Get file attributes
Set current directory

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x400]
sub rsp, 0x500
xor esi, esi
mov dword [rsp + 0x70], 0x90020
mov word [rsp + 0x74], si
mov r9d, SafeArrayAllocDescriptor
mov r12, rdx
mov r15, rcx
mov r8, rdx
lea r14, [r9 - 0x21]
test rdx, rdx
je 0x14004d190
movzx edx, word [rdx]
test dx, dx
je 0x14004d190
nop dword [rax]
lea rcx, [rsp + 0x70]
movzx eax, r9w
nop dword [rax]
cmp dx, ax
je 0x14004d1be
movzx eax, word [rcx + 2]
add rcx, 2
test ax, ax
jne 0x14004d170
movzx edx, word [r8 + 2]
add r8, 2
test dx, dx
jne 0x14004d160
mov rax, r14
cmp word [r12 + rax*2 + 2], si
lea rax, [rax + 1]
jne 0x14004d193
lea r8, [r12 + rax*2]
mov rdi, rsi
mov rbx, r8
sub rbx, r12
sar rbx, 1
cmp rbx, r9
jb 0x14004d1dd
mov eax, 4
jmp 0x14004e06c
mov rdi, r8
movzx eax, word [rdi]
cmp ax, r9w
je 0x14004d1d0
cmp ax, 9
jne 0x14004d1d6
add rdi, 2
jmp 0x14004d1c1
test ax, ax
jne 0x14004d1a6
jmp 0x14004d1a3
mov qword [rsp + 0x540], r13
cmp word [r8], si
je 0x14004d205
mov r8, rbx
lea rcx, [rbp - 0x40]
mov rdx, r12
call fcn.1400cf354
mov word [rbp + rbx*2 - 0x40], si
lea rbx, [rbp - 0x40]
jmp 0x14004d208
mov rbx, r12
lea rdx, [0x140104840]
mov byte [rbp + 0x448], sil
mov rcx, rbx
call fcn.1400c0814
mov r13d, 3
test eax, eax
je 0x14004de66
lea rdx, [0x140104fd8]
mov rcx, rbx
call fcn.1400c0814
test eax, eax
sete byte [rbp + 0x448]
test eax, eax
je 0x14004de66
lea rdx, [0x140105060]
mov rcx, rbx
call fcn.1400c0814
test eax, eax
jne 0x14004d3d4
test rdi, rdi
jne 0x14004d293
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetDllDirectoryW]
test eax, eax
jne 0x14004e019
lea r8, [0x1400fbbd0]
mov rcx, r15
lea rdx, [0x1400fdd30]
call fcn.140010a80
jmp 0x14004e064
movzx eax, word [rdi]
cmp ax, 0x22
je 0x14004d2a2
cmp ax, 0x27
jne 0x14004d2c6
lea rbx, [rdi + 2]
xor edx, edx
mov rcx, rbx
call fcn.1400bbe98
mov rcx, rax
movzx eax, word [rdi]
cmp word [rcx - 2], ax
jne 0x14004d2c6
mov word [rcx - 2], si
mov rdi, rbx
movzx eax, word [rbx]
cmp ax, 0x2a
jne 0x14004d30a
movzx edx, word [rdi + 2]
mov r8d, 0xffdf
movzx ecx, dx
and cx, r8w
lea eax, [rdx - 0x61]
cmp ax, 0x19
cmova cx, dx
cmp cx, 0x49
jne 0x14004d30a
movzx eax, word [rdi + 4]
add rdi, 4
mov bl, 1
cmp ax, 0x20
je 0x14004d304
cmp ax, 9
jne 0x14004d30c
add rdi, 2
jmp 0x14004d30c
xor bl, bl
mov r8, rdi
lea rdx, [rbp + 0x450]
mov rcx, r15
call fcn.14005ecc0
test eax, eax
je 0x14004dfec
mov rdi, qword [rbp + 0x450]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14004d375
test al, 0x10
je 0x14004d375
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_SetDllDirectoryW]
mov rcx, rdi
mov ebx, eax
call fcn.1400c0990
test ebx, ebx
jne 0x14004e019
lea r8, [0x1400fbbd0]
mov rcx, r15
lea rdx, [0x1400fdd30]
call fcn.140010a80
jmp 0x14004e064
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov qword [rbp + 0x448], rax
test rax, rax
je 0x14004d3ab
lea r8, [rbp + 0x448]
mov rdx, rdi
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
mov rax, qword [rbp + 0x448]
test rax, rax
jne 0x14004d3c4
test bl, bl
jne 0x14004d3c4
mov r8, rdi
lea rdx, [0x140101ef0]
mov rcx, r15
call fcn.140010a80
mov r13d, eax
mov rcx, rdi
call fcn.1400c0990
mov eax, r13d
jmp 0x14004e064
lea rdx, [0x140105078]
mov rcx, rbx
call fcn.1400c0814
test eax, eax
jne 0x14004d3f6
mov byte [0x140125c5c], 1
mov eax, r13d
jmp 0x14004e064
lea rdx, [0x140105090]
mov rcx, rbx
call fcn.1400c0814
test eax, eax
jne 0x14004d4a9
test rdi, rdi
je 0x14004d496
lea rdx, [0x1401050b0]
mov rcx, rdi
call fcn.1400c0814
test eax, eax
je 0x14004d496
lea rdx, [0x1401050c0]
mov rcx, rdi
call fcn.1400c0814
test eax, eax
jne 0x14004d44f
mov eax, 1
mov dword [0x14011f194], eax
mov eax, r13d
jmp 0x14004e064
lea rdx, [0x1401050d0]
mov rcx, rdi
call fcn.1400c0814
test eax, eax
jne 0x14004d471
mov dword [0x14011f194], r13d
mov eax, r13d
jmp 0x14004e064
lea rdx, [0x140101190]
mov rcx, rdi
call fcn.1400c0814
test eax, eax
jne 0x14004dc42
mov dword [0x14011f194], esi
mov eax, r13d
jmp 0x14004e064
mov esi, 2
mov eax, r13d
mov dword [0x14011f194], esi
jmp 0x14004e064
lea rdx, [0x1401050e0]
mov rcx, rbx
call fcn.1400c0814
test eax, eax
jne 0x14004d52a
test rdi, rdi
je 0x14004d51b
cmp word [rdi], si
je 0x14004d51b
lea rdx, [0x1401052c8]
mov rcx, rdi
call fcn.1400c0814
test eax, eax
je 0x14004d51b
cmp word [rdi], 0x31
jne 0x14004d4e5
cmp word [rdi + 2], si
je 0x14004d51b
lea rdx, [0x1401052d8]
mov rcx, rdi
call fcn.1400c0814
test eax, eax
je 0x14004d50c
cmp word [rdi], 0x30
jne 0x14004db2f
cmp word [rdi + 2], si
jne 0x14004db2f
mov byte [0x140125aef], sil
mov eax, r13d
jmp 0x14004e064
mov byte [0x140125aef], 1
mov eax, r13d
jmp 0x14004e064
lea rdx, [0x1400fffc0]
mov rcx, rbx
call fcn.1400c0814
test eax, eax
jne 0x14004d72d
cmp dword [r15 + 0x94], esi
jne 0x14004d712
mov r10, qword [0x14011f188]
mov rax, qword [r15 + 0x30]
cmp qword [r10 + 0x28], rax
jne 0x14004d712
test rdi, rdi
jne 0x14004d577
mov qword [r10 + 0x80], rsi
mov eax, r13d
jmp 0x14004e064
mov r9, qword [0x140125de8]
test r9, r9
je 0x14004d5b3
mov r8, qword [r9 + 0x18]
test r8, r8
je 0x14004d5aa
mov rax, rdi
sub r8, rdi
movzx edx, word [rax]
movzx ecx, word [rax + r8]
sub edx, ecx
jne 0x14004d5a6
add rax, 2
test ecx, ecx
jne 0x14004d592
test edx, edx
je 0x14004d5fc
mov r9, qword [r9 + 0x30]
test r9, r9
jne 0x14004d583
mov qword [r10 + 0x80], rsi
mov r13, qword [r15 + 0x30]
mov rcx, r15
call fcn.140062b40
mov rcx, qword [r15 + 0x30]
call fcn.140018e00
cmp eax, 1
je 0x14004d60e
cmp eax, 0xa00e0001
jne 0x14004e062
lea r8, [0x1400fbbd0]
mov rcx, r15
lea rdx, [0x1400ffa10]
call fcn.140010a80
mov esi, eax
jmp 0x14004e062
mov qword [r10 + 0x80], r9
test r9, r9
jne 0x14004e019
jmp 0x14004d5ba
lea rbx, [0x1400fbbd0]
cmp word [rdi], si
je 0x14004d661
nop word [rax + rax]
inc r14
cmp word [rdi + r14*2], si
jne 0x14004d620
lea r12, [r14 + r14]
lea rcx, [r12 + 2]
call fcn.1400995e0
mov rsi, rax
test rax, rax
je 0x14004e07e
test r14, r14
je 0x14004d657
mov r8, r12
mov rdx, rdi
mov rcx, rax
call fcn.1400bbf50
xor r14d, r14d
mov word [r12 + rsi], r14w
jmp 0x14004d667
mov rsi, rbx
xor r14d, r14d
mov rax, qword [0x14011f188]
xor r9d, r9d
mov byte [rsp + 0x28], 0
xor r8d, r8d
mov dl, 3
mov qword [rsp + 0x20], r14
mov rcx, qword [rax + 0x80]
mov qword [rcx + 0x18], rsi
mov rcx, r15
mov rsi, qword [r15 + 0x30]
call fcn.140050100
test eax, eax
je 0x14004d6fb
xor r9d, r9d
mov qword [rsp + 0x20], r14
mov r8b, 6
mov rdx, rdi
mov rcx, r15
call fcn.14004e340
test eax, eax
je 0x14004d6fb
mov byte [rsp + 0x28], 0
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], r14
mov dl, 4
mov rcx, r15
call fcn.140050100
test eax, eax
je 0x14004d6fb
mov rcx, qword [rsi + 0x40]
mov rdx, qword [0x14011f188]
mov rax, qword [rdx + 0x80]
mov qword [rcx + 0x10], rax
mov eax, 3
mov qword [r15 + 0x30], r13
mov qword [rdx + 0x28], r13
jmp 0x14004e064
mov r8, rbx
lea rdx, [0x1400ffa10]
mov rcx, r15
call fcn.140010a80
jmp 0x14004e064
lea r8, [0x1400fbbd0]
mov rcx, r15
lea rdx, [0x1401025d8]
call fcn.140010a80
jmp 0x14004e064
lea rdx, [0x1401050f8]
mov rcx, rbx
call fcn.1400c0814
test eax, eax
jne 0x14004d75f
test rdi, rdi
je 0x14004e019
mov rcx, rdi
call fcn.14009d5f0
mov dword [0x14011fb30], eax
mov eax, r13d
jmp 0x14004e064
lea rdx, [0x140105118]
mov rcx, rbx
call fcn.1400c0814
test eax, eax
jne 0x14004d8e0
test rdi, rdi
je 0x14004e019
lea rdx, [0x140101738]
mov rcx, rdi
call fcn.14009d0e0
mov r8, rax
test rax, rax
je 0x14004d81b
movzx edx, word [rax]
test dx, dx
je 0x14004e019
mov r9d, 9
nop dword [rax]
lea rcx, [0x140105130]
movzx eax, r9w
nop dword [rax + rax]
cmp dx, ax
je 0x14004d7e8
movzx eax, word [rcx + 2]
add rcx, 2
test ax, ax
jne 0x14004d7c0
movzx edx, word [r8 + 2]
add r8, 2
test dx, dx
jne 0x14004d7b0
mov eax, r13d
jmp 0x14004e064
lea rdx, [r8 + 2]
mov r8d, WSAAsyncSelect
lea rcx, [0x14011fa60]
call fcn.1400cf354
xor edx, edx
mov word [0x14011fb28], si
lea rcx, [0x14011fa60]
call fcn.14009f4b0
mov eax, r13d
jmp 0x14004e064
mov r8d, 7
lea rdx, [0x140105138]
mov rcx, rdi
call fcn.1400c0a00
test eax, eax
jne 0x14004d843
mov byte [0x14011f1a5], sil
mov eax, r13d
jmp 0x14004e064
lea rax, [0x140125b36]
mov rcx, rdi
mov qword [rsp + 0x68], rax
lea r9, [0x14011fb2c]
lea rax, [0x140125b0c]
mov qword [rsp + 0x60], rax
lea r8, [0x140125c48]
lea rax, [0x140125b0d]
mov qword [rsp + 0x58], rax
lea rdx, [0x140125c4c]
lea rax, [0x140125b0e]
mov qword [rsp + 0x50], rax
lea rax, [0x14011f1a6]
mov qword [rsp + 0x48], rax
lea rax, [0x140125b25]
mov qword [rsp + 0x40], rax
lea rax, [0x140125b0f]
mov qword [rsp + 0x38], rax
lea rax, [0x14011f1a7]
mov qword [rsp + 0x30], rax
lea rax, [0x14011f1a8]
mov qword [rsp + 0x28], rax
lea rax, [0x140125b24]
mov qword [rsp + 0x20], rax
call fcn.14001bb50
mov eax, r13d
jmp 0x14004e064
lea rdx, [0x140105148]
mov rcx, rbx
call fcn.1400c0814
test eax, eax
jne 0x14004d92a
test rdi, rdi
je 0x14004e019
mov rcx, rdi
call fcn.14009d5f0
mov ecx, 0xff
mov rdx, rax
cmp eax, ecx
jg 0x14004d91c
mov eax, 1
mov ecx, edx
cmp edx, eax
cmovl ecx, eax
mov byte [0x14011f1a9], cl
mov eax, r13d
jmp 0x14004e064
lea rdx, [0x140105178]
mov rcx, rbx
call fcn.1400c0814
test eax, eax
jne 0x14004d9ab
test rdi, rdi
je 0x14004d99c
cmp word [rdi], si
je 0x14004d99c
lea rdx, [0x1401052c8]
mov rcx, rdi
call fcn.1400c0814
test eax, eax
je 0x14004d99c
cmp word [rdi], 0x31
jne 0x14004d966
cmp word [rdi + 2], si
je 0x14004d99c
lea rdx, [0x1401052d8]
mov rcx, rdi
call fcn.1400c0814
test eax, eax
je 0x14004d98d
cmp word [rdi], 0x30
jne 0x14004db2f
cmp word [rdi + 2], si
jne 0x14004db2f
mov byte [0x140125b5c], sil
mov eax, r13d
jmp 0x14004e064
mov byte [0x140125b5c], 1
mov eax, r13d
jmp 0x14004e064
lea rdx, [0x1401051a0]
mov rcx, rbx
call fcn.1400c0814
test eax, eax
jne 0x14004d9f5
test rdi, rdi
je 0x14004e019
mov rcx, rdi
call fcn.14009d5f0
mov ecx, 0xff
mov rdx, rax
cmp eax, ecx
jg 0x14004d9e7
mov eax, 1
mov ecx, edx
cmp edx, eax
cmovl ecx, eax
mov dword [reloc.WSOCK32.dll_inet_addr], ecx
mov eax, r13d
jmp 0x14004e064
lea rdx, [0x1401051b8]
mov rcx, rbx
call fcn.1400c0814
test eax, eax
jne 0x14004da76
test rdi, rdi
je 0x14004da67
cmp word [rdi], si
je 0x14004da67
lea rdx, [0x1401052c8]
mov rcx, rdi
call fcn.1400c0814
test eax, eax
je 0x14004da67
cmp word [rdi], 0x31
jne 0x14004da31
cmp word [rdi + 2], si
je 0x14004da67
lea rdx, [0x1401052d8]
mov rcx, rdi
call fcn.1400c0814
test eax, eax
je 0x14004da58
cmp word [rdi], 0x30
jne 0x14004dc42
cmp word [rdi + 2], si
jne 0x14004dc42
mov byte [0x140125b37], sil
mov eax, r13d
jmp 0x14004e064
mov byte [0x140125b37], 1
mov eax, r13d
jmp 0x14004e064
lea rdx, [0x1401051d8]
mov rcx, rbx
call fcn.1400c0814
test eax, eax
jne 0x14004daa8
test rdi, rdi
je 0x14004e019
mov rcx, rdi
call fcn.14009d5f0
mov dword [0x14011f19c], eax
mov eax, r13d
jmp 0x14004e064
lea rdx, [0x140105200]
mov rcx, rbx
call fcn.1400c0814
test eax, eax
jne 0x14004daca
mov byte [0x140125c5e], 1
mov eax, r13d
jmp 0x14004e064
lea rdx, [0x140105228]
mov rcx, rbx
call fcn.1400c0814
test eax, eax
jne 0x14004db46
test rdi, rdi
je 0x14004db0d
movzx eax, word [rdi]
cmp ax, 0x22
je 0x14004daf1
cmp ax, 0x27
jne 0x14004db0d
xor edx, edx
lea rcx, [rdi + 2]
call fcn.1400bbe98
movzx ecx, word [rdi]
cmp word [rax - 2], cx
jne 0x14004db0d
mov word [rax - 2], si
add rdi, 2
mov rcx, rdi
call fcn.14000ec60
cmp eax, 0xffffffff
mov dword [r15 + 0x7a0], eax
setne cl
mov byte [r15 + 0x79f], cl
jne 0x14004e019
mov r8, rdi
lea rdx, [0x140101f68]
mov rcx, r15
call fcn.140010a80
jmp 0x14004e064
lea rdx, [0x140105248]
mov rcx, rbx
call fcn.1400c0814
test eax, eax
jne 0x14004db88
test rdi, rdi
je 0x14004db78
mov rcx, rdi
call fcn.14009d5f0
test eax, eax
js 0x14004dc42
cmp eax, 0x64
jle 0x14004db7a
jmp 0x14004dc42
mov eax, esi
mov byte [0x140125b35], al
mov eax, r13d
jmp 0x14004e064
lea rdx, [0x140105260]
mov rcx, rbx
call fcn.1400c0814
test eax, eax
jne 0x14004dced
lea rbx, [0x1400fbbd0]
test rdi, rdi
mov rsi, rbx
lea edx, [rax + 0x2c]
cmovne rsi, rdi
mov rcx, rsi
call fcn.1400bbe98
test rax, rax
je 0x14004dc02
lea rbx, [rax + 2]
movzx ecx, word [rbx]
cmp cx, 0x20
je 0x14004dbd3
cmp cx, 9
jne 0x14004dbd9
add rbx, 2
jmp 0x14004dbc4
add rax, 0xfffffffffffffffe
cmp rax, rsi
jbe 0x14004dbfa
movzx ecx, word [rax]
cmp cx, 0x20
je 0x14004dbf1
cmp cx, 9
jne 0x14004dbfa
sub rax, 2
cmp rax, rsi
ja 0x14004dbe2
xor ecx, ecx
mov word [rax + 2], cx
jmp 0x14004dc04
xor ecx, ecx
cmp word [rsi], 0
mov r14d, r13d
je 0x14004dc59
mov r14d, ecx
lea rdi, [0x140107010]
nop word [rax + rax]
mov rdx, qword [rdi]
mov rcx, rsi
call fcn.1400c0814
test eax, eax
je 0x14004dc59
inc r14d
lea rax, [0x140107030]
add rdi, 8
cmp rdi, rax
jne 0x14004dc20
mov r8, r12
lea rdx, [0x140101f68]
mov rcx, r15
call fcn.140010a80
jmp 0x14004e064
cmp word [rbx], 0
mov esi, 2
je 0x14004dcb1
xor r12d, r12d
lea rdi, [0x140106ff0]
mov esi, r12d
lea r12, [0x140107010]
nop dword [rax + rax]
mov rdx, qword [rdi]
mov rcx, rbx
call fcn.1400c0814
test eax, eax
je 0x14004dcb1
inc esi
add rdi, 8
cmp rdi, r12
jne 0x14004dc80
mov r8, rbx
lea rdx, [0x140105270]
mov rcx, r15
call fcn.140010a80
jmp 0x14004e064
test r14d, r14d
je 0x14004dcbb
cmp r14d, r13d
jne 0x14004dcc1
mov dword [0x140125b58], esi
lea eax, [r14 - 1]
test eax, 0xfffffffd
jne 0x14004dcd2
mov dword [reloc.OLEAUT32.dll_SysReAllocString], esi
lea eax, [r14 - 2]
cmp eax, 1
ja 0x14004e019
mov dword [reloc.OLEAUT32.dll_SysReAllocString], esi
mov eax, r13d
jmp 0x14004e064
lea rdx, [0x1401052a0]
mov rcx, rbx
call fcn.1400c0814
test eax, eax
jne 0x14004de5c
test rdi, rdi
jne 0x14004dd24
lea r8, [0x1400fbbd0]
mov rcx, r15
lea rdx, [0x140104ff8]
call fcn.140010a80
jmp 0x14004e064
mov r8d, 0xa
lea rdx, [0x1400fbd80]
mov rcx, rdi
call fcn.1400c0a00
lea rbx, [0x1401052b8]
lea r14, [0x1400eb0a8]
test eax, eax
jne 0x14004de0a
movzx eax, word [rdi + 0x14]
test ax, ax
je 0x14004e019
cmp ax, 0x20
je 0x14004dd6c
cmp ax, 9
jne 0x14004de0a
lea rsi, [rdi + 0x16]
xor r12d, r12d
mov rdx, rsi
movzx eax, word [rdx]
cmp ax, 0x20
je 0x14004dd85
cmp ax, 9
jne 0x14004dd8b
add rdx, 2
jmp 0x14004dd76
test ax, ax
je 0x14004e019
mov rsi, rdx
cmp ax, 0x20
je 0x14004ddb0
cmp ax, 9
je 0x14004ddb0
movzx eax, word [rsi + 2]
add rsi, 2
test ax, ax
jne 0x14004dd97
mov eax, SafeArrayAllocDescriptor
lea rcx, [rbp - 0x80]
mov rbx, rsi
sub rbx, rdx
sar rbx, 1
inc rbx
cmp rbx, 0x20
cmova rbx, rax
lea r8, [rbx - 1]
call fcn.1400cf354
mov word [rsp + rbx*2 + 0x7e], r12w
lea rcx, [rbp - 0x80]
lea rbx, [0x1401052b8]
mov rdx, rbx
call fcn.1400c0814
test eax, eax
je 0x14004dd73
xor r8d, r8d
lea rdx, [rbp - 0x80]
mov rcx, r14
call fcn.14009fd30
test eax, eax
jne 0x14004dd73
mov rax, qword [r15 + 0x780]
lea r8, [0x1401052f0]
mov qword [rsp + 0x38], rax
lea rcx, [rbp]
mov qword [rsp + 0x30], rbx
lea rax, [0x1400fbd80]
mov qword [rsp + 0x28], r14
mov r9, rdi
mov edx, 0x200
mov qword [rsp + 0x20], rax
call fcn.14009cd90
lea r8, [0x1400fbbd0]
mov rcx, r15
lea rdx, [rbp]
call fcn.140010a80
jmp 0x14004e064
mov eax, 4
jmp 0x14004e064
test rdi, rdi
jne 0x14004de82
mov r8, r12
lea rdx, [0x140104ff8]
mov rcx, r15
call fcn.140010a80
jmp 0x14004e064
movzx eax, word [rdi]
cmp ax, 0x22
je 0x14004de91
cmp ax, 0x27
jne 0x14004deb5
lea rbx, [rdi + 2]
xor edx, edx
mov rcx, rbx
call fcn.1400bbe98
mov rcx, rax
movzx eax, word [rdi]
cmp word [rcx - 2], ax
jne 0x14004deb5
mov word [rcx - 2], si
mov rdi, rbx
movzx eax, word [rbx]
test ax, ax
jne 0x14004ded5
lea r8, [0x1400fbbd0]
mov rcx, r15
lea rdx, [0x140101f68]
call fcn.140010a80
jmp 0x14004e064
cmp ax, 0x2a
jne 0x14004df10
movzx edx, word [rdi + 2]
mov r8d, 0xffdf
movzx ecx, dx
and cx, r8w
lea eax, [rdx - 0x61]
cmp ax, 0x19
cmova cx, dx
cmp cx, 0x49
jne 0x14004df10
movzx eax, word [rdi + 4]
cmp ax, 0x20
je 0x14004df0d
cmp ax, 9
jne 0x14004df10
mov sil, 1
test sil, sil
lea rbx, [rdi + 6]
cmove rbx, rdi
cmp word [rbx], 0x3c
jne 0x14004dfd6
mov edx, 0x3e
mov rcx, rbx
call fcn.1400bbe98
mov rdi, rax
test rax, rax
je 0x14004dfd6
cmp word [rax + 2], 0
jne 0x14004dfd6
xor eax, eax
add rbx, 2
mov word [rdi], ax
call fcn.140063d00
mov r14, rax
lea r9, [rbp + 0x448]
lea rax, [rbp + 0x450]
mov r8, rdi
sub r8, rbx
mov qword [rsp + 0x20], rax
sar r8, 1
mov rdx, rbx
mov rcx, r15
call fcn.140053f10
test r14, r14
je 0x14004df97
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov rcx, r14
call fcn.1400c0990
movzx eax, byte [rbp + 0x448]
test al, al
jne 0x14004dfaf
cmp byte [rbp + 0x450], al
jne 0x14004e019
test sil, sil
jne 0x14004e019
mov word [rdi], 0x3e
test al, al
je 0x14004dfbf
xor eax, eax
jmp 0x14004e064
mov r8, r12
lea rdx, [0x140105028]
mov rcx, r15
call fcn.140010a80
jmp 0x14004e064
mov r8, rbx
lea rdx, [rbp + 0x450]
mov rcx, r15
call fcn.14005ecc0
test eax, eax
jne 0x14004dff0
xor eax, eax
jmp 0x14004e064
mov rbx, qword [rbp + 0x450]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14004e01e
test al, 0x10
je 0x14004e01e
mov rcx, rbx
call fcn.140063c40
mov rcx, rbx
call fcn.1400c0990
mov eax, r13d
jmp 0x14004e064
call fcn.140063d00
movzx r8d, byte [rbp + 0x448]
movzx r9d, sil
mov rdx, rbx
mov rcx, r15
mov rdi, rax
call fcn.1400485d0
neg eax
sbb esi, esi
and esi, r13d
test rdi, rdi
je 0x14004e05a
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov rcx, rdi
call fcn.1400c0990
mov rcx, rbx
call fcn.1400c0990
mov eax, esi
mov r13, qword [rsp + 0x540]
add rsp, 0x500
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.140011190
int3