Function at 0x14002e5e0
Capabilities:
Check if file exists
Get file attributes
Get keyboard layout
Set current directory

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xb0
movzx r8d, word [0x1401255b4]
xor r13d, r13d
mov r15d, SafeArrayAllocDescriptor
mov rbp, rdx
mov r14, rcx
mov dword [rax + 0x10], 0x90020
mov word [rax + 0x14], r8w
lea esi, [r15 - 0x17]
mov word [rax + 0x16], r13w
mov rdi, rdx
test rdx, rdx
je 0x14002e673
movzx edx, word [rdx]
test dx, dx
je 0x14002e673
nop word [rax + rax]
lea rcx, [rsp + 0xf8]
mov eax, r15d
nop dword [rax + rax]
cmp dx, ax
je 0x14002e703
movzx eax, word [rcx + 2]
add rcx, 2
test ax, ax
jne 0x14002e650
movzx edx, word [rdi + 2]
add rdi, 2
test dx, dx
jne 0x14002e640
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, rbp
repne scasw ax, word [rdi]
not rcx
lea rdi, [rbp + rcx*2 - 2]
mov rbx, r13
sub rdi, rbp
lea rdx, str.Include
or r9, 0xffffffffffffffff
sar rdi, 1
mov rcx, rbp
xor r12b, r12b
mov r8, rdi
call fcn.1400b9270
test eax, eax
je 0x14002f67e
lea rdx, str.IncludeAgain
or r9, 0xffffffffffffffff
mov r8, rdi
mov rcx, rbp
call fcn.1400b9270
test eax, eax
sete r12b
test r12b, r12b
jne 0x14002f67e
lea rdx, str.NoEnv
or r9, 0xffffffffffffffff
mov r8, rdi
mov rcx, rbp
call fcn.1400b9270
test eax, eax
jne 0x14002e750
mov edx, 1
mov dword [0x14012ac48], edx
lea eax, [rdx + 2]
jmp 0x14002f813
mov rbx, rdi
movzx eax, word [rbx]
cmp ax, r15w
je 0x14002e714
cmp ax, si
jne 0x14002e71a
add rbx, 2
jmp 0x14002e706
movzx eax, word [rbx]
test ax, ax
je 0x14002e687
cmp ax, r8w
jne 0x14002e68a
movzx eax, word [rbx + 2]
add rbx, 2
cmp ax, r15w
je 0x14002e730
cmp ax, si
je 0x14002e730
cmp ax, r13w
cmove rbx, r13
jmp 0x14002e68a
lea rdx, str.NoTrayIcon
or r9, 0xffffffffffffffff
mov r8, rdi
mov rcx, rbp
call fcn.1400b9270
test eax, eax
jne 0x14002e77b
mov byte [0x14012ac1a], 1
mov eax, 3
jmp 0x14002f813
lea rdx, str.Persistent
or r9, 0xffffffffffffffff
mov r8, rdi
mov rcx, rbp
call fcn.1400b9270
test eax, eax
jne 0x14002e7a6
mov byte [0x14012ac19], 1
mov eax, 3
jmp 0x14002f813
lea rdx, str.SingleInstance
or r9, 0xffffffffffffffff
mov r8, rdi
mov rcx, rbp
call fcn.1400b9270
test eax, eax
jne 0x14002e850
mov edx, 1
mov dword [0x14012ac34], edx
test rbx, rbx
je 0x14002e846
lea rdx, str.Force
mov rcx, rbx
call fcn.1400d68fc
test eax, eax
jne 0x14002e7fa
mov esi, 2
mov dword [0x14012ac34], esi
lea eax, [rsi + 1]
jmp 0x14002f813
lea rdx, str.Ignore
mov rcx, rbx
call fcn.1400d68fc
test eax, eax
jne 0x14002e821
mov dword [0x14012ac34], 3
mov eax, 3
jmp 0x14002f813
lea rdx, [0x1400f5670]
mov rcx, rbx
call fcn.1400d68fc
mov ecx, dword [0x14012ac34]
mov edx, 4
test eax, eax
cmove ecx, edx
mov dword [0x14012ac34], ecx
mov eax, 3
jmp 0x14002f813
lea rdx, str.InstallKeybdHook
or r9, 0xffffffffffffffff
mov r8, rdi
mov rcx, rbp
call fcn.1400b9270
test eax, eax
jne 0x14002e87b
or byte [0x14012b63b], 1
mov eax, 3
jmp 0x14002f813
lea rdx, str.InstallMouseHook
or r9, 0xffffffffffffffff
mov r8, rdi
mov rcx, rbp
call fcn.1400b9270
test eax, eax
jne 0x14002e8a6
or byte [0x14012b63b], 2
mov eax, 3
jmp 0x14002f813
lea rdx, str.UseHook
or r9, 0xffffffffffffffff
mov r8, rdi
mov rcx, rbp
call fcn.1400b9270
test eax, eax
jne 0x14002e8ec
test rbx, rbx
je 0x14002e8db
xor edx, edx
mov rcx, rbx
call fcn.140014c10
mov byte [0x14012b61f], r13b
cmp eax, 2
je 0x14002e8e2
mov byte [0x14012b61f], 1
mov eax, 3
jmp 0x14002f813
lea rdx, [0x1400f3828]
or r9, 0xffffffffffffffff
mov r8, rdi
mov rcx, rbp
call fcn.1400b9270
test eax, eax
jne 0x14002e9d5
test rbx, rbx
jne 0x14002e920
mov qword [0x14012ac60], r13
mov eax, 3
jmp 0x14002f813
mov rcx, rbx
call fcn.1400152e0
mov qword [0x14012ac60], rax
test rax, rax
jne 0x14002f7e8
mov rax, qword [0x1401255c8]
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r13
mov rsi, qword [rax + 0xd8]
mov qword [rax + 0xd8], r13
lea rdi, [0x1400f1524]
xor r9d, r9d
mov r8b, 0xe3
mov rdx, rbx
mov rcx, r14
mov qword [rsp + 0x28], r13
mov byte [r14 + 0x7d], 1
mov qword [rsp + 0x20], rdi
call fcn.14002ffe0
test eax, eax
je 0x14002f7ba
mov rax, qword [0x1401255c8]
mov byte [r14 + 0x7d], r13b
mov qword [rax + 0xd8], rsi
mov rbx, qword [r14 + 8]
call fcn.140015230
mov r11, rax
mov qword [0x14012ac60], rax
test rax, rax
je 0x14002f7ba
mov byte [rax], 5
mov qword [rax + 0x18], rbx
mov rax, qword [rbx + 8]
mov rcx, qword [rax + 8]
mov qword [r11 + 0x10], rdi
mov eax, 3
mov qword [r11 + 8], rcx
jmp 0x14002f813
lea rdx, str.IfTimeout
or r9, 0xffffffffffffffff
mov r8, rdi
mov rcx, rbp
call fcn.1400b9270
test eax, eax
jne 0x14002ea0c
test rbx, rbx
je 0x14002ea02
mov rcx, rbx
call fcn.140005810
mov dword [0x1401255b0], eax
mov eax, 3
jmp 0x14002f813
mov r12d, 6
lea rdx, str.IfWin
mov rcx, rbp
mov r8d, r12d
call fcn.1400d70d0
test eax, eax
jne 0x14002ebc6
lea rcx, [rbp + 0xc]
lea r8d, [r12 - 3]
lea rdx, [0x1400f5820]
call fcn.1400d70d0
lea rdx, str.Active
mov r8d, r12d
test eax, eax
mov eax, r12d
sete dil
test dil, dil
cmovne rax, rsi
lea rsi, [rbp + rax*2]
mov rcx, rsi
call fcn.1400d70d0
test eax, eax
jne 0x14002ea78
test dil, dil
setne r12b
inc r12b
jmp 0x14002eaa0
lea rdx, str.Exist
mov r8d, 5
mov rcx, rsi
call fcn.1400d70d0
test eax, eax
jne 0x14002ebbc
test dil, dil
setne r12b
add r12b, 3
test rbx, rbx
je 0x14002e90f
movzx edx, word [0x1401255b4]
movzx r8d, word [0x1401255bc]
movzx edi, word [0x1401255b8]
mov r9, r13
mov rcx, rbx
movzx eax, word [rcx]
test ax, ax
je 0x14002eaed
nop dword [rax]
cmp ax, r8w
je 0x14002eb16
cmp ax, dx
je 0x14002eb16
cmp ax, di
je 0x14002eb16
movzx eax, word [rcx + 2]
add rcx, 2
test ax, ax
jne 0x14002ead0
lea rdi, [0x1400f1524]
test r9, r9
je 0x14002eb81
lea rsi, [r9 + 2]
movzx eax, word [rsi]
cmp ax, r15w
je 0x14002eb10
cmp ax, 9
jne 0x14002eb60
add rsi, 2
jmp 0x14002eb01
movzx eax, word [rcx]
test ax, ax
je 0x14002eaed
cmp ax, di
je 0x14002eb49
cmp ax, dx
jne 0x14002eb36
test r9, r9
jne 0x14002eb49
mov r9, rcx
add rcx, 2
jmp 0x14002eac5
add rcx, 2
cmp word [rcx], r13w
je 0x14002eaed
add rcx, 2
jmp 0x14002eac5
lea rdx, str.Literal_commas_and_percent_signs_must_be_escaped__e.g.____
mov r8, rbp
mov rcx, r14
call fcn.14004e450
jmp 0x14002f813
mov word [r9], r13w
sub r9, rbx
mov rcx, rbx
sar r9, 1
mov rdx, r9
call fcn.140024150
mov dl, 1
mov rcx, rsi
call fcn.1400bba40
jmp 0x14002eb84
mov rsi, rdi
mov dl, 1
mov rcx, rbx
call fcn.1400bba40
mov r8, rsi
mov rdx, rbx
movzx ecx, r12b
call fcn.140015060
test eax, eax
jne 0x14002f7e8
lea rdx, str.Out_of_memory.
mov r8, rdi
mov rcx, r14
call fcn.14004e450
jmp 0x14002f813
mov eax, 4
jmp 0x14002f813
lea rdx, [0x1400f9278]
or r9, 0xffffffffffffffff
mov r8, rdi
mov rcx, rbp
call fcn.1400b9270
test eax, eax
jne 0x14002ed0c
test rbx, rbx
je 0x14002ed02
lea rdx, str.EndChars
mov rcx, rbx
call fcn.1400b95d0
test rax, rax
je 0x14002ec4f
lea rdx, [0x1400f9290]
mov rcx, rax
call fcn.140007330
test rax, rax
je 0x14002f7e8
lea rdx, [rax + 2]
lea rcx, str._____:____.___n__t
mov r8d, WSAAsyncSelect
call fcn.1400da434
lea rcx, str._____:____.___n__t
xor edx, edx
mov word [0x140125698], r13w
call fcn.1400bba40
mov eax, 3
jmp 0x14002f813
lea rdx, str.NoMouse
mov r8d, 7
mov rcx, rbx
call fcn.1400d70d0
test eax, eax
jne 0x14002ec79
mov byte [0x1401255b7], r13b
mov eax, 3
jmp 0x14002f813
lea rax, [0x14012b61d]
lea r9, [0x1401255c0]
lea r8, [0x14012b614]
mov qword [rsp + 0x60], rax
lea rax, [0x14012b61c]
lea rdx, [0x14012b610]
mov qword [rsp + 0x58], rax
lea rax, [0x14012b61b]
mov rcx, rbx
mov qword [rsp + 0x50], rax
lea rax, [0x1401255b6]
mov qword [rsp + 0x48], rax
lea rax, [0x14012b618]
mov qword [rsp + 0x40], rax
lea rax, [0x14012b61a]
mov qword [rsp + 0x38], rax
lea rax, [0x14012558b]
mov qword [rsp + 0x30], rax
lea rax, [0x14012558a]
mov qword [rsp + 0x28], rax
lea rax, [0x14012b619]
mov qword [rsp + 0x20], rax
call fcn.14001b100
mov eax, 3
jmp 0x14002f813
lea rdx, str.HotkeyModifierTimeout
or r9, 0xffffffffffffffff
mov r8, rdi
mov rcx, rbp
call fcn.1400b9270
test eax, eax
jne 0x14002ed43
test rbx, rbx
je 0x14002ed39
mov rcx, rbx
call fcn.14001ce30
mov dword [0x14012558c], eax
mov eax, 3
jmp 0x14002f813
lea rdx, str.HotkeyInterval
or r9, 0xffffffffffffffff
mov r8, rdi
mov rcx, rbp
call fcn.1400b9270
test eax, eax
jne 0x14002ed87
test rbx, rbx
je 0x14002ed7d
mov rcx, rbx
call fcn.14001ce30
mov r8d, 0xa
cmp eax, r8d
cmovl eax, r8d
mov dword [0x1401255ac], eax
mov eax, 3
jmp 0x14002f813
lea rdx, str.MaxHotkeysPerInterval
or r9, 0xffffffffffffffff
mov r8, rdi
mov rcx, rbp
call fcn.1400b9270
test eax, eax
jne 0x14002edc8
test rbx, rbx
je 0x14002edbe
mov rcx, rbx
call fcn.14001ce30
mov edx, 1
cmp eax, edx
cmovl eax, edx
mov dword [0x1401255a8], eax
mov eax, 3
jmp 0x14002f813
lea rdx, str.MaxThreadsPerHotkey
or r9, 0xffffffffffffffff
mov r8, rdi
mov rcx, rbp
call fcn.1400b9270
test eax, eax
jne 0x14002ee14
test rbx, rbx
je 0x14002ee0a
mov rcx, rbx
call fcn.14001ce30
mov ecx, 0xff
cmp eax, ecx
jg 0x14002ee04
mov edx, 1
mov ecx, eax
cmp eax, edx
cmovl ecx, edx
mov byte [0x140124b23], cl
mov eax, 3
jmp 0x14002f813
lea rdx, str.MaxThreadsBuffer
or r9, 0xffffffffffffffff
mov r8, rdi
mov rcx, rbp
call fcn.1400b9270
test eax, eax
jne 0x14002ee5a
test rbx, rbx
je 0x14002ee49
xor edx, edx
mov rcx, rbx
call fcn.140014c10
mov byte [0x14012ac3e], r13b
cmp eax, 2
je 0x14002ee50
mov byte [0x14012ac3e], 1
mov eax, 3
jmp 0x14002f813
lea rdx, str.MaxThreads
or r9, 0xffffffffffffffff
mov r8, rdi
mov rcx, rbp
call fcn.1400b9270
test eax, eax
jne 0x14002eea6
test rbx, rbx
je 0x14002ee9c
mov rcx, rbx
call fcn.14001ce30
mov ecx, 0xff
cmp eax, ecx
jg 0x14002ee96
mov edx, 1
mov ecx, eax
cmp eax, edx
cmovl ecx, edx
mov dword [reloc.WSOCK32.dll_inet_addr], ecx
mov eax, 3
jmp 0x14002f813
lea rdx, str.ClipboardTimeout
or r9, 0xffffffffffffffff
mov r8, rdi
mov rcx, rbp
call fcn.1400b9270
test eax, eax
jne 0x14002eedd
test rbx, rbx
je 0x14002eed3
mov rcx, rbx
call fcn.14001ce30
mov dword [0x140125590], eax
mov eax, 3
jmp 0x14002f813
lea rdx, str.LTrim
or r9, 0xffffffffffffffff
mov r8, rdi
mov rcx, rbp
call fcn.1400b9270
test eax, eax
jne 0x14002ef23
test rbx, rbx
je 0x14002ef12
xor edx, edx
mov rcx, rbx
call fcn.140014c10
mov byte [0x14012b61e], r13b
cmp eax, 2
je 0x14002ef19
mov byte [0x14012b61e], 1
mov eax, 3
jmp 0x14002f813
lea rdx, str.WinActivateForce
or r9, 0xffffffffffffffff
mov r8, rdi
mov rcx, rbp
call fcn.1400b9270
test eax, eax
jne 0x14002ef4e
mov byte [0x14012ac18], 1
mov eax, 3
jmp 0x14002f813
lea rdx, str.ErrorStdOut
or r9, 0xffffffffffffffff
mov r8, rdi
mov rcx, rbp
call fcn.1400b9270
test eax, eax
jne 0x14002ef89
mov rcx, rbx
mov byte [r14 + 0xbb7], 1
call fcn.140028020
mov dword [r14 + 0xbb8], eax
mov eax, 3
jmp 0x14002f813
lea rdx, str.MaxMem
or r9, 0xffffffffffffffff
mov r8, rdi
mov rcx, rbp
call fcn.1400b9270
test eax, eax
jne 0x14002f028
test rbx, rbx
je 0x14002f01e
mov rcx, rbx
call fcn.140024250
movapd xmm5, xmm0
movsd xmm0, qword [0x140112818]
comisd xmm5, xmm0
ja 0x14002efd4
movsd xmm0, qword [0x140112010]
comisd xmm0, xmm5
jbe 0x14002efd8
movapd xmm5, xmm0
mulsd xmm5, qword [0x140111ff0]
movsd xmm0, qword [0x140112048]
xor ecx, ecx
mulsd xmm5, qword [0x140111ff0]
comisd xmm5, xmm0
jbe 0x14002f00f
subsd xmm5, xmm0
comisd xmm5, xmm0
jae 0x14002f00f
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rax, xmm5
add rax, rcx
mov qword [0x1401255a0], rax
mov eax, 3
jmp 0x14002f813
lea rdx, str.KeyHistory
or r9, 0xffffffffffffffff
mov r8, rdi
mov rcx, rbp
call fcn.1400b9270
test eax, eax
jne 0x14002f07e
test rbx, rbx
je 0x14002f074
mov rcx, rbx
call fcn.14001ce30
test eax, eax
jns 0x14002f064
mov dword [0x140125598], r13d
mov eax, 3
jmp 0x14002f813
mov ecx, 0x1f4
cmp eax, ecx
cmovg eax, ecx
mov dword [0x140125598], eax
mov eax, 3
jmp 0x14002f813
lea rdx, str.CommentFlag
or r9, 0xffffffffffffffff
mov r8, rdi
mov rcx, rbp
call fcn.1400b9270
test eax, eax
jne 0x14002f178
test rbx, rbx
je 0x14002f16e
cmp word [rbx + 2], r13w
jne 0x14002f134
movzx eax, word [rbx]
cmp ax, 0x23
je 0x14002f45f
cmp ax, word [0x1401255b8]
je 0x14002f45f
cmp ax, word [0x1401255bc]
je 0x14002f45f
cmp ax, word [0x1401255b4]
je 0x14002f45f
cmp ax, 0x21
je 0x14002f45f
cmp ax, 0x5e
je 0x14002f45f
cmp ax, 0x2b
je 0x14002f45f
cmp ax, 0x24
je 0x14002f45f
cmp ax, 0x7e
je 0x14002f45f
cmp ax, 0x2a
je 0x14002f45f
cmp ax, 0x3c
je 0x14002f45f
cmp ax, 0x3e
je 0x14002f45f
lea rcx, [0x140124b28]
mov r8d, reloc.WSOCK32.dll_ntohs
mov rdx, rbx
call fcn.1400da434
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [0x140124b28]
mov word [0x140124b46], r13w
repne scasw ax, word [rdi]
not rcx
dec rcx
mov qword [0x140124b48], rcx
mov eax, 3
jmp 0x14002f813
lea rdx, str.EscapeChar
or r9, 0xffffffffffffffff
mov r8, rdi
mov rcx, rbp
call fcn.1400b9270
test eax, eax
jne 0x14002f1f4
test rbx, rbx
je 0x14002f7e8
movzx eax, word [rbx]
cmp ax, 0x23
je 0x14002f45f
cmp ax, word [0x1401255b8]
je 0x14002f45f
cmp ax, word [0x1401255b4]
je 0x14002f45f
cmp ax, 0x2e
je 0x14002f45f
cmp qword [0x140124b48], 1
jne 0x14002f1e3
cmp ax, word [0x140124b28]
je 0x14002f45f
mov word [0x1401255bc], ax
mov eax, 3
jmp 0x14002f813
lea rdx, str.DerefChar
or r9, 0xffffffffffffffff
mov r8, rdi
mov rcx, rbp
call fcn.1400b9270
test eax, eax
jne 0x14002f266
test rbx, rbx
je 0x14002f7e8
movzx eax, word [rbx]
cmp ax, word [0x1401255bc]
je 0x14002f45f
cmp ax, word [0x1401255b4]
je 0x14002f45f
cmp ax, 0x2e
je 0x14002f45f
cmp qword [0x140124b48], 1
jne 0x14002f255
cmp ax, word [0x140124b28]
je 0x14002f45f
mov word [0x1401255b8], ax
mov eax, 3
jmp 0x14002f813
lea rdx, [0x1400f9470]
or r9, 0xffffffffffffffff
mov r8, rdi
mov rcx, rbp
call fcn.1400b9270
test eax, eax
jne 0x14002f2e2
test rbx, rbx
je 0x14002f7e8
movzx eax, word [rbx]
cmp ax, 0x23
je 0x14002f45f
cmp ax, word [0x1401255bc]
je 0x14002f45f
cmp ax, word [0x1401255b8]
je 0x14002f45f
cmp ax, 0x2e
je 0x14002f45f
cmp qword [0x140124b48], 1
jne 0x14002f2d1
cmp ax, word [0x140124b28]
je 0x14002f45f
mov word [0x1401255b4], ax
mov eax, 3
jmp 0x14002f813
lea rdx, str.MenuMaskKey
or r9, 0xffffffffffffffff
mov r8, rdi
mov rcx, rbp
call fcn.1400b9270
test eax, eax
jne 0x14002f357
test rbx, rbx
je 0x14002f32f
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetKeyboardLayout]
lea r8, [0x140125588]
lea rdx, [0x140124b21]
xor r9d, r9d
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.1400230c0
test al, al
jne 0x14002f7e8
lea rdx, str.Parameter_1_invalid.
test rbx, rbx
lea rax, str.Parameter_1_required
cmovne rax, rdx
mov r8, rbp
mov rcx, r14
mov rdx, rax
call fcn.14004e450
jmp 0x14002f813
lea rdx, str.InputLevel
or r9, 0xffffffffffffffff
mov r8, rdi
mov rcx, rbp
call fcn.1400b9270
test eax, eax
jne 0x14002f3a3
test rbx, rbx
je 0x14002f392
mov rcx, rbx
call fcn.14001ce30
mov r13d, eax
test eax, eax
js 0x14002f45f
cmp eax, 0x64
jg 0x14002f45f
mov byte [0x14012ac3f], r13b
mov eax, 3
jmp 0x14002f813
lea rdx, str.Warn
or r9, 0xffffffffffffffff
mov r8, rdi
mov rcx, rbp
call fcn.1400b9270
test eax, eax
jne 0x14002f538
movzx edx, word [0x1401255b4]
lea rdi, [0x1400f1524]
test rbx, rbx
mov rsi, rdi
cmovne rsi, rbx
mov rcx, rsi
call fcn.1400d7be4
test rax, rax
je 0x14002f42d
lea rdi, [rax + 2]
nop word [rax + rax]
movzx ecx, word [rdi]
cmp cx, r15w
je 0x14002f3ff
cmp cx, 9
jne 0x14002f405
add rdi, 2
jmp 0x14002f3f0
add rax, 0xfffffffffffffffe
cmp rax, rsi
jbe 0x14002f428
nop
movzx ecx, word [rax]
cmp cx, r15w
je 0x14002f41f
cmp cx, 9
jne 0x14002f428
sub rax, 2
cmp rax, rsi
ja 0x14002f410
mov word [rax + 2], r13w
cmp word [rsi], r13w
je 0x14002f476
mov r12d, r13d
lea rbx, str.UseUnsetLocal
lea r15, [0x1400f9508]
mov rdx, qword [rbx]
mov rcx, rsi
call fcn.1400d68fc
test eax, eax
je 0x14002f476
add rbx, 8
inc r12d
cmp rbx, r15
jne 0x14002f444
lea rdx, str.Parameter_1_invalid.
mov r8, rbp
mov rcx, r14
call fcn.14004e450
jmp 0x14002f813
mov esi, 2
cmp word [rdi], r13w
je 0x14002f4c3
mov esi, r13d
lea rbx, [0x1400f9508]
lea rbp, str.Requires
mov rdx, qword [rbx]
mov rcx, rdi
call fcn.1400d68fc
test eax, eax
je 0x14002f4c3
add rbx, 8
inc esi
cmp rbx, rbp
jne 0x14002f492
lea rdx, str.Parameter_2_invalid.
mov r8, rdi
mov rcx, r14
call fcn.14004e450
jmp 0x14002f813
test r12d, r12d
je 0x14002f4ce
cmp r12d, 6
jne 0x14002f4d4
mov dword [0x14012ac1c], esi
cmp r12d, 1
je 0x14002f4e0
cmp r12d, 6
jne 0x14002f4e6
mov dword [0x14012ac20], esi
cmp r12d, 3
je 0x14002f4f2
cmp r12d, 6
jne 0x14002f4f8
mov dword [0x14012ac24], esi
cmp r12d, 2
je 0x14002f504
cmp r12d, 6
jne 0x14002f50a
mov dword [0x14012ac28], esi
cmp r12d, 4
je 0x14002f516
cmp r12d, 6
jne 0x14002f51c
mov dword [0x14012ac2c], esi
cmp r12d, 5
je 0x14002f528
cmp r12d, 6
jne 0x14002f52e
mov dword [0x14012ac30], esi
mov eax, 3
jmp 0x14002f813
lea rdx, str.Requires
or r9, 0xffffffffffffffff
mov r8, rdi
mov rcx, rbp
call fcn.1400b9270
test eax, eax
jne 0x14002ebbc
test rbx, rbx
jne 0x14002f576
lea r8, [0x1400f1524]
lea rdx, str.Parameter_1_required
mov rcx, r14
call fcn.14004e450
jmp 0x14002f813
lea rdx, [0x1400f16f0]
mov r8d, 0xa
mov rcx, rbx
call fcn.1400d70d0
test eax, eax
jne 0x14002f66e
movzx eax, word [rbx + 0x14]
test ax, ax
je 0x14002f7e8
cmp ax, r15w
je 0x14002f5af
cmp ax, si
jne 0x14002f66e
lea rsi, [rbx + 0x16]
mov rdx, rsi
movzx eax, word [rdx]
cmp ax, r15w
je 0x14002f5c5
cmp ax, 9
jne 0x14002f5cb
add rdx, 2
jmp 0x14002f5b6
movzx eax, word [rdx]
test ax, ax
je 0x14002f7e8
mov rsi, rdx
nop word [rax + rax]
cmp ax, r15w
je 0x14002f5f9
cmp ax, 9
je 0x14002f5f9
movzx eax, word [rsi + 2]
add rsi, 2
test ax, ax
jne 0x14002f5e0
mov rdi, rsi
lea rcx, [rsp + 0x70]
sub rdi, rdx
sar rdi, 1
inc rdi
cmp rdi, r15
cmova rdi, r15
lea r8, [rdi - 1]
call fcn.1400da434
lea rdx, str.Unicode
lea rcx, [rsp + 0x70]
mov word [rsp + rdi*2 + 0x6e], r13w
call fcn.1400d68fc
test eax, eax
je 0x14002f5b3
lea rdx, str.64_bit
lea rcx, [rsp + 0x70]
call fcn.1400d68fc
test eax, eax
je 0x14002f5b3
lea rdx, [rsp + 0x70]
lea rcx, str.1.1.37.00
xor r8d, r8d
call fcn.1400bc210
test eax, eax
jne 0x14002f5b3
mov rdx, rbx
mov rcx, r14
call fcn.14002f830
jmp 0x14002f813
test rbx, rbx
jne 0x14002f69a
lea rdx, str.Parameter_1_required
mov r8, rbp
mov rcx, r14
call fcn.14004e450
jmp 0x14002f813
cmp word [rbx], 0x2a
jne 0x14002f6e0
movzx edi, word [rbx + 2]
test edi, 0xffffff80
jne 0x14002f6c1
mov esi, 2
mov ecx, edi
mov edx, esi
call fcn.1400d7874
test eax, eax
je 0x14002f6c1
and edi, 0xffffffdf
cmp di, 0x49
jne 0x14002f6e0
movzx eax, word [rbx + 4]
cmp ax, r15w
je 0x14002f6d7
cmp ax, 9
jne 0x14002f6e0
mov sil, 1
add rbx, 6
jmp 0x14002f6e3
xor sil, sil
cmp word [rbx], 0x3c
jne 0x14002f7a6
mov r15d, 0x3e
mov rcx, rbx
mov edx, r15d
call fcn.1400d7be4
mov rdi, rax
test rax, rax
je 0x14002f7a6
cmp word [rax + 2], r13w
jne 0x14002f7a6
add rbx, 2
mov word [rax], r13w
call fcn.140070f00
mov r12, rax
lea rax, [rsp + 0x100]
mov r8, rdi
sub r8, rbx
lea r9, [rsp + 0xf8]
mov rdx, rbx
mov rcx, r14
sar r8, 1
mov byte [rsp + 0x28], r13b
mov qword [rsp + 0x20], rax
call fcn.140039c10
test r12, r12
je 0x14002f769
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov rcx, r12
call fcn.1400d6e48
movzx eax, byte [rsp + 0xf8]
test al, al
jne 0x14002f784
cmp byte [rsp + 0x100], r13b
jne 0x14002f7e8
test sil, sil
jne 0x14002f7e8
mov word [rdi], r15w
test al, al
jne 0x14002f7a1
lea rdx, str.Function_library_not_found.
mov r8, rbp
mov rcx, r14
call fcn.14004e450
mov r13d, eax
mov eax, r13d
jmp 0x14002f813
lea rcx, [rsp + 0xf8]
mov rdx, rbx
call fcn.14004bf50
test eax, eax
jne 0x14002f7be
xor eax, eax
jmp 0x14002f813
mov rbx, qword [rsp + 0xf8]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14002f7ef
test al, 0x10
je 0x14002f7ef
mov rcx, rbx
call fcn.140070b50
mov rcx, rbx
call fcn.1400d6e48
mov eax, 3
jmp 0x14002f813
movzx r9d, sil
movzx r8d, r12b
mov rdx, rbx
mov rcx, r14
call fcn.14002b150
mov rcx, rbx
neg eax
sbb edi, edi
and edi, 3
call fcn.1400d6e48
mov eax, edi
mov rbx, qword [rsp + 0xf0]
add rsp, 0xb0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret