Function at 0x14004c190
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 - 0x3f0]
sub rsp, 0x4f0
xor esi, esi
mov dword [rbp + 0x438], 0x90020
mov word [rbp + 0x43c], si
mov r9d, SafeArrayAllocDescriptor
mov r12, rdx
mov r15, rcx
mov r8, rdx
lea r14, [r9 - 0x21]
test rdx, rdx
je 0x14004c210
movzx edx, word [rdx]
test dx, dx
je 0x14004c210
nop dword [rax]
lea rcx, [rbp + 0x438]
movzx eax, r9w
nop dword [rax + rax]
cmp dx, ax
je 0x14004c23e
movzx eax, word [rcx + 2]
add rcx, 2
test ax, ax
jne 0x14004c1f0
movzx edx, word [r8 + 2]
add r8, 2
test dx, dx
jne 0x14004c1e0
mov rax, r14
cmp word [r12 + rax*2 + 2], si
lea rax, [rax + 1]
jne 0x14004c213
lea r8, [r12 + rax*2]
mov rdi, rsi
mov rbx, r8
sub rbx, r12
sar rbx, 1
cmp rbx, r9
jb 0x14004c25d
mov eax, 4
jmp 0x14004d103
mov rdi, r8
movzx eax, word [rdi]
cmp ax, r9w
je 0x14004c250
cmp ax, 9
jne 0x14004c256
add rdi, 2
jmp 0x14004c241
test ax, ax
jne 0x14004c226
jmp 0x14004c223
mov qword [rsp + 0x530], r13
cmp word [r8], si
je 0x14004c285
mov r8, rbx
lea rcx, [rbp - 0x50]
mov rdx, r12
call fcn.1400cd4c4
mov word [rbp + rbx*2 - 0x50], si
lea rbx, [rbp - 0x50]
jmp 0x14004c288
mov rbx, r12
lea rdx, [0x1401027e0]
mov byte [rbp + 0x438], sil
mov rcx, rbx
call fcn.1400bea20
mov r13d, 3
test eax, eax
je 0x14004cefa
lea rdx, [0x140102f78]
mov rcx, rbx
call fcn.1400bea20
test eax, eax
sete byte [rbp + 0x438]
test eax, eax
je 0x14004cefa
lea rdx, [0x140103000]
mov rcx, rbx
call fcn.1400bea20
test eax, eax
jne 0x14004c451
test rdi, rdi
jne 0x14004c313
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetDllDirectoryW]
test eax, eax
jne 0x14004d0b0
lea r8, [0x1400f9b70]
mov rcx, r15
lea rdx, [0x1400fbcd0]
call fcn.140010930
jmp 0x14004d0fb
movzx eax, word [rdi]
cmp ax, 0x22
je 0x14004c322
cmp ax, 0x27
jne 0x14004c346
lea rbx, [rdi + 2]
xor edx, edx
mov rcx, rbx
call fcn.1400ba088
mov rcx, rax
movzx eax, word [rdi]
cmp word [rcx - 2], ax
jne 0x14004c346
mov word [rcx - 2], si
mov rdi, rbx
movzx eax, word [rbx]
cmp ax, 0x2a
jne 0x14004c38a
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 0x14004c38a
movzx eax, word [rdi + 4]
add rdi, 4
mov bl, 1
cmp ax, 0x20
je 0x14004c384
cmp ax, 9
jne 0x14004c38c
add rdi, 2
jmp 0x14004c38c
xor bl, bl
mov r8, rdi
lea rdx, [rbp + 0x440]
mov rcx, r15
call fcn.14005d8e0
test eax, eax
je 0x14004d083
mov rdi, qword [rbp + 0x440]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14004c3f5
test al, 0x10
je 0x14004c3f5
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_SetDllDirectoryW]
mov rcx, rdi
mov ebx, eax
call fcn.1400beb90
test ebx, ebx
jne 0x14004d0b0
lea r8, [0x1400f9b70]
mov rcx, r15
lea rdx, [0x1400fbcd0]
call fcn.140010930
jmp 0x14004d0fb
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov qword [rbp + 0x438], rax
test rax, rax
je 0x14004c428
lea r8, [rbp + 0x438]
mov rdx, rdi
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
cmp qword [rbp + 0x438], rsi
jne 0x14004c441
test bl, bl
jne 0x14004c441
mov r8, rdi
lea rdx, [0x1400ffe60]
mov rcx, r15
call fcn.140010930
mov r13d, eax
mov rcx, rdi
call fcn.1400beb90
mov eax, r13d
jmp 0x14004d0fb
lea rdx, [0x140103018]
mov rcx, rbx
call fcn.1400bea20
test eax, eax
jne 0x14004c473
mov byte [0x140122dc0], 1
mov eax, r13d
jmp 0x14004d0fb
lea rdx, [0x140103030]
mov rcx, rbx
call fcn.1400bea20
test eax, eax
jne 0x14004c526
test rdi, rdi
je 0x14004c513
lea rdx, [0x140103050]
mov rcx, rdi
call fcn.1400bea20
test eax, eax
je 0x14004c513
lea rdx, [0x140103060]
mov rcx, rdi
call fcn.1400bea20
test eax, eax
jne 0x14004c4cc
mov eax, 1
mov dword [0x14011c194], eax
mov eax, r13d
jmp 0x14004d0fb
lea rdx, [0x140103070]
mov rcx, rdi
call fcn.1400bea20
test eax, eax
jne 0x14004c4ee
mov dword [0x14011c194], r13d
mov eax, r13d
jmp 0x14004d0fb
lea rdx, [0x1400ff100]
mov rcx, rdi
call fcn.1400bea20
test eax, eax
jne 0x14004ccc2
mov dword [0x14011c194], esi
mov eax, r13d
jmp 0x14004d0fb
mov esi, 2
mov eax, r13d
mov dword [0x14011c194], esi
jmp 0x14004d0fb
lea rdx, [0x140103080]
mov rcx, rbx
call fcn.1400bea20
test eax, eax
jne 0x14004c5a7
test rdi, rdi
je 0x14004c598
cmp word [rdi], si
je 0x14004c598
lea rdx, [0x140103268]
mov rcx, rdi
call fcn.1400bea20
test eax, eax
je 0x14004c598
cmp word [rdi], 0x31
jne 0x14004c562
cmp word [rdi + 2], si
je 0x14004c598
lea rdx, [0x140103278]
mov rcx, rdi
call fcn.1400bea20
test eax, eax
je 0x14004c589
cmp word [rdi], 0x30
jne 0x14004cbaf
cmp word [rdi + 2], si
jne 0x14004cbaf
mov byte [0x140122b0b], sil
mov eax, r13d
jmp 0x14004d0fb
mov byte [0x140122b0b], 1
mov eax, r13d
jmp 0x14004d0fb
lea rdx, [0x1400fdf30]
mov rcx, rbx
call fcn.1400bea20
test eax, eax
jne 0x14004c7ac
cmp dword [r15 + 0x8c], esi
jne 0x14004c791
mov r10, qword [0x14011c188]
mov rax, qword [r15 + 0x30]
cmp qword [r10 + 0x28], rax
jne 0x14004c791
test rdi, rdi
jne 0x14004c5f4
mov qword [r10 + 0x80], rsi
mov eax, r13d
jmp 0x14004d0fb
mov r9, qword [0x140122da8]
test r9, r9
je 0x14004c631
mov r8, qword [r9 + 0x18]
test r8, r8
je 0x14004c628
mov rax, rdi
sub r8, rdi
nop
movzx edx, word [rax]
movzx ecx, word [rax + r8]
sub edx, ecx
jne 0x14004c624
add rax, 2
test ecx, ecx
jne 0x14004c610
test edx, edx
je 0x14004c67a
mov r9, qword [r9 + 0x30]
test r9, r9
jne 0x14004c600
mov qword [r10 + 0x80], rsi
mov r12, qword [r15 + 0x30]
mov rcx, r15
call fcn.140061790
mov rcx, qword [r15 + 0x30]
call fcn.140018dc0
cmp eax, 1
je 0x14004c68c
cmp eax, 0xa00e0001
jne 0x14004d0f9
lea r8, [0x1400f9b70]
mov rcx, r15
lea rdx, [0x1400fd9b0]
call fcn.140010930
mov esi, eax
jmp 0x14004d0f9
mov qword [r10 + 0x80], r9
test r9, r9
jne 0x14004d0b0
jmp 0x14004c638
lea rbx, [0x1400f9b70]
cmp word [rdi], si
je 0x14004c6e0
nop dword [rax + rax]
inc r14
cmp word [rdi + r14*2], si
jne 0x14004c6a0
lea r13, [r14 + r14]
lea rcx, [r13 + 2]
call fcn.140097680
mov rsi, rax
test rax, rax
je 0x14004d115
test r14, r14
je 0x14004c6d6
mov r8, r13
mov rdx, rdi
mov rcx, rax
call fcn.1400ba140
xor r14d, r14d
mov word [rsi + r13], r14w
jmp 0x14004c6e6
mov rsi, rbx
xor r14d, r14d
mov rax, qword [0x14011c188]
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.14004f190
test eax, eax
je 0x14004c77a
xor r9d, r9d
mov qword [rsp + 0x20], r14
mov r8b, 6
mov rdx, rdi
mov rcx, r15
call fcn.14004d3d0
test eax, eax
je 0x14004c77a
mov byte [rsp + 0x28], 0
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], r14
mov dl, 4
mov rcx, r15
call fcn.14004f190
test eax, eax
je 0x14004c77a
mov rcx, qword [rsi + 0x40]
mov rdx, qword [0x14011c188]
mov rax, qword [rdx + 0x80]
mov qword [rcx + 0x10], rax
mov eax, 3
mov qword [r15 + 0x30], r12
mov qword [rdx + 0x28], r12
jmp 0x14004d0fb
mov r8, rbx
lea rdx, [0x1400fd9b0]
mov rcx, r15
call fcn.140010930
jmp 0x14004d0fb
lea r8, [0x1400f9b70]
mov rcx, r15
lea rdx, [0x140100578]
call fcn.140010930
jmp 0x14004d0fb
lea rdx, [0x140103098]
mov rcx, rbx
call fcn.1400bea20
test eax, eax
jne 0x14004c7de
test rdi, rdi
je 0x14004d0b0
mov rcx, rdi
call fcn.14009b440
mov dword [0x14011cb20], eax
mov eax, r13d
jmp 0x14004d0fb
lea rdx, [0x1401030b8]
mov rcx, rbx
call fcn.1400bea20
test eax, eax
jne 0x14004c960
test rdi, rdi
je 0x14004d0b0
lea rdx, [0x1400ff6a8]
mov rcx, rdi
call fcn.14009af30
mov r8, rax
test rax, rax
je 0x14004c89b
movzx edx, word [rax]
test dx, dx
je 0x14004d0b0
mov r9d, 9
nop dword [rax + rax]
lea rcx, [0x1401030d0]
movzx eax, r9w
nop dword [rax + rax]
cmp dx, ax
je 0x14004c868
movzx eax, word [rcx + 2]
add rcx, 2
test ax, ax
jne 0x14004c840
movzx edx, word [r8 + 2]
add r8, 2
test dx, dx
jne 0x14004c830
mov eax, r13d
jmp 0x14004d0fb
lea rdx, [r8 + 2]
mov r8d, WSAAsyncSelect
lea rcx, [0x14011ca50]
call fcn.1400cd4c4
xor edx, edx
mov word [0x14011cb18], si
lea rcx, [0x14011ca50]
call fcn.14009d370
mov eax, r13d
jmp 0x14004d0fb
mov r8d, 7
lea rdx, [0x1401030d8]
mov rcx, rdi
call fcn.1400bec00
test eax, eax
jne 0x14004c8c3
mov byte [0x14011c1a5], sil
mov eax, r13d
jmp 0x14004d0fb
lea rax, [0x140122cea]
mov rcx, rdi
mov qword [rsp + 0x68], rax
lea r9, [0x14011cb1c]
lea rax, [0x140122c08]
mov qword [rsp + 0x60], rax
lea r8, [0x140122c10]
lea rax, [0x140122c09]
mov qword [rsp + 0x58], rax
lea rdx, [0x140122c14]
lea rax, [0x140122c0a]
mov qword [rsp + 0x50], rax
lea rax, [0x14011c1a6]
mov qword [rsp + 0x48], rax
lea rax, [0x140122c0d]
mov qword [rsp + 0x40], rax
lea rax, [0x140122c0b]
mov qword [rsp + 0x38], rax
lea rax, [0x14011c1a7]
mov qword [rsp + 0x30], rax
lea rax, [0x14011cb1a]
mov qword [rsp + 0x28], rax
lea rax, [0x140122c0c]
mov qword [rsp + 0x20], rax
call fcn.14001bb00
mov eax, r13d
jmp 0x14004d0fb
lea rdx, [0x1401030e8]
mov rcx, rbx
call fcn.1400bea20
test eax, eax
jne 0x14004c9aa
test rdi, rdi
je 0x14004d0b0
mov rcx, rdi
call fcn.14009b440
mov ecx, 0xff
mov rdx, rax
cmp eax, ecx
jg 0x14004c99c
mov eax, 1
mov ecx, edx
cmp edx, eax
cmovl ecx, eax
mov byte [0x14011cb1b], cl
mov eax, r13d
jmp 0x14004d0fb
lea rdx, [0x140103118]
mov rcx, rbx
call fcn.1400bea20
test eax, eax
jne 0x14004ca2b
test rdi, rdi
je 0x14004ca1c
cmp word [rdi], si
je 0x14004ca1c
lea rdx, [0x140103268]
mov rcx, rdi
call fcn.1400bea20
test eax, eax
je 0x14004ca1c
cmp word [rdi], 0x31
jne 0x14004c9e6
cmp word [rdi + 2], si
je 0x14004ca1c
lea rdx, [0x140103278]
mov rcx, rdi
call fcn.1400bea20
test eax, eax
je 0x14004ca0d
cmp word [rdi], 0x30
jne 0x14004cbaf
cmp word [rdi + 2], si
jne 0x14004cbaf
mov byte [0x140122d9c], sil
mov eax, r13d
jmp 0x14004d0fb
mov byte [0x140122d9c], 1
mov eax, r13d
jmp 0x14004d0fb
lea rdx, [0x140103140]
mov rcx, rbx
call fcn.1400bea20
test eax, eax
jne 0x14004ca75
test rdi, rdi
je 0x14004d0b0
mov rcx, rdi
call fcn.14009b440
mov ecx, 0xff
mov rdx, rax
cmp eax, ecx
jg 0x14004ca67
mov eax, 1
mov ecx, edx
cmp edx, eax
cmovl ecx, eax
mov dword [reloc.WSOCK32.dll_inet_addr], ecx
mov eax, r13d
jmp 0x14004d0fb
lea rdx, [0x140103158]
mov rcx, rbx
call fcn.1400bea20
test eax, eax
jne 0x14004caf6
test rdi, rdi
je 0x14004cae7
cmp word [rdi], si
je 0x14004cae7
lea rdx, [0x140103268]
mov rcx, rdi
call fcn.1400bea20
test eax, eax
je 0x14004cae7
cmp word [rdi], 0x31
jne 0x14004cab1
cmp word [rdi + 2], si
je 0x14004cae7
lea rdx, [0x140103278]
mov rcx, rdi
call fcn.1400bea20
test eax, eax
je 0x14004cad8
cmp word [rdi], 0x30
jne 0x14004ccc2
cmp word [rdi + 2], si
jne 0x14004ccc2
mov byte [0x140122ceb], sil
mov eax, r13d
jmp 0x14004d0fb
mov byte [0x140122ceb], 1
mov eax, r13d
jmp 0x14004d0fb
lea rdx, [0x140103178]
mov rcx, rbx
call fcn.1400bea20
test eax, eax
jne 0x14004cb28
test rdi, rdi
je 0x14004d0b0
mov rcx, rdi
call fcn.14009b440
mov dword [0x14011c19c], eax
mov eax, r13d
jmp 0x14004d0fb
lea rdx, [0x1401031a0]
mov rcx, rbx
call fcn.1400bea20
test eax, eax
jne 0x14004cb4a
mov byte [0x140122dc2], 1
mov eax, r13d
jmp 0x14004d0fb
lea rdx, [0x1401031c8]
mov rcx, rbx
call fcn.1400bea20
test eax, eax
jne 0x14004cbc6
test rdi, rdi
je 0x14004cb8d
movzx eax, word [rdi]
cmp ax, 0x22
je 0x14004cb71
cmp ax, 0x27
jne 0x14004cb8d
xor edx, edx
lea rcx, [rdi + 2]
call fcn.1400ba088
movzx ecx, word [rdi]
cmp word [rax - 2], cx
jne 0x14004cb8d
mov word [rax - 2], si
add rdi, 2
mov rcx, rdi
call fcn.14000ebc0
cmp eax, 0xffffffff
mov dword [r15 + 0x790], eax
setne cl
mov byte [r15 + 0x78f], cl
jne 0x14004d0b0
mov r8, rdi
lea rdx, [0x1400ffed8]
mov rcx, r15
call fcn.140010930
jmp 0x14004d0fb
lea rdx, [0x1401031e8]
mov rcx, rbx
call fcn.1400bea20
test eax, eax
jne 0x14004cc08
test rdi, rdi
je 0x14004cbf8
mov rcx, rdi
call fcn.14009b440
test eax, eax
js 0x14004ccc2
cmp eax, 0x64
jle 0x14004cbfa
jmp 0x14004ccc2
mov eax, esi
mov byte [0x140122ce9], al
mov eax, r13d
jmp 0x14004d0fb
lea rdx, [0x140103200]
mov rcx, rbx
call fcn.1400bea20
test eax, eax
jne 0x14004cd74
lea rbx, [0x1400f9b70]
test rdi, rdi
mov rsi, rbx
lea edx, [rax + 0x2c]
cmovne rsi, rdi
mov rcx, rsi
call fcn.1400ba088
test rax, rax
je 0x14004cc82
lea rbx, [rax + 2]
movzx ecx, word [rbx]
cmp cx, 0x20
je 0x14004cc53
cmp cx, 9
jne 0x14004cc59
add rbx, 2
jmp 0x14004cc44
add rax, 0xfffffffffffffffe
cmp rax, rsi
jbe 0x14004cc7a
movzx ecx, word [rax]
cmp cx, 0x20
je 0x14004cc71
cmp cx, 9
jne 0x14004cc7a
sub rax, 2
cmp rax, rsi
ja 0x14004cc62
xor ecx, ecx
mov word [rax + 2], cx
jmp 0x14004cc84
xor ecx, ecx
cmp word [rsi], 0
mov r14d, r13d
je 0x14004ccd9
mov r14d, ecx
lea rdi, [0x140104fb0]
nop word [rax + rax]
mov rdx, qword [rdi]
mov rcx, rsi
call fcn.1400bea20
test eax, eax
je 0x14004ccd9
inc r14d
lea rax, [0x140104fd0]
add rdi, 8
cmp rdi, rax
jne 0x14004cca0
mov r8, r12
lea rdx, [0x1400ffed8]
mov rcx, r15
call fcn.140010930
jmp 0x14004d0fb
cmp word [rbx], 0
mov esi, 2
je 0x14004cd31
xor r12d, r12d
lea rdi, [0x140104f90]
mov esi, r12d
lea r12, [0x140104fb0]
nop dword [rax + rax]
mov rdx, qword [rdi]
mov rcx, rbx
call fcn.1400bea20
test eax, eax
je 0x14004cd31
inc esi
add rdi, 8
cmp rdi, r12
jne 0x14004cd00
mov r8, rbx
lea rdx, [0x140103210]
mov rcx, r15
call fcn.140010930
jmp 0x14004d0fb
test r14d, r14d
je 0x14004cd3b
cmp r14d, r13d
jne 0x14004cd41
mov dword [0x140122b0c], esi
lea eax, [r14 - 1]
test eax, 0xfffffffd
mov eax, dword [reloc.OLEAUT32.dll_SysReAllocString]
cmove eax, esi
mov dword [reloc.OLEAUT32.dll_SysReAllocString], eax
lea eax, [r14 - 2]
cmp eax, 1
ja 0x14004d0b0
mov dword [reloc.OLEAUT32.dll_SysReAllocString], esi
mov eax, r13d
jmp 0x14004d0fb
lea rdx, [0x140103240]
mov rcx, rbx
call fcn.1400bea20
test eax, eax
jne 0x14004cef0
test rdi, rdi
jne 0x14004cdab
lea r8, [0x1400f9b70]
mov rcx, r15
lea rdx, [0x140102f98]
call fcn.140010930
jmp 0x14004d0fb
mov r8d, 0xa
lea rdx, [0x1400f9d20]
mov rcx, rdi
call fcn.1400bec00
lea rbx, [0x140103258]
lea r14, [0x1400e9058]
test eax, eax
jne 0x14004ce9e
movzx eax, word [rdi + 0x14]
test ax, ax
je 0x14004d0b0
cmp ax, 0x20
je 0x14004cdf3
cmp ax, 9
jne 0x14004ce9e
lea rsi, [rdi + 0x16]
xor r12d, r12d
nop word [rax + rax]
mov rdx, rsi
movzx eax, word [rdx]
cmp ax, 0x20
je 0x14004ce12
cmp ax, 9
jne 0x14004ce18
add rdx, 2
jmp 0x14004ce03
test ax, ax
je 0x14004d0b0
mov rsi, rdx
cmp ax, 0x20
je 0x14004ce3d
cmp ax, 9
je 0x14004ce3d
movzx eax, word [rsi + 2]
add rsi, 2
test ax, ax
jne 0x14004ce24
mov eax, SafeArrayAllocDescriptor
lea rcx, [rsp + 0x70]
mov rbx, rsi
sub rbx, rdx
sar rbx, 1
inc rbx
cmp rbx, 0x20
cmova rbx, rax
lea r8, [rbx - 1]
call fcn.1400cd4c4
mov word [rsp + rbx*2 + 0x6e], r12w
lea rcx, [rsp + 0x70]
lea rbx, [0x140103258]
mov rdx, rbx
call fcn.1400bea20
test eax, eax
je 0x14004ce00
xor r8d, r8d
lea rdx, [rsp + 0x70]
mov rcx, r14
call fcn.14009dc00
test eax, eax
jne 0x14004ce00
mov rax, qword [r15 + 0x770]
lea r8, [0x140103290]
mov qword [rsp + 0x38], rax
lea rcx, [rbp - 0x10]
mov qword [rsp + 0x30], rbx
lea rax, [0x1400f9d20]
mov qword [rsp + 0x28], r14
mov r9, rdi
mov edx, 0x200
mov qword [rsp + 0x20], rax
call fcn.14009abe0
lea r8, [0x1400f9b70]
mov rcx, r15
lea rdx, [rbp - 0x10]
call fcn.140010930
jmp 0x14004d0fb
mov eax, 4
jmp 0x14004d0fb
test rdi, rdi
jne 0x14004cf16
mov r8, r12
lea rdx, [0x140102f98]
mov rcx, r15
call fcn.140010930
jmp 0x14004d0fb
movzx eax, word [rdi]
cmp ax, 0x22
je 0x14004cf25
cmp ax, 0x27
jne 0x14004cf49
lea rbx, [rdi + 2]
xor edx, edx
mov rcx, rbx
call fcn.1400ba088
mov rcx, rax
movzx eax, word [rdi]
cmp word [rcx - 2], ax
jne 0x14004cf49
mov word [rcx - 2], si
mov rdi, rbx
movzx eax, word [rbx]
test ax, ax
jne 0x14004cf69
lea r8, [0x1400f9b70]
mov rcx, r15
lea rdx, [0x1400ffed8]
call fcn.140010930
jmp 0x14004d0fb
cmp ax, 0x2a
jne 0x14004cfa4
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 0x14004cfa4
movzx eax, word [rdi + 4]
cmp ax, 0x20
je 0x14004cfa1
cmp ax, 9
jne 0x14004cfa4
mov sil, 1
test sil, sil
lea rbx, [rdi + 6]
cmove rbx, rdi
cmp word [rbx], 0x3c
jne 0x14004d06d
mov edx, 0x3e
mov rcx, rbx
call fcn.1400ba088
mov rdi, rax
test rax, rax
je 0x14004d06d
cmp word [rax + 2], 0
jne 0x14004d06d
xor eax, eax
add rbx, 2
mov word [rdi], ax
call fcn.140062960
mov r14, rax
lea r9, [rbp + 0x438]
lea rax, [rbp + 0x440]
mov r8, rdi
sub r8, rbx
mov qword [rsp + 0x20], rax
sar r8, 1
mov rdx, rbx
mov rcx, r15
call fcn.140052e20
test r14, r14
je 0x14004d02b
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov rcx, r14
call fcn.1400beb90
movzx eax, byte [rbp + 0x438]
test al, al
jne 0x14004d043
cmp byte [rbp + 0x440], al
jne 0x14004d0b0
test sil, sil
jne 0x14004d0b0
mov ecx, 0x3e
mov word [rdi], cx
test al, al
je 0x14004d056
xor eax, eax
jmp 0x14004d0fb
mov r8, r12
lea rdx, [0x140102fc8]
mov rcx, r15
call fcn.140010930
jmp 0x14004d0fb
mov r8, rbx
lea rdx, [rbp + 0x440]
mov rcx, r15
call fcn.14005d8e0
test eax, eax
jne 0x14004d087
xor eax, eax
jmp 0x14004d0fb
mov rbx, qword [rbp + 0x440]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14004d0b5
test al, 0x10
je 0x14004d0b5
mov rcx, rbx
call fcn.1400628a0
mov rcx, rbx
call fcn.1400beb90
mov eax, r13d
jmp 0x14004d0fb
call fcn.140062960
movzx r8d, byte [rbp + 0x438]
movzx r9d, sil
mov rdx, rbx
mov rcx, r15
mov rdi, rax
call fcn.140047990
neg eax
sbb esi, esi
and esi, r13d
test rdi, rdi
je 0x14004d0f1
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov rcx, rdi
call fcn.1400beb90
mov rcx, rbx
call fcn.1400beb90
mov eax, esi
mov r13, qword [rsp + 0x530]
add rsp, 0x4f0
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.140011050
int3