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

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
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 r13, [r9 - 0x21]
test rdx, rdx
je 0x14004ca70
movzx edx, word [rdx]
test dx, dx
je 0x14004ca70
nop dword [rax]
lea rcx, [rsp + 0x70]
movzx eax, r9w
nop dword [rax]
cmp dx, ax
je 0x14004ca9e
movzx eax, word [rcx + 2]
add rcx, 2
test ax, ax
jne 0x14004ca50
movzx edx, word [r8 + 2]
add r8, 2
test dx, dx
jne 0x14004ca40
mov rax, r13
cmp word [r12 + rax*2 + 2], si
lea rax, [rax + 1]
jne 0x14004ca73
lea r8, [r12 + rax*2]
mov rdi, rsi
mov rbx, r8
sub rbx, r12
sar rbx, 1
cmp rbx, r9
jb 0x14004cabd
mov eax, 4
jmp 0x14004d992
mov rdi, r8
movzx eax, word [rdi]
cmp ax, r9w
je 0x14004cab0
cmp ax, 9
jne 0x14004cab6
add rdi, 2
jmp 0x14004caa1
test ax, ax
jne 0x14004ca86
jmp 0x14004ca83
mov qword [rsp + 0x540], r14
cmp word [r8], si
je 0x14004cae5
mov r8, rbx
lea rcx, [rbp - 0x40]
mov rdx, r12
call fcn.1400cee44
mov word [rbp + rbx*2 - 0x40], si
lea rbx, [rbp - 0x40]
jmp 0x14004cae8
mov rbx, r12
lea rdx, [0x140104840]
mov rcx, rbx
xor r14b, r14b
call fcn.1400c0304
test eax, eax
je 0x14004d78c
lea rdx, [0x140104f70]
mov rcx, rbx
call fcn.1400c0304
test eax, eax
sete r14b
test eax, eax
je 0x14004d78c
lea rdx, [0x140104ff8]
mov rcx, rbx
call fcn.1400c0304
test eax, eax
jne 0x14004cca1
test rdi, rdi
jne 0x14004cb66
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetDllDirectoryW]
test eax, eax
jne 0x14004d941
lea r8, [0x1400fbbd0]
mov rcx, r15
lea rdx, [0x1400fdd30]
call fcn.140010a90
jmp 0x14004d98a
movzx eax, word [rdi]
cmp ax, 0x22
je 0x14004cb75
cmp ax, 0x27
jne 0x14004cb99
lea rbx, [rdi + 2]
xor edx, edx
mov rcx, rbx
call fcn.1400bb988
mov rcx, rax
movzx eax, word [rdi]
cmp word [rcx - 2], ax
jne 0x14004cb99
mov word [rcx - 2], si
mov rdi, rbx
movzx eax, word [rbx]
cmp ax, 0x2a
jne 0x14004cbdd
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 0x14004cbdd
movzx eax, word [rdi + 4]
add rdi, 4
mov bl, 1
cmp ax, 0x20
je 0x14004cbd7
cmp ax, 9
jne 0x14004cbdf
add rdi, 2
jmp 0x14004cbdf
xor bl, bl
mov r8, rdi
lea rdx, [rbp + 0x450]
mov rcx, r15
call fcn.14005e640
test eax, eax
je 0x14004d914
mov rdi, qword [rbp + 0x450]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14004cc48
test al, 0x10
je 0x14004cc48
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_SetDllDirectoryW]
mov rcx, rdi
mov ebx, eax
call fcn.1400c0480
test ebx, ebx
jne 0x14004d941
lea r8, [0x1400fbbd0]
mov rcx, r15
lea rdx, [0x1400fdd30]
call fcn.140010a90
jmp 0x14004d98a
mov rcx, rdi
mov esi, 3
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov qword [rbp + 0x448], rax
test rax, rax
je 0x14004cc81
lea r8, [rbp + 0x448]
mov rdx, rdi
lea ecx, [rsi - 2]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
mov rax, qword [rbp + 0x448]
test rax, rax
jne 0x14004cc99
test bl, bl
jne 0x14004cc99
mov r8, rdi
lea rdx, [0x140101ef0]
mov rcx, r15
call fcn.140010a90
mov esi, eax
mov rcx, rdi
jmp 0x14004d983
lea rdx, [0x140105010]
mov rcx, rbx
call fcn.1400c0304
test eax, eax
jne 0x14004ccc5
mov byte [0x140125c5c], 1
mov eax, 3
jmp 0x14004d98a
lea rdx, [0x140105028]
mov rcx, rbx
call fcn.1400c0304
test eax, eax
jne 0x14004cd81
test rdi, rdi
je 0x14004cd6e
lea rdx, [0x140105048]
mov rcx, rdi
call fcn.1400c0304
test eax, eax
je 0x14004cd6e
lea rdx, [0x140105058]
mov rcx, rdi
call fcn.1400c0304
test eax, eax
jne 0x14004cd20
mov eax, 1
mov dword [0x14011f194], eax
mov eax, 3
jmp 0x14004d98a
lea rdx, [0x140105068]
mov rcx, rdi
call fcn.1400c0304
test eax, eax
jne 0x14004cd47
mov dword [0x14011f194], 3
mov eax, 3
jmp 0x14004d98a
lea rdx, [0x140101190]
mov rcx, rdi
call fcn.1400c0304
test eax, eax
jne 0x14004d572
mov dword [0x14011f194], esi
mov eax, 3
jmp 0x14004d98a
mov esi, 2
mov dword [0x14011f194], esi
lea eax, [rsi + 1]
jmp 0x14004d98a
lea rdx, [0x140105078]
mov rcx, rbx
call fcn.1400c0304
test eax, eax
jne 0x14004ce06
test rdi, rdi
je 0x14004cdf5
cmp word [rdi], si
je 0x14004cdf5
lea rdx, [0x140105260]
mov rcx, rdi
call fcn.1400c0304
test eax, eax
je 0x14004cdf5
cmp word [rdi], 0x31
jne 0x14004cdbd
cmp word [rdi + 2], si
je 0x14004cdf5
lea rdx, [0x140105270]
mov rcx, rdi
call fcn.1400c0304
test eax, eax
je 0x14004cde4
cmp word [rdi], 0x30
jne 0x14004d457
cmp word [rdi + 2], si
jne 0x14004d457
mov byte [0x140125aef], sil
mov eax, 3
jmp 0x14004d98a
mov byte [0x140125aef], 1
mov eax, 3
jmp 0x14004d98a
lea rdx, [0x1400fffc0]
mov rcx, rbx
call fcn.1400c0304
test eax, eax
jne 0x14004d03b
cmp dword [r15 + 0x94], esi
jne 0x14004d020
mov r10, qword [0x14011f188]
mov rax, qword [r15 + 0x30]
cmp qword [r10 + 0x28], rax
jne 0x14004d020
test rdi, rdi
jne 0x14004ce53
mov qword [r10 + 0x80], rsi
lea eax, [rdi + 3]
jmp 0x14004d98a
mov r9, qword [0x140125de8]
test r9, r9
je 0x14004ce91
nop
mov r8, qword [r9 + 0x18]
test r8, r8
je 0x14004ce88
mov rax, rdi
sub r8, rdi
nop
movzx edx, word [rax]
movzx ecx, word [rax + r8]
sub edx, ecx
jne 0x14004ce84
add rax, 2
test ecx, ecx
jne 0x14004ce70
test edx, edx
je 0x14004cee0
mov r9, qword [r9 + 0x30]
test r9, r9
jne 0x14004ce60
mov qword [r10 + 0x80], rsi
mov rsi, qword [r15 + 0x30]
test rsi, rsi
je 0x14004cea5
dec dword [r15 + 0x48]
mov rcx, r15
call fcn.1400624c0
mov rcx, qword [r15 + 0x30]
call fcn.140018e10
cmp eax, 1
je 0x14004cefd
cmp eax, 0xa00e0001
jne 0x14004cef2
lea r8, [0x1400fbbd0]
mov rcx, r15
lea rdx, [0x1400ffa10]
call fcn.140010a90
mov r13d, eax
jmp 0x14004d98a
mov qword [r10 + 0x80], r9
test r9, r9
jne 0x14004d941
jmp 0x14004ce98
xor r13d, r13d
mov eax, r13d
jmp 0x14004d98a
cmp word [rdi], 0
lea rbx, [0x1400fbbd0]
je 0x14004cf56
nop word [rax + rax]
inc r13
cmp word [rdi + r13*2], 0
jne 0x14004cf10
lea r12, [r13*2]
lea rcx, [r12 + 2]
call fcn.1400990d0
mov r14, rax
test rax, rax
je 0x14004d9a4
test r13, r13
je 0x14004cf4c
mov r8, r12
mov rdx, rdi
mov rcx, rax
call fcn.1400bba40
xor r13d, r13d
mov word [r14 + r12], r13w
jmp 0x14004cf5c
mov r14, rbx
xor r13d, r13d
mov rax, qword [0x14011f188]
xor r9d, r9d
mov byte [rsp + 0x28], 0
xor r8d, r8d
mov dl, 3
mov qword [rsp + 0x20], r13
mov rcx, qword [rax + 0x80]
mov qword [rcx + 0x18], r14
mov rcx, r15
mov r14, qword [r15 + 0x30]
call fcn.14004fa20
test eax, eax
je 0x14004d009
xor r9d, r9d
mov qword [rsp + 0x20], r13
mov r8b, 6
mov rdx, rdi
mov rcx, r15
call fcn.14004dc60
test eax, eax
je 0x14004d009
mov byte [rsp + 0x28], 0
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], r13
mov dl, 4
mov rcx, r15
call fcn.14004fa20
test eax, eax
je 0x14004d009
mov rcx, qword [r14 + 0x40]
mov r8, qword [0x14011f188]
mov rax, qword [r8 + 0x80]
mov qword [rcx + 0x10], rax
mov qword [r15 + 0x30], rsi
mov qword [r8 + 0x28], rsi
test rsi, rsi
je 0x14004d941
mov r8d, dword [r15 + 0x48]
lea rcx, [r15 + 0x40]
mov rdx, rsi
call fcn.1400608b0
mov eax, 3
jmp 0x14004d98a
mov r8, rbx
lea rdx, [0x1400ffa10]
mov rcx, r15
call fcn.140010a90
jmp 0x14004d98a
lea r8, [0x1400fbbd0]
mov rcx, r15
lea rdx, [0x1401025d8]
call fcn.140010a90
jmp 0x14004d98a
lea rdx, [0x140105090]
mov rcx, rbx
call fcn.1400c0304
test eax, eax
jne 0x14004d06f
test rdi, rdi
je 0x14004d941
mov rcx, rdi
call fcn.14009d0e0
mov dword [0x14011fb30], eax
mov eax, 3
jmp 0x14004d98a
lea rdx, [0x1401050b0]
mov rcx, rbx
call fcn.1400c0304
test eax, eax
jne 0x14004d1f8
test rdi, rdi
je 0x14004d941
lea rdx, [0x140101738]
mov rcx, rdi
call fcn.14009cbd0
mov r8, rax
test rax, rax
je 0x14004d12f
movzx edx, word [rax]
test dx, dx
je 0x14004d941
mov r9d, 9
nop dword [rax]
lea rcx, [0x1401050c8]
movzx eax, r9w
nop dword [rax + rax]
cmp dx, ax
je 0x14004d0fa
movzx eax, word [rcx + 2]
add rcx, 2
test ax, ax
jne 0x14004d0d0
movzx edx, word [r8 + 2]
add r8, 2
test dx, dx
jne 0x14004d0c0
mov eax, 3
jmp 0x14004d98a
lea rdx, [r8 + 2]
mov r8d, WSAAsyncSelect
lea rcx, [0x14011fa60]
call fcn.1400cee44
xor edx, edx
mov word [0x14011fb28], si
lea rcx, [0x14011fa60]
call fcn.14009efa0
mov eax, 3
jmp 0x14004d98a
mov r8d, 7
lea rdx, [0x1401050d0]
mov rcx, rdi
call fcn.1400c04f0
test eax, eax
jne 0x14004d159
mov byte [0x14011f1a5], sil
mov eax, 3
jmp 0x14004d98a
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.14001bb60
mov eax, 3
jmp 0x14004d98a
lea rdx, [0x1401050e0]
mov rcx, rbx
call fcn.1400c0304
test eax, eax
jne 0x14004d244
test rdi, rdi
je 0x14004d941
mov rcx, rdi
call fcn.14009d0e0
mov ecx, 0xff
mov rdx, rax
cmp eax, ecx
jg 0x14004d234
mov eax, 1
mov ecx, edx
cmp edx, eax
cmovl ecx, eax
mov byte [0x14011f1a9], cl
mov eax, 3
jmp 0x14004d98a
lea rdx, [0x140105110]
mov rcx, rbx
call fcn.1400c0304
test eax, eax
jne 0x14004d2c9
test rdi, rdi
je 0x14004d2b8
cmp word [rdi], si
je 0x14004d2b8
lea rdx, [0x140105260]
mov rcx, rdi
call fcn.1400c0304
test eax, eax
je 0x14004d2b8
cmp word [rdi], 0x31
jne 0x14004d280
cmp word [rdi + 2], si
je 0x14004d2b8
lea rdx, [0x140105270]
mov rcx, rdi
call fcn.1400c0304
test eax, eax
je 0x14004d2a7
cmp word [rdi], 0x30
jne 0x14004d457
cmp word [rdi + 2], si
jne 0x14004d457
mov byte [0x140125b5c], sil
mov eax, 3
jmp 0x14004d98a
mov byte [0x140125b5c], 1
mov eax, 3
jmp 0x14004d98a
lea rdx, [0x140105138]
mov rcx, rbx
call fcn.1400c0304
test eax, eax
jne 0x14004d315
test rdi, rdi
je 0x14004d941
mov rcx, rdi
call fcn.14009d0e0
mov ecx, 0xff
mov rdx, rax
cmp eax, ecx
jg 0x14004d305
mov eax, 1
mov ecx, edx
cmp edx, eax
cmovl ecx, eax
mov dword [reloc.WSOCK32.dll_inet_addr], ecx
mov eax, 3
jmp 0x14004d98a
lea rdx, [0x140105150]
mov rcx, rbx
call fcn.1400c0304
test eax, eax
jne 0x14004d39a
test rdi, rdi
je 0x14004d389
cmp word [rdi], si
je 0x14004d389
lea rdx, [0x140105260]
mov rcx, rdi
call fcn.1400c0304
test eax, eax
je 0x14004d389
cmp word [rdi], 0x31
jne 0x14004d351
cmp word [rdi + 2], si
je 0x14004d389
lea rdx, [0x140105270]
mov rcx, rdi
call fcn.1400c0304
test eax, eax
je 0x14004d378
cmp word [rdi], 0x30
jne 0x14004d572
cmp word [rdi + 2], si
jne 0x14004d572
mov byte [0x140125b37], sil
mov eax, 3
jmp 0x14004d98a
mov byte [0x140125b37], 1
mov eax, 3
jmp 0x14004d98a
lea rdx, [0x140105170]
mov rcx, rbx
call fcn.1400c0304
test eax, eax
jne 0x14004d3ce
test rdi, rdi
je 0x14004d941
mov rcx, rdi
call fcn.14009d0e0
mov dword [0x14011f19c], eax
mov eax, 3
jmp 0x14004d98a
lea rdx, [0x140105198]
mov rcx, rbx
call fcn.1400c0304
test eax, eax
jne 0x14004d3f2
mov byte [0x140125c5e], 1
mov eax, 3
jmp 0x14004d98a
lea rdx, [0x1401051c0]
mov rcx, rbx
call fcn.1400c0304
test eax, eax
jne 0x14004d46e
test rdi, rdi
je 0x14004d435
movzx eax, word [rdi]
cmp ax, 0x22
je 0x14004d419
cmp ax, 0x27
jne 0x14004d435
xor edx, edx
lea rcx, [rdi + 2]
call fcn.1400bb988
movzx ecx, word [rdi]
cmp word [rax - 2], cx
jne 0x14004d435
mov word [rax - 2], si
add rdi, 2
mov rcx, rdi
call fcn.14000ec70
cmp eax, 0xffffffff
mov dword [r15 + 0x7a0], eax
setne cl
mov byte [r15 + 0x79f], cl
jne 0x14004d941
mov r8, rdi
lea rdx, [0x140101f68]
mov rcx, r15
call fcn.140010a90
jmp 0x14004d98a
lea rdx, [0x1401051e0]
mov rcx, rbx
call fcn.1400c0304
test eax, eax
jne 0x14004d4b2
test rdi, rdi
je 0x14004d4a0
mov rcx, rdi
call fcn.14009d0e0
test eax, eax
js 0x14004d572
cmp eax, 0x64
jle 0x14004d4a2
jmp 0x14004d572
mov eax, esi
mov byte [0x140125b35], al
mov eax, 3
jmp 0x14004d98a
lea rdx, [0x1401051f8]
mov rcx, rbx
call fcn.1400c0304
test eax, eax
jne 0x14004d615
lea rbx, [0x1400fbbd0]
test rdi, rdi
mov rsi, rbx
lea edx, [rax + 0x2c]
cmovne rsi, rdi
mov rcx, rsi
call fcn.1400bb988
test rax, rax
je 0x14004d532
lea rbx, [rax + 2]
nop
movzx ecx, word [rbx]
cmp cx, 0x20
je 0x14004d4ff
cmp cx, 9
jne 0x14004d505
add rbx, 2
jmp 0x14004d4f0
add rax, 0xfffffffffffffffe
cmp rax, rsi
jbe 0x14004d528
nop
movzx ecx, word [rax]
cmp cx, 0x20
je 0x14004d51f
cmp cx, 9
jne 0x14004d528
sub rax, 2
cmp rax, rsi
ja 0x14004d510
xor r13d, r13d
mov word [rax + 2], r13w
jmp 0x14004d535
xor r13d, r13d
cmp word [rsi], 0
mov r14d, 3
je 0x14004d589
mov r14d, r13d
lea rdi, [0x140106f90]
nop dword [rax + rax]
mov rdx, qword [rdi]
mov rcx, rsi
call fcn.1400c0304
test eax, eax
je 0x14004d589
inc r14d
lea rax, [0x140106fb0]
add rdi, 8
cmp rdi, rax
jne 0x14004d550
mov r8, r12
lea rdx, [0x140101f68]
mov rcx, r15
call fcn.140010a90
jmp 0x14004d98a
cmp word [rbx], 0
mov esi, 2
je 0x14004d5d6
mov esi, r13d
lea rdi, [0x140106f70]
lea r12, [0x140106f90]
mov rdx, qword [rdi]
mov rcx, rbx
call fcn.1400c0304
test eax, eax
je 0x14004d5d6
inc esi
add rdi, 8
cmp rdi, r12
jne 0x14004d5a5
mov r8, rbx
lea rdx, [0x140105208]
mov rcx, r15
call fcn.140010a90
jmp 0x14004d98a
test r14d, r14d
je 0x14004d5e1
cmp r14d, 3
jne 0x14004d5e7
mov dword [0x140125b58], esi
lea eax, [r14 - 1]
test eax, 0xfffffffd
jne 0x14004d5f8
mov dword [reloc.OLEAUT32.dll_SysReAllocString], esi
lea eax, [r14 - 2]
cmp eax, 1
ja 0x14004d941
mov dword [reloc.OLEAUT32.dll_SysReAllocString], esi
mov eax, 3
jmp 0x14004d98a
lea rdx, [0x140105238]
mov rcx, rbx
call fcn.1400c0304
test eax, eax
jne 0x14004d782
test rdi, rdi
jne 0x14004d64c
lea r8, [0x1400fbbd0]
mov rcx, r15
lea rdx, [0x140104f90]
call fcn.140010a90
jmp 0x14004d98a
mov r8d, 0xa
lea rdx, [0x1400fbd80]
mov rcx, rdi
call fcn.1400c04f0
lea r12, [0x140105250]
lea r14, [0x1400eb0a8]
test eax, eax
jne 0x14004d730
movzx eax, word [rdi + 0x14]
test ax, ax
je 0x14004d941
cmp ax, 0x20
je 0x14004d694
cmp ax, 9
jne 0x14004d730
lea rsi, [rdi + 0x16]
xor r13d, r13d
nop dword [rax + rax]
mov rdx, rsi
movzx eax, word [rdx]
cmp ax, 0x20
je 0x14004d6b2
cmp ax, 9
jne 0x14004d6b8
add rdx, 2
jmp 0x14004d6a3
test ax, ax
je 0x14004d941
mov rsi, rdx
cmp ax, 0x20
je 0x14004d6dd
cmp ax, 9
je 0x14004d6dd
movzx eax, word [rsi + 2]
add rsi, 2
test ax, ax
jne 0x14004d6c4
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.1400cee44
mov rdx, r12
mov word [rsp + rbx*2 + 0x7e], r13w
lea rcx, [rbp - 0x80]
call fcn.1400c0304
test eax, eax
je 0x14004d6a0
xor r8d, r8d
lea rdx, [rbp - 0x80]
mov rcx, r14
call fcn.14009f820
test eax, eax
jne 0x14004d6a0
mov rax, qword [r15 + 0x780]
lea r8, [0x140105280]
mov qword [rsp + 0x38], rax
lea rcx, [rbp]
mov qword [rsp + 0x30], r12
lea rax, [0x1400fbd80]
mov qword [rsp + 0x28], r14
mov r9, rdi
mov edx, 0x200
mov qword [rsp + 0x20], rax
call fcn.14009c880
lea r8, [0x1400fbbd0]
mov rcx, r15
lea rdx, [rbp]
call fcn.140010a90
jmp 0x14004d98a
mov eax, 4
jmp 0x14004d98a
test rdi, rdi
jne 0x14004d7a8
mov r8, r12
lea rdx, [0x140104f90]
mov rcx, r15
call fcn.140010a90
jmp 0x14004d98a
movzx eax, word [rdi]
cmp ax, 0x22
je 0x14004d7b7
cmp ax, 0x27
jne 0x14004d7db
lea rbx, [rdi + 2]
xor edx, edx
mov rcx, rbx
call fcn.1400bb988
mov rcx, rax
movzx eax, word [rdi]
cmp word [rcx - 2], ax
jne 0x14004d7db
mov word [rcx - 2], si
mov rdi, rbx
movzx eax, word [rbx]
test ax, ax
jne 0x14004d7fb
lea r8, [0x1400fbbd0]
mov rcx, r15
lea rdx, [0x140101f68]
call fcn.140010a90
jmp 0x14004d98a
cmp ax, 0x2a
jne 0x14004d836
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 0x14004d836
movzx eax, word [rdi + 4]
cmp ax, 0x20
je 0x14004d833
cmp ax, 9
jne 0x14004d836
mov sil, 1
test sil, sil
lea rbx, [rdi + 6]
cmove rbx, rdi
cmp word [rbx], 0x3c
jne 0x14004d8fe
mov edx, 0x3e
mov rcx, rbx
call fcn.1400bb988
mov rdi, rax
test rax, rax
je 0x14004d8fe
cmp word [rax + 2], 0
jne 0x14004d8fe
xor r13d, r13d
add rbx, 2
mov word [rax], r13w
call fcn.140063680
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.140053830
test r14, r14
je 0x14004d8bf
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov rcx, r14
call fcn.1400c0480
movzx eax, byte [rbp + 0x448]
test al, al
jne 0x14004d8d8
cmp byte [rbp + 0x450], r13b
jne 0x14004d941
test sil, sil
jne 0x14004d941
mov word [rdi], 0x3e
test al, al
jne 0x14004d8f6
mov r8, r12
lea rdx, [0x140104fc0]
mov rcx, r15
call fcn.140010a90
mov r13d, eax
mov eax, r13d
jmp 0x14004d98a
mov r8, rbx
lea rdx, [rbp + 0x448]
mov rcx, r15
call fcn.14005e640
test eax, eax
jne 0x14004d918
xor eax, eax
jmp 0x14004d98a
mov rbx, qword [rbp + 0x448]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14004d948
test al, 0x10
je 0x14004d948
mov rcx, rbx
call fcn.1400635c0
mov rcx, rbx
call fcn.1400c0480
mov eax, 3
jmp 0x14004d98a
call fcn.140063680
movzx r9d, sil
movzx r8d, r14b
mov rdx, rbx
mov rcx, r15
mov rdi, rax
call fcn.140048620
neg eax
sbb esi, esi
and esi, 3
test rdi, rdi
je 0x14004d980
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov rcx, rdi
call fcn.1400c0480
mov rcx, rbx
call fcn.1400c0480
mov eax, esi
mov r14, qword [rsp + 0x540]
add rsp, 0x500
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.1400111a0
int3