Function at 0x14004d170
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 r15, rdx
mov rdi, rcx
mov r8, rdx
lea r12, [r9 - 0x21]
test rdx, rdx
je 0x14004d1f0
movzx edx, word [rdx]
test dx, dx
je 0x14004d1f0
nop dword [rax]
lea rcx, [rsp + 0x70]
movzx eax, r9w
nop dword [rax]
cmp dx, ax
je 0x14004d21e
movzx eax, word [rcx + 2]
add rcx, 2
test ax, ax
jne 0x14004d1d0
movzx edx, word [r8 + 2]
add r8, 2
test dx, dx
jne 0x14004d1c0
mov rax, r12
cmp word [r15 + rax*2 + 2], si
lea rax, [rax + 1]
jne 0x14004d1f3
lea r8, [r15 + rax*2]
mov r14, rsi
mov rbx, r8
sub rbx, r15
sar rbx, 1
cmp rbx, r9
jb 0x14004d23e
mov eax, 4
jmp 0x14004ec61
mov r14, r8
movzx eax, word [r14]
cmp ax, r9w
je 0x14004d231
cmp ax, 9
jne 0x14004d237
add r14, 2
jmp 0x14004d221
test ax, ax
jne 0x14004d206
jmp 0x14004d203
mov qword [rsp + 0x540], r13
cmp word [r8], si
je 0x14004d266
mov r8, rbx
lea rcx, [rbp - 0x40]
mov rdx, r15
call fcn.1400d3cf4
mov word [rbp + rbx*2 - 0x40], si
lea rbx, [rbp - 0x40]
jmp 0x14004d269
mov rbx, r15
lea rdx, [0x140109810]
mov rcx, rbx
xor r13b, r13b
call fcn.1400c51bc
mov dword [rbp + 0x448], 3
test eax, eax
je 0x14004e787
lea rdx, [0x140109f40]
mov rcx, rbx
call fcn.1400c51bc
test eax, eax
sete r13b
test eax, eax
je 0x14004e787
lea rdx, [0x140109fc8]
mov rcx, rbx
call fcn.1400c51bc
test eax, eax
jne 0x14004d61f
test r14, r14
jne 0x14004d331
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetDllDirectoryW]
test eax, eax
jne 0x14004ec10
mov rcx, qword [rdi + 0x6b8]
movzx eax, byte [0x14012ce0c]
test rcx, rcx
je 0x14004d416
test al, al
je 0x14004d416
mov rax, qword [0x1401241d8]
cmp dword [rax + 0x60], esi
jne 0x14004d403
cmp dword [rdi + 0x718], esi
jne 0x14004d403
cmp byte [0x140126ada], sil
jne 0x14004d403
lea r9, [0x140100be0]
lea rdx, [0x140102d40]
jmp 0x14004e2e4
movzx eax, word [r14]
cmp ax, 0x22
je 0x14004d341
cmp ax, 0x27
jne 0x14004d366
lea rbx, [r14 + 2]
xor edx, edx
mov rcx, rbx
call fcn.1400c0244
mov rcx, rax
movzx eax, word [r14]
cmp word [rcx - 2], ax
jne 0x14004d366
mov word [rcx - 2], si
mov r14, rbx
movzx eax, word [rbx]
cmp ax, 0x2a
jne 0x14004d3ac
movzx edx, word [r14 + 2]
mov r9d, 0xffdf
movzx ecx, dx
and cx, r9w
lea eax, [rdx - 0x61]
cmp ax, 0x19
cmova cx, dx
cmp cx, 0x49
jne 0x14004d3ac
movzx eax, word [r14 + 4]
add r14, 4
mov bl, 1
cmp ax, 0x20
je 0x14004d3a6
cmp ax, 9
jne 0x14004d3ae
add r14, 2
jmp 0x14004d3ae
xor bl, bl
mov r8, r14
lea rdx, [rbp + 0x458]
mov rcx, rdi
call fcn.140062910
test eax, eax
je 0x14004ebe3
mov r14, qword [rbp + 0x458]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14004d48a
test al, 0x10
je 0x14004d48a
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_SetDllDirectoryW]
mov rcx, r14
mov ebx, eax
call fcn.1400c5338
test ebx, ebx
jmp 0x14004d2d0
lea r8, [0x140100be0]
lea rdx, [0x140102d40]
jmp 0x14004e943
cmp byte [0x14012ce0f], sil
je 0x14004d460
test al, al
jne 0x14004d460
test rcx, rcx
je 0x14004d432
movzx r9d, word [rcx + 2]
mov eax, dword [rcx + 4]
jmp 0x14004d43f
mov r9d, dword [rdi + 0x2d8]
mov eax, dword [rdi + 0x2dc]
lea r8, [0x140100be0]
mov dword [rsp + 0x20], eax
lea rdx, [0x140102d40]
mov rcx, rdi
call fcn.14000f320
mov eax, esi
jmp 0x14004ec59
mov qword [rsp + 0x28], rsi
lea r9, [0x140100be0]
xor r8d, r8d
mov qword [rsp + 0x20], rsi
lea rdx, [0x140102d40]
mov rcx, rdi
call fcn.140010330
mov eax, esi
jmp 0x14004ec59
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov qword [rbp + 0x450], rax
test rax, rax
je 0x14004d4c4
lea r8, [rbp + 0x450]
mov rdx, r14
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
mov rax, qword [rbp + 0x450]
test rax, rax
jne 0x14004d60c
test bl, bl
jne 0x14004d60c
mov rcx, qword [rdi + 0x6b8]
movzx eax, byte [0x14012ce0c]
test rcx, rcx
je 0x14004d585
test al, al
je 0x14004d585
mov rax, qword [0x1401241d8]
lea rbx, [0x140100be0]
test r14, r14
cmovne rbx, r14
cmp dword [rax + 0x60], esi
jne 0x14004d54e
cmp dword [rdi + 0x718], esi
jne 0x14004d54e
cmp byte [0x140126ada], sil
jne 0x14004d54e
mov qword [rsp + 0x28], rsi
lea rdx, [0x140106ec0]
mov qword [rsp + 0x20], rcx
mov r9, rbx
mov rcx, rdi
xor r8d, r8d
call fcn.140010330
mov rcx, r14
mov dword [rbp + 0x448], eax
call fcn.1400c5338
mov eax, dword [rbp + 0x448]
jmp 0x14004ec59
mov r9, rcx
mov qword [rsp + 0x28], rsi
mov rcx, rdi
mov dword [rsp + 0x20], esi
mov r8, rbx
lea rdx, [0x140106ec0]
call fcn.14000ef80
mov rcx, r14
mov dword [rbp + 0x448], eax
call fcn.1400c5338
mov eax, dword [rbp + 0x448]
jmp 0x14004ec59
test r14, r14
lea rbx, [0x140100be0]
cmovne rbx, r14
cmp byte [0x14012ce0f], sil
je 0x14004d5e7
test al, al
jne 0x14004d5e7
test rcx, rcx
je 0x14004d5af
movzx r9d, word [rcx + 2]
mov eax, dword [rcx + 4]
jmp 0x14004d5bc
mov r9d, dword [rdi + 0x2d8]
mov eax, dword [rdi + 0x2dc]
mov r8, rbx
mov dword [rsp + 0x20], eax
lea rdx, [0x140106ec0]
mov rcx, rdi
call fcn.14000f320
mov rcx, r14
mov dword [rbp + 0x448], esi
call fcn.1400c5338
mov eax, esi
jmp 0x14004ec59
mov qword [rsp + 0x28], rsi
lea rdx, [0x140106ec0]
mov r9, rbx
mov qword [rsp + 0x20], rsi
xor r8d, r8d
mov rcx, rdi
call fcn.140010330
mov dword [rbp + 0x448], esi
mov rcx, r14
call fcn.1400c5338
mov eax, dword [rbp + 0x448]
jmp 0x14004ec59
lea rdx, [0x140109fe0]
mov rcx, rbx
call fcn.1400c51bc
test eax, eax
jne 0x14004d643
mov byte [0x14012acac], 1
mov eax, 3
jmp 0x14004ec59
lea rdx, [0x140109ff8]
mov rcx, rbx
call fcn.1400c51bc
test eax, eax
jne 0x14004d706
test r14, r14
je 0x14004d6f0
lea rdx, [0x14010a018]
mov rcx, r14
call fcn.1400c51bc
test eax, eax
je 0x14004d6f0
lea rdx, [0x14010a028]
mov rcx, r14
call fcn.1400c51bc
test eax, eax
jne 0x14004d69e
mov eax, 1
mov dword [0x1401241e4], eax
mov eax, 3
jmp 0x14004ec59
lea rdx, [0x14010a038]
mov rcx, r14
call fcn.1400c51bc
test eax, eax
jne 0x14004d6c1
mov eax, 3
mov dword [0x1401241e4], eax
jmp 0x14004ec59
lea rdx, [0x140106160]
mov rcx, r14
call fcn.1400c51bc
test eax, eax
jne 0x14004e14c
mov dword [0x1401241e4], esi
mov eax, 3
jmp 0x14004ec59
mov r8, rbx
jmp 0x14004e93c
mov r15d, 2
mov dword [0x1401241e4], r15d
lea eax, [r15 + 1]
jmp 0x14004ec59
lea rdx, [0x14010a048]
mov rcx, rbx
call fcn.1400c51bc
test eax, eax
jne 0x14004d7e4
test r14, r14
je 0x14004d7d3
cmp word [r14], si
je 0x14004d7d3
lea rdx, [0x14010a230]
mov rcx, r14
call fcn.1400c51bc
test eax, eax
je 0x14004d7d3
cmp word [r14], 0x31
jne 0x14004d755
cmp word [r14 + 2], si
je 0x14004d7d3
lea rdx, [0x14010a240]
mov rcx, r14
call fcn.1400c51bc
test eax, eax
je 0x14004d7c2
cmp word [r14], 0x30
jne 0x14004d776
cmp word [r14 + 2], si
je 0x14004d7c2
mov rcx, qword [rdi + 0x6b8]
movzx eax, byte [0x14012ce0c]
test rcx, rcx
je 0x14004ded1
test al, al
je 0x14004ded1
mov rax, qword [0x1401241d8]
cmp dword [rax + 0x60], esi
jne 0x14004d7ba
cmp dword [rdi + 0x718], esi
jne 0x14004d7ba
cmp byte [0x140126ada], sil
jne 0x14004d7ba
mov r9, r14
jmp 0x14004e2dd
mov r8, r14
jmp 0x14004e93c
mov byte [0x14012ab3f], sil
mov eax, 3
jmp 0x14004ec59
mov byte [0x14012ab3f], 1
mov eax, 3
jmp 0x14004ec59
lea rdx, [0x140104f90]
mov rcx, rbx
call fcn.1400c51bc
test eax, eax
jne 0x14004dc38
mov r10, qword [0x1401241d8]
cmp dword [rdi + 0x94], esi
jne 0x14004db56
mov rax, qword [rdi + 0x30]
cmp qword [r10 + 0x28], rax
jne 0x14004db56
test r14, r14
jne 0x14004d831
mov qword [r10 + 0x80], rsi
lea eax, [r14 + 3]
jmp 0x14004ec59
mov r9, qword [0x14012ae38]
test r9, r9
je 0x14004d875
nop dword [rax]
mov r8, qword [r9 + 0x18]
test r8, r8
je 0x14004d86c
mov rax, r14
sub r8, r14
nop
movzx edx, word [rax]
movzx ecx, word [rax + r8]
sub edx, ecx
jne 0x14004d864
add rax, 2
test ecx, ecx
jne 0x14004d850
test edx, edx
je 0x14004d8f4
mov r9, qword [r9 + 0x30]
test r9, r9
jne 0x14004d840
mov qword [r10 + 0x80], rsi
mov r15, qword [rdi + 0x30]
test r15, r15
je 0x14004d888
dec dword [rdi + 0x48]
mov rcx, rdi
call fcn.140066770
mov rcx, qword [rdi + 0x30]
call fcn.140018ae0
cmp eax, 1
je 0x14004d990
cmp eax, 0xa00e0001
jne 0x14004ebc6
mov rcx, qword [rdi + 0x6b8]
movzx eax, byte [0x14012ce0c]
test rcx, rcx
je 0x14004d91c
test al, al
je 0x14004d91c
mov rax, qword [0x1401241d8]
cmp dword [rax + 0x60], esi
jne 0x14004d909
cmp dword [rdi + 0x718], esi
jne 0x14004d909
cmp byte [0x140126ada], sil
jne 0x14004d909
lea r9, [0x140100be0]
lea rdx, [0x1401049c0]
jmp 0x14004e2e4
mov qword [r10 + 0x80], r9
test r9, r9
jne 0x14004ec10
jmp 0x14004d87c
lea r8, [0x140100be0]
lea rdx, [0x1401049c0]
jmp 0x14004e943
cmp byte [0x14012ce0f], sil
je 0x14004d966
test al, al
jne 0x14004d966
test rcx, rcx
je 0x14004d938
movzx r9d, word [rcx + 2]
mov eax, dword [rcx + 4]
jmp 0x14004d945
mov r9d, dword [rdi + 0x2d8]
mov eax, dword [rdi + 0x2dc]
lea r8, [0x140100be0]
mov dword [rsp + 0x20], eax
lea rdx, [0x1401049c0]
mov rcx, rdi
call fcn.14000f320
mov eax, esi
jmp 0x14004ec59
mov qword [rsp + 0x28], rsi
lea r9, [0x140100be0]
xor r8d, r8d
mov qword [rsp + 0x20], rsi
lea rdx, [0x1401049c0]
mov rcx, rdi
call fcn.140010330
mov eax, esi
jmp 0x14004ec59
lea rbx, [0x140100be0]
cmp word [r14], si
je 0x14004d9e8
nop dword [rax]
inc r12
cmp word [r14 + r12*2], si
jne 0x14004d9a0
lea r13, [r12 + r12]
mov qword [rbp + 0x448], r12
lea rcx, [r13 + 2]
call fcn.14009d960
mov r12, rax
test rax, rax
je 0x14004ec73
cmp qword [rbp + 0x448], rsi
je 0x14004d9e1
mov r8, r13
mov rdx, r14
mov rcx, rax
call fcn.1400e2370
mov word [r12 + r13], si
jmp 0x14004d9eb
mov r12, rbx
mov rax, qword [0x1401241d8]
xor r9d, r9d
mov byte [rsp + 0x28], sil
xor r8d, r8d
mov dl, 3
mov qword [rsp + 0x20], rsi
mov rcx, qword [rax + 0x80]
mov qword [rcx + 0x18], r12
mov rcx, rdi
mov r13, qword [rdi + 0x30]
call fcn.140051c40
test eax, eax
je 0x14004da98
xor r9d, r9d
mov qword [rsp + 0x20], rsi
mov r8b, 6
mov rdx, r14
mov rcx, rdi
call fcn.14004f010
test eax, eax
je 0x14004da98
mov byte [rsp + 0x28], sil
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rsi
mov dl, 4
mov rcx, rdi
call fcn.140051c40
test eax, eax
je 0x14004da98
mov rcx, qword [r13 + 0x40]
mov r8, qword [0x1401241d8]
mov rax, qword [r8 + 0x80]
mov qword [rcx + 0x10], rax
mov qword [rdi + 0x30], r15
mov qword [r8 + 0x28], r15
test r15, r15
je 0x14004ec10
mov r8d, dword [rdi + 0x48]
lea rcx, [rdi + 0x40]
mov rdx, r15
call fcn.140064b80
mov eax, 3
jmp 0x14004ec59
mov rcx, qword [rdi + 0x6b8]
movzx eax, byte [0x14012ce0c]
test rcx, rcx
je 0x14004daea
test al, al
je 0x14004daea
mov rax, qword [0x1401241d8]
cmp dword [rax + 0x60], esi
jne 0x14004dadb
cmp dword [rdi + 0x718], esi
jne 0x14004dadb
cmp byte [0x140126ada], sil
jne 0x14004dadb
mov r9, rbx
lea rdx, [0x1401049c0]
jmp 0x14004e2e4
mov r8, rbx
lea rdx, [0x1401049c0]
jmp 0x14004e943
cmp byte [0x14012ce0f], sil
je 0x14004db30
test al, al
jne 0x14004db30
test rcx, rcx
je 0x14004db06
movzx r9d, word [rcx + 2]
mov eax, dword [rcx + 4]
jmp 0x14004db13
mov r9d, dword [rdi + 0x2d8]
mov eax, dword [rdi + 0x2dc]
mov r8, rbx
mov dword [rsp + 0x20], eax
lea rdx, [0x1401049c0]
mov rcx, rdi
call fcn.14000f320
mov eax, esi
jmp 0x14004ec59
mov qword [rsp + 0x28], rsi
lea rdx, [0x1401049c0]
mov r9, rbx
mov qword [rsp + 0x20], rsi
xor r8d, r8d
mov rcx, rdi
call fcn.140010330
mov eax, esi
jmp 0x14004ec59
mov rax, qword [rdi + 0x6b8]
movzx ecx, byte [0x14012ce0c]
test rax, rax
je 0x14004dbc4
test cl, cl
je 0x14004dbc4
cmp dword [r10 + 0x60], esi
jne 0x14004dbae
cmp dword [rdi + 0x718], esi
jne 0x14004dbae
cmp byte [0x140126ada], sil
jne 0x14004dbae
mov qword [rsp + 0x28], rsi
lea r9, [0x140100be0]
lea rdx, [0x1401075a8]
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov rcx, rdi
call fcn.140010330
mov esi, eax
jmp 0x14004ec59
mov r9, rax
lea r8, [0x140100be0]
lea rdx, [0x1401075a8]
jmp 0x14004e946
cmp byte [0x14012ce0f], sil
je 0x14004dc0e
test cl, cl
jne 0x14004dc0e
test rax, rax
je 0x14004dbe0
movzx r9d, word [rax + 2]
mov ecx, dword [rax + 4]
jmp 0x14004dbed
mov r9d, dword [rdi + 0x2d8]
mov ecx, dword [rdi + 0x2dc]
mov dword [rsp + 0x20], ecx
lea r8, [0x140100be0]
mov rcx, rdi
lea rdx, [0x1401075a8]
call fcn.14000f320
mov eax, esi
jmp 0x14004ec59
mov qword [rsp + 0x28], rsi
lea r9, [0x140100be0]
xor r8d, r8d
mov qword [rsp + 0x20], rsi
lea rdx, [0x1401075a8]
mov rcx, rdi
call fcn.140010330
mov eax, esi
jmp 0x14004ec59
lea rdx, [0x14010a060]
mov rcx, rbx
call fcn.1400c51bc
test eax, eax
jne 0x14004dc6c
test r14, r14
je 0x14004ec10
mov rcx, r14
call fcn.1400a19d0
mov dword [0x140124b80], eax
mov eax, 3
jmp 0x14004ec59
lea rdx, [0x14010a080]
mov rcx, rbx
call fcn.1400c51bc
test eax, eax
jne 0x14004ddf8
test r14, r14
je 0x14004ec10
lea rdx, [0x140106708]
mov rcx, r14
call fcn.1400a14b0
mov r8, rax
test rax, rax
je 0x14004dd2f
movzx edx, word [rax]
test dx, dx
je 0x14004ec10
mov r9d, 9
nop dword [rax]
lea rcx, [0x14010a098]
movzx eax, r9w
nop dword [rax + rax]
cmp dx, ax
je 0x14004dcfa
movzx eax, word [rcx + 2]
add rcx, 2
test ax, ax
jne 0x14004dcd0
movzx edx, word [r8 + 2]
add r8, 2
test dx, dx
jne 0x14004dcc0
mov eax, 3
jmp 0x14004ec59
lea rdx, [r8 + 2]
mov r8d, WSAAsyncSelect
lea rcx, [0x140124ab0]
call fcn.1400d3cf4
xor edx, edx
mov word [0x140124b78], si
lea rcx, [0x140124ab0]
call fcn.1400a38c0
mov eax, 3
jmp 0x14004ec59
mov r8d, 7
lea rdx, [0x14010a0a0]
mov rcx, r14
call fcn.1400c53a8
test eax, eax
jne 0x14004dd59
mov byte [0x1401241f5], sil
mov eax, 3
jmp 0x14004ec59
lea rax, [0x14012ab86]
mov rcx, r14
mov qword [rsp + 0x68], rax
lea r9, [0x140124b7c]
lea rax, [0x14012ab5c]
mov qword [rsp + 0x60], rax
lea r8, [0x14012ac98]
lea rax, [0x14012ab5d]
mov qword [rsp + 0x58], rax
lea rdx, [0x14012ac9c]
lea rax, [0x14012ab5e]
mov qword [rsp + 0x50], rax
lea rax, [0x1401241f6]
mov qword [rsp + 0x48], rax
lea rax, [0x14012ab75]
mov qword [rsp + 0x40], rax
lea rax, [0x14012ab5f]
mov qword [rsp + 0x38], rax
lea rax, [0x1401241f7]
mov qword [rsp + 0x30], rax
lea rax, [0x1401241f8]
mov qword [rsp + 0x28], rax
lea rax, [0x14012ab74]
mov qword [rsp + 0x20], rax
call fcn.14001b9b0
mov eax, 3
jmp 0x14004ec59
lea rdx, [0x14010a0b0]
mov rcx, rbx
call fcn.1400c51bc
test eax, eax
jne 0x14004de44
test r14, r14
je 0x14004ec10
mov rcx, r14
call fcn.1400a19d0
mov ecx, 0xff
mov rdx, rax
cmp eax, ecx
jg 0x14004de34
mov eax, 1
mov ecx, edx
cmp edx, eax
cmovl ecx, eax
mov byte [0x1401241f9], cl
mov eax, 3
jmp 0x14004ec59
lea rdx, [0x14010a0e0]
mov rcx, rbx
call fcn.1400c51bc
test eax, eax
jne 0x14004df4e
test r14, r14
je 0x14004df3d
cmp word [r14], si
je 0x14004df3d
lea rdx, [0x14010a230]
mov rcx, r14
call fcn.1400c51bc
test eax, eax
je 0x14004df3d
cmp word [r14], 0x31
jne 0x14004de97
cmp word [r14 + 2], si
je 0x14004df3d
lea rdx, [0x14010a240]
mov rcx, r14
call fcn.1400c51bc
test eax, eax
je 0x14004dec0
cmp word [r14], 0x30
jne 0x14004d776
cmp word [r14 + 2], si
jne 0x14004d776
mov byte [0x14012abac], sil
mov eax, 3
jmp 0x14004ec59
cmp byte [0x14012ce0f], sil
je 0x14004df17
test al, al
jne 0x14004df17
test rcx, rcx
je 0x14004deed
movzx r9d, word [rcx + 2]
mov eax, dword [rcx + 4]
jmp 0x14004defa
mov r9d, dword [rdi + 0x2d8]
mov eax, dword [rdi + 0x2dc]
mov r8, r14
mov dword [rsp + 0x20], eax
lea rdx, [0x140106f38]
mov rcx, rdi
call fcn.14000f320
mov eax, esi
jmp 0x14004ec59
mov qword [rsp + 0x28], rsi
lea rdx, [0x140106f38]
mov r9, r14
mov qword [rsp + 0x20], rsi
xor r8d, r8d
mov rcx, rdi
call fcn.140010330
mov eax, esi
jmp 0x14004ec59
mov byte [0x14012abac], 1
mov eax, 3
jmp 0x14004ec59
lea rdx, [0x14010a108]
mov rcx, rbx
call fcn.1400c51bc
test eax, eax
jne 0x14004df9a
test r14, r14
je 0x14004ec10
mov rcx, r14
call fcn.1400a19d0
mov ecx, 0xff
mov rdx, rax
cmp eax, ecx
jg 0x14004df8a
mov eax, 1
mov ecx, edx
cmp edx, eax
cmovl ecx, eax
mov dword [reloc.WSOCK32.dll_inet_addr], ecx
mov eax, 3
jmp 0x14004ec59
lea rdx, [0x14010a120]
mov rcx, rbx
call fcn.1400c51bc
test eax, eax
jne 0x14004e024
test r14, r14
je 0x14004e013
cmp word [r14], si
je 0x14004e013
lea rdx, [0x14010a230]
mov rcx, r14
call fcn.1400c51bc
test eax, eax
je 0x14004e013
cmp word [r14], 0x31
jne 0x14004dfd9
cmp word [r14 + 2], si
je 0x14004e013
lea rdx, [0x14010a240]
mov rcx, r14
call fcn.1400c51bc
test eax, eax
je 0x14004e002
cmp word [r14], 0x30
jne 0x14004e14c
cmp word [r14 + 2], si
jne 0x14004e14c
mov byte [0x14012ab87], sil
mov eax, 3
jmp 0x14004ec59
mov byte [0x14012ab87], 1
mov eax, 3
jmp 0x14004ec59
lea rdx, [0x14010a140]
mov rcx, rbx
call fcn.1400c51bc
test eax, eax
jne 0x14004e058
test r14, r14
je 0x14004ec10
mov rcx, r14
call fcn.1400a19d0
mov dword [0x1401241ec], eax
mov eax, 3
jmp 0x14004ec59
lea rdx, [0x14010a168]
mov rcx, rbx
call fcn.1400c51bc
test eax, eax
jne 0x14004e07c
mov byte [0x14012acae], 1
mov eax, 3
jmp 0x14004ec59
lea rdx, [0x14010a190]
mov rcx, rbx
call fcn.1400c51bc
test eax, eax
jne 0x14004e11f
test r14, r14
je 0x14004e0c5
movzx eax, word [r14]
cmp ax, 0x22
je 0x14004e0a8
cmp ax, 0x27
jne 0x14004e0c5
xor edx, edx
lea rcx, [r14 + 2]
call fcn.1400c0244
movzx ecx, word [r14]
cmp word [rax - 2], cx
jne 0x14004e0c5
mov word [rax - 2], si
add r14, 2
mov rcx, r14
call fcn.14000ead0
cmp eax, 0xffffffff
mov dword [rdi + 0x7a0], eax
setne cl
mov byte [rdi + 0x79f], cl
jne 0x14004ec10
mov rcx, qword [rdi + 0x6b8]
movzx eax, byte [0x14012ce0c]
test rcx, rcx
je 0x14004e10f
test al, al
je 0x14004e10f
test r14, r14
lea rbx, [0x140100be0]
cmovne rbx, r14
jmp 0x14004e2b1
test r14, r14
lea rbx, [0x140100be0]
cmovne rbx, r14
jmp 0x14004e17d
lea rdx, [0x14010a1b0]
mov rcx, rbx
call fcn.1400c51bc
test eax, eax
jne 0x14004e1ba
test r14, r14
je 0x14004e1a8
mov rcx, r14
call fcn.1400a19d0
test eax, eax
js 0x14004e14c
cmp eax, 0x64
jle 0x14004e1aa
mov rcx, qword [rdi + 0x6b8]
movzx eax, byte [0x14012ce0c]
test rcx, rcx
je 0x14004e16f
test al, al
je 0x14004e16f
lea rbx, [0x140100be0]
jmp 0x14004e2aa
lea rbx, [0x140100be0]
test r15, r15
cmovne rbx, r15
cmp byte [0x14012ce0f], sil
je 0x14004e32a
test al, al
jne 0x14004e32a
test rcx, rcx
je 0x14004e300
movzx r9d, word [rcx + 2]
mov eax, dword [rcx + 4]
jmp 0x14004e30d
mov eax, esi
mov byte [0x14012ab85], al
mov eax, 3
jmp 0x14004ec59
lea rdx, [0x14010a1c8]
mov rcx, rbx
call fcn.1400c51bc
test eax, eax
jne 0x14004e490
lea rbx, [0x140100be0]
test r14, r14
mov r12, rbx
lea edx, [rax + 0x2c]
cmovne r12, r14
mov rcx, r12
mov qword [rbp + 0x448], r12
call fcn.1400c0244
mov r14, rbx
test rax, rax
je 0x14004e23c
lea r14, [rax + 2]
movzx ecx, word [r14]
cmp cx, 0x20
je 0x14004e210
cmp cx, 9
jne 0x14004e216
add r14, 2
jmp 0x14004e200
add rax, 0xfffffffffffffffe
cmp rax, r12
jbe 0x14004e238
nop
movzx ecx, word [rax]
cmp cx, 0x20
je 0x14004e22f
cmp cx, 9
jne 0x14004e238
sub rax, 2
cmp rax, r12
ja 0x14004e220
mov word [rax + 2], si
mov r13d, 3
cmp word [r12], si
je 0x14004e350
mov r13d, esi
lea r12, [0x14010bf90]
nop word [rax + rax]
mov rdx, qword [r12]
mov rcx, qword [rbp + 0x448]
call fcn.1400c51bc
test eax, eax
je 0x14004e350
inc r13d
lea rax, [0x14010bfb0]
add r12, 8
cmp r12, rax
jne 0x14004e260
mov rcx, qword [rdi + 0x6b8]
movzx eax, byte [0x14012ce0c]
test rcx, rcx
je 0x14004e176
test al, al
je 0x14004e176
test r15, r15
cmovne rbx, r15
mov rax, qword [0x1401241d8]
cmp dword [rax + 0x60], esi
jne 0x14004d6e8
cmp dword [rdi + 0x718], esi
jne 0x14004d6e8
cmp byte [0x140126ada], sil
jne 0x14004d6e8
mov r9, rbx
lea rdx, [0x140106f38]
mov qword [rsp + 0x28], rsi
xor r8d, r8d
mov qword [rsp + 0x20], rcx
mov rcx, rdi
call fcn.140010330
mov esi, eax
jmp 0x14004ec59
mov r9d, dword [rdi + 0x2d8]
mov eax, dword [rdi + 0x2dc]
mov r8, rbx
mov dword [rsp + 0x20], eax
lea rdx, [0x140106f38]
mov rcx, rdi
call fcn.14000f320
mov eax, esi
jmp 0x14004ec59
mov qword [rsp + 0x28], rsi
lea rdx, [0x140106f38]
mov r9, rbx
mov qword [rsp + 0x20], rsi
xor r8d, r8d
mov rcx, rdi
call fcn.140010330
mov eax, esi
jmp 0x14004ec59
mov r15d, 2
cmp word [r14], si
je 0x14004e44e
mov r15d, esi
lea rbx, [0x14010bf70]
lea r12, [0x14010bf90]
mov rdx, qword [rbx]
mov rcx, r14
call fcn.1400c51bc
test eax, eax
je 0x14004e44e
inc r15d
add rbx, 8
cmp rbx, r12
jne 0x14004e371
mov rcx, qword [rdi + 0x6b8]
movzx eax, byte [0x14012ce0c]
test rcx, rcx
je 0x14004e3e2
test al, al
je 0x14004e3e2
mov rax, qword [0x1401241d8]
cmp dword [rax + 0x60], esi
jne 0x14004e3d3
cmp dword [rdi + 0x718], esi
jne 0x14004e3d3
cmp byte [0x140126ada], sil
jne 0x14004e3d3
mov r9, r14
lea rdx, [0x14010a1d8]
jmp 0x14004e2e4
mov r8, r14
lea rdx, [0x14010a1d8]
jmp 0x14004e802
cmp byte [0x14012ce0f], sil
je 0x14004e428
test al, al
jne 0x14004e428
test rcx, rcx
je 0x14004e3fe
movzx r9d, word [rcx + 2]
mov eax, dword [rcx + 4]
jmp 0x14004e40b
mov r9d, dword [rdi + 0x2d8]
mov eax, dword [rdi + 0x2dc]
mov r8, r14
mov dword [rsp + 0x20], eax
lea rdx, [0x14010a1d8]
mov rcx, rdi
call fcn.14000f320
mov eax, esi
jmp 0x14004ec59
mov qword [rsp + 0x28], rsi
lea rdx, [0x14010a1d8]
mov r9, r14
mov qword [rsp + 0x20], rsi
xor r8d, r8d
mov rcx, rdi
call fcn.140010330
mov eax, esi
jmp 0x14004ec59
test r13d, r13d
je 0x14004e459
cmp r13d, 3
jne 0x14004e460
mov dword [0x14012aba8], r15d
lea eax, [r13 - 1]
test eax, 0xfffffffd
jne 0x14004e472
mov dword [reloc.OLEAUT32.dll_SysReAllocString], r15d
lea eax, [r13 - 2]
cmp eax, 1
mov eax, 3
ja 0x14004ec59
mov dword [reloc.OLEAUT32.dll_SysReAllocString], r15d
jmp 0x14004ec59
lea rdx, [0x14010a208]
mov rcx, rbx
call fcn.1400c51bc
test eax, eax
jne 0x14004e77d
test r14, r14
jne 0x14004e577
mov rcx, qword [rdi + 0x6b8]
movzx eax, byte [0x14012ce0c]
test rcx, rcx
je 0x14004e503
test al, al
je 0x14004e503
mov rax, qword [0x1401241d8]
cmp dword [rax + 0x60], esi
jne 0x14004e4f7
cmp dword [rdi + 0x718], esi
jne 0x14004e4f7
cmp byte [0x140126ada], sil
jne 0x14004e4f7
lea r9, [0x140100be0]
lea rdx, [0x140109f60]
jmp 0x14004e2e4
lea r8, [0x140100be0]
jmp 0x14004e7fb
cmp byte [0x14012ce0f], sil
je 0x14004e54d
test al, al
jne 0x14004e54d
test rcx, rcx
je 0x14004e51f
movzx r9d, word [rcx + 2]
mov eax, dword [rcx + 4]
jmp 0x14004e52c
mov r9d, dword [rdi + 0x2d8]
mov eax, dword [rdi + 0x2dc]
lea r8, [0x140100be0]
mov dword [rsp + 0x20], eax
lea rdx, [0x140109f60]
mov rcx, rdi
call fcn.14000f320
mov eax, esi
jmp 0x14004ec59
mov qword [rsp + 0x28], rsi
lea r9, [0x140100be0]
xor r8d, r8d
mov qword [rsp + 0x20], rsi
lea rdx, [0x140109f60]
mov rcx, rdi
call fcn.140010330
mov eax, esi
jmp 0x14004ec59
mov r8d, 0xa
lea rdx, [0x140100d90]
mov rcx, r14
call fcn.1400c53a8
lea r13, str.64_bit
lea r12, [0x1400f00b8]
test eax, eax
jne 0x14004e654
movzx eax, word [r14 + 0x14]
test ax, ax
je 0x14004ec10
cmp ax, 0x20
je 0x14004e5c0
cmp ax, 9
jne 0x14004e654
lea r15, [r14 + 0x16]
mov rdx, r15
movzx eax, word [rdx]
cmp ax, 0x20
je 0x14004e5d6
cmp ax, 9
jne 0x14004e5dc
add rdx, 2
jmp 0x14004e5c7
test ax, ax
je 0x14004ec10
mov r15, rdx
cmp ax, 0x20
je 0x14004e602
cmp ax, 9
je 0x14004e602
movzx eax, word [r15 + 2]
add r15, 2
test ax, ax
jne 0x14004e5e8
mov eax, SafeArrayAllocDescriptor
lea rcx, [rbp - 0x80]
mov rbx, r15
sub rbx, rdx
sar rbx, 1
inc rbx
cmp rbx, 0x20
cmova rbx, rax
lea r8, [rbx - 1]
call fcn.1400d3cf4
mov rdx, r13
mov word [rsp + rbx*2 + 0x7e], si
lea rcx, [rbp - 0x80]
call fcn.1400c51bc
test eax, eax
je 0x14004e5c4
xor r8d, r8d
lea rdx, [rbp - 0x80]
mov rcx, r12
call fcn.1400a4150
test eax, eax
jne 0x14004e5c4
mov rax, qword [rdi + 0x780]
lea r8, [0x14010a250]
mov qword [rsp + 0x38], rax
lea rcx, [rbp]
mov qword [rsp + 0x30], r13
lea rax, [0x140100d90]
mov qword [rsp + 0x28], r12
mov r9, r14
mov edx, 0x200
mov qword [rsp + 0x20], rax
call fcn.1400a1160
mov rcx, qword [rdi + 0x6b8]
movzx eax, byte [0x14012ce0c]
test rcx, rcx
je 0x14004e70f
test al, al
je 0x14004e70f
mov rax, qword [0x1401241d8]
cmp dword [rax + 0x60], esi
jne 0x14004e6e9
cmp dword [rdi + 0x718], esi
jne 0x14004e6e9
cmp byte [0x140126ada], sil
jne 0x14004e6e9
mov qword [rsp + 0x28], rsi
lea r9, [0x140100be0]
mov qword [rsp + 0x20], rcx
lea rdx, [rbp]
mov rcx, rdi
xor r8d, r8d
call fcn.140010330
mov esi, eax
jmp 0x14004ec59
mov r9, rcx
mov qword [rsp + 0x28], rsi
mov rcx, rdi
mov dword [rsp + 0x20], esi
lea r8, [0x140100be0]
lea rdx, [rbp]
call fcn.14000ef80
mov esi, eax
jmp 0x14004ec59
cmp byte [0x14012ce0f], sil
je 0x14004e756
test al, al
jne 0x14004e756
test rcx, rcx
je 0x14004e72b
movzx r9d, word [rcx + 2]
mov eax, dword [rcx + 4]
jmp 0x14004e738
mov r9d, dword [rdi + 0x2d8]
mov eax, dword [rdi + 0x2dc]
lea r8, [0x140100be0]
mov dword [rsp + 0x20], eax
lea rdx, [rbp]
mov rcx, rdi
call fcn.14000f320
mov eax, esi
jmp 0x14004ec59
mov qword [rsp + 0x28], rsi
lea r9, [0x140100be0]
xor r8d, r8d
mov qword [rsp + 0x20], rsi
lea rdx, [rbp]
mov rcx, rdi
call fcn.140010330
mov eax, esi
jmp 0x14004ec59
mov eax, 4
jmp 0x14004ec59
test r14, r14
jne 0x14004e897
mov rcx, qword [rdi + 0x6b8]
movzx eax, byte [0x14012ce0c]
test rcx, rcx
je 0x14004e81d
test al, al
je 0x14004e81d
mov rax, qword [0x1401241d8]
lea rbx, [0x140100be0]
test r15, r15
cmovne rbx, r15
cmp dword [rax + 0x60], esi
jne 0x14004e7f8
cmp dword [rdi + 0x718], esi
jne 0x14004e7f8
cmp byte [0x140126ada], sil
jne 0x14004e7f8
mov qword [rsp + 0x28], rsi
lea rdx, [0x140109f60]
mov qword [rsp + 0x20], rcx
mov r9, rbx
mov rcx, rdi
xor r8d, r8d
call fcn.140010330
mov esi, eax
jmp 0x14004ec59
mov r8, rbx
lea rdx, [0x140109f60]
mov r9, rcx
mov qword [rsp + 0x28], rsi
mov rcx, rdi
mov dword [rsp + 0x20], esi
call fcn.14000ef80
mov esi, eax
jmp 0x14004ec59
test r15, r15
lea rbx, [0x140100be0]
cmovne rbx, r15
cmp byte [0x14012ce0f], sil
je 0x14004e871
test al, al
jne 0x14004e871
test rcx, rcx
je 0x14004e847
movzx r9d, word [rcx + 2]
mov eax, dword [rcx + 4]
jmp 0x14004e854
mov r9d, dword [rdi + 0x2d8]
mov eax, dword [rdi + 0x2dc]
mov r8, rbx
mov dword [rsp + 0x20], eax
lea rdx, [0x140109f60]
mov rcx, rdi
call fcn.14000f320
mov eax, esi
jmp 0x14004ec59
mov qword [rsp + 0x28], rsi
lea rdx, [0x140109f60]
mov r9, rbx
mov qword [rsp + 0x20], rsi
xor r8d, r8d
mov rcx, rdi
call fcn.140010330
mov eax, esi
jmp 0x14004ec59
movzx r8d, word [r14]
cmp r8w, 0x22
je 0x14004e8a9
cmp r8w, 0x27
jne 0x14004e8cd
lea rbx, [r14 + 2]
xor edx, edx
mov rcx, rbx
call fcn.1400c0244
movzx r8d, word [r14]
cmp word [rax - 2], r8w
jne 0x14004e8cd
mov word [rax - 2], si
mov r14, rbx
movzx r8d, word [rbx]
test r8w, r8w
jne 0x14004e9d2
mov rcx, qword [rdi + 0x6b8]
movzx eax, byte [0x14012ce0c]
test rcx, rcx
je 0x14004e95e
test al, al
je 0x14004e95e
mov rax, qword [0x1401241d8]
cmp dword [rax + 0x60], esi
jne 0x14004e935
cmp dword [rdi + 0x718], esi
jne 0x14004e935
cmp byte [0x140126ada], sil
jne 0x14004e935
mov qword [rsp + 0x28], rsi
lea r9, [0x140100be0]
mov qword [rsp + 0x20], rcx
lea rdx, [0x140106f38]
mov rcx, rdi
xor r8d, r8d
call fcn.140010330
mov esi, eax
jmp 0x14004ec59
lea r8, [0x140100be0]
lea rdx, [0x140106f38]
mov r9, rcx
mov qword [rsp + 0x28], rsi
mov rcx, rdi
mov dword [rsp + 0x20], esi
call fcn.14000ef80
mov esi, eax
jmp 0x14004ec59
cmp byte [0x14012ce0f], sil
je 0x14004e9a8
test al, al
jne 0x14004e9a8
test rcx, rcx
je 0x14004e97a
movzx r9d, word [rcx + 2]
mov eax, dword [rcx + 4]
jmp 0x14004e987
mov r9d, dword [rdi + 0x2d8]
mov eax, dword [rdi + 0x2dc]
lea r8, [0x140100be0]
mov dword [rsp + 0x20], eax
lea rdx, [0x140106f38]
mov rcx, rdi
call fcn.14000f320
mov eax, esi
jmp 0x14004ec59
mov qword [rsp + 0x28], rsi
lea r9, [0x140100be0]
xor r8d, r8d
mov qword [rsp + 0x20], rsi
lea rdx, [0x140106f38]
mov rcx, rdi
call fcn.140010330
mov eax, esi
jmp 0x14004ec59
cmp r8w, 0x2a
jne 0x14004ea1b
movzx edx, word [r14 + 2]
mov r9d, 0xffdf
movzx ecx, dx
and cx, r9w
lea eax, [rdx - 0x61]
cmp ax, 0x19
cmova cx, dx
cmp cx, 0x49
jne 0x14004ea1b
movzx eax, word [r14 + 4]
cmp ax, 0x20
je 0x14004ea0d
cmp ax, 9
jne 0x14004ea1b
movzx r8d, word [r14 + 6]
add r14, 6
mov r12b, 1
jmp 0x14004ea1e
xor r12b, r12b
cmp r8w, 0x3c
jne 0x14004ebcd
mov edx, 0x3e
mov rcx, r14
call fcn.1400c0244
mov rbx, rax
test rax, rax
je 0x14004ebcd
cmp word [rax + 2], si
jne 0x14004ebcd
add r14, 2
mov word [rax], si
call fcn.140067930
mov r13, rax
lea r9, [rbp + 0x448]
lea rax, [rbp + 0x450]
mov r8, rbx
sub r8, r14
mov qword [rsp + 0x20], rax
sar r8, 1
mov rdx, r14
mov rcx, rdi
call fcn.1400576b0
test r13, r13
je 0x14004ea98
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov rcx, r13
call fcn.1400c5338
movzx eax, byte [rbp + 0x448]
test al, al
jne 0x14004eab9
cmp byte [rbp + 0x450], sil
jne 0x14004ec10
test r12b, r12b
jne 0x14004ec10
mov word [rbx], 0x3e
test al, al
jne 0x14004ebc6
mov rcx, qword [rdi + 0x6b8]
movzx eax, byte [0x14012ce0c]
test rcx, rcx
je 0x14004eb53
test al, al
je 0x14004eb53
mov rax, qword [0x1401241d8]
lea rbx, [0x140100be0]
test r15, r15
cmovne rbx, r15
cmp dword [rax + 0x60], esi
jne 0x14004eb2e
cmp dword [rdi + 0x718], esi
jne 0x14004eb2e
cmp byte [0x140126ada], sil
jne 0x14004eb2e
mov qword [rsp + 0x28], rsi
lea rdx, [0x140109f90]
mov qword [rsp + 0x20], rcx
mov r9, rbx
mov rcx, rdi
xor r8d, r8d
call fcn.140010330
mov esi, eax
jmp 0x14004ec59
mov r9, rcx
mov qword [rsp + 0x28], rsi
mov rcx, rdi
mov dword [rsp + 0x20], esi
mov r8, rbx
lea rdx, [0x140109f90]
call fcn.14000ef80
mov esi, eax
jmp 0x14004ec59
test r15, r15
lea rbx, [0x140100be0]
cmovne rbx, r15
cmp byte [0x14012ce0f], sil
je 0x14004eba7
test al, al
jne 0x14004eba7
test rcx, rcx
je 0x14004eb7d
movzx r9d, word [rcx + 2]
mov eax, dword [rcx + 4]
jmp 0x14004eb8a
mov r9d, dword [rdi + 0x2d8]
mov eax, dword [rdi + 0x2dc]
mov r8, rbx
mov dword [rsp + 0x20], eax
lea rdx, [0x140109f90]
mov rcx, rdi
call fcn.14000f320
mov eax, esi
jmp 0x14004ec59
mov qword [rsp + 0x28], rsi
lea rdx, [0x140109f90]
mov r9, rbx
mov qword [rsp + 0x20], rsi
xor r8d, r8d
mov rcx, rdi
call fcn.140010330
mov eax, esi
jmp 0x14004ec59
mov r8, r14
lea rdx, [rbp + 0x448]
mov rcx, rdi
call fcn.140062910
test eax, eax
jne 0x14004ebe7
xor eax, eax
jmp 0x14004ec59
mov rbx, qword [rbp + 0x448]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14004ec17
test al, 0x10
je 0x14004ec17
mov rcx, rbx
call fcn.140067870
mov rcx, rbx
call fcn.1400c5338
mov eax, 3
jmp 0x14004ec59
call fcn.140067930
movzx r9d, r12b
movzx r8d, r13b
mov rdx, rbx
mov rcx, rdi
mov rsi, rax
call fcn.140048920
neg eax
sbb edi, edi
and edi, 3
test rsi, rsi
je 0x14004ec4f
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov rcx, rsi
call fcn.1400c5338
mov rcx, rbx
call fcn.1400c5338
mov eax, edi
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.140010e00
int3