Function at 0x14002e7a0
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 0x14002e833
movzx edx, word [rdx]
test dx, dx
je 0x14002e833
nop word [rax + rax]
lea rcx, [rsp + 0xf8]
mov eax, r15d
nop dword [rax + rax]
cmp dx, ax
je 0x14002e8c3
movzx eax, word [rcx + 2]
add rcx, 2
test ax, ax
jne 0x14002e810
movzx edx, word [rdi + 2]
add rdi, 2
test dx, dx
jne 0x14002e800
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.1400b8940
test eax, eax
je 0x14002f83e
lea rdx, str.IncludeAgain
or r9, 0xffffffffffffffff
mov r8, rdi
mov rcx, rbp
call fcn.1400b8940
test eax, eax
sete r12b
test r12b, r12b
jne 0x14002f83e
lea rdx, str.NoEnv
or r9, 0xffffffffffffffff
mov r8, rdi
mov rcx, rbp
call fcn.1400b8940
test eax, eax
jne 0x14002e910
mov edx, 1
mov dword [0x14012abc8], edx
lea eax, [rdx + 2]
jmp 0x14002f9d3
mov rbx, rdi
movzx eax, word [rbx]
cmp ax, r15w
je 0x14002e8d4
cmp ax, si
jne 0x14002e8da
add rbx, 2
jmp 0x14002e8c6
movzx eax, word [rbx]
test ax, ax
je 0x14002e847
cmp ax, r8w
jne 0x14002e84a
movzx eax, word [rbx + 2]
add rbx, 2
cmp ax, r15w
je 0x14002e8f0
cmp ax, si
je 0x14002e8f0
cmp ax, r13w
cmove rbx, r13
jmp 0x14002e84a
lea rdx, str.NoTrayIcon
or r9, 0xffffffffffffffff
mov r8, rdi
mov rcx, rbp
call fcn.1400b8940
test eax, eax
jne 0x14002e93b
mov byte [0x14012ab9a], 1
mov eax, 3
jmp 0x14002f9d3
lea rdx, str.Persistent
or r9, 0xffffffffffffffff
mov r8, rdi
mov rcx, rbp
call fcn.1400b8940
test eax, eax
jne 0x14002e966
mov byte [0x14012ab99], 1
mov eax, 3
jmp 0x14002f9d3
lea rdx, str.SingleInstance
or r9, 0xffffffffffffffff
mov r8, rdi
mov rcx, rbp
call fcn.1400b8940
test eax, eax
jne 0x14002ea10
mov edx, 1
mov dword [0x14012abb4], edx
test rbx, rbx
je 0x14002ea06
lea rdx, str.Force
mov rcx, rbx
call fcn.1400d5fdc
test eax, eax
jne 0x14002e9ba
mov esi, 2
mov dword [0x14012abb4], esi
lea eax, [rsi + 1]
jmp 0x14002f9d3
lea rdx, str.Ignore
mov rcx, rbx
call fcn.1400d5fdc
test eax, eax
jne 0x14002e9e1
mov dword [0x14012abb4], 3
mov eax, 3
jmp 0x14002f9d3
lea rdx, [0x1400f56a0]
mov rcx, rbx
call fcn.1400d5fdc
mov ecx, dword [0x14012abb4]
mov edx, 4
test eax, eax
cmove ecx, edx
mov dword [0x14012abb4], ecx
mov eax, 3
jmp 0x14002f9d3
lea rdx, str.InstallKeybdHook
or r9, 0xffffffffffffffff
mov r8, rdi
mov rcx, rbp
call fcn.1400b8940
test eax, eax
jne 0x14002ea3b
or byte [0x14012b5bb], 1
mov eax, 3
jmp 0x14002f9d3
lea rdx, str.InstallMouseHook
or r9, 0xffffffffffffffff
mov r8, rdi
mov rcx, rbp
call fcn.1400b8940
test eax, eax
jne 0x14002ea66
or byte [0x14012b5bb], 2
mov eax, 3
jmp 0x14002f9d3
lea rdx, str.UseHook
or r9, 0xffffffffffffffff
mov r8, rdi
mov rcx, rbp
call fcn.1400b8940
test eax, eax
jne 0x14002eaac
test rbx, rbx
je 0x14002ea9b
xor edx, edx
mov rcx, rbx
call fcn.140014e50
mov byte [0x14012b59f], r13b
cmp eax, 2
je 0x14002eaa2
mov byte [0x14012b59f], 1
mov eax, 3
jmp 0x14002f9d3
lea rdx, [0x1400f3858]
or r9, 0xffffffffffffffff
mov r8, rdi
mov rcx, rbp
call fcn.1400b8940
test eax, eax
jne 0x14002eb95
test rbx, rbx
jne 0x14002eae0
mov qword [0x14012abe0], r13
mov eax, 3
jmp 0x14002f9d3
mov rcx, rbx
call fcn.140015520
mov qword [0x14012abe0], rax
test rax, rax
jne 0x14002f9a8
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, [0x1400f1604]
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.1400301a0
test eax, eax
je 0x14002f97a
mov rax, qword [0x1401255c8]
mov byte [r14 + 0x7d], r13b
mov qword [rax + 0xd8], rsi
mov rbx, qword [r14 + 8]
call fcn.140015470
mov r11, rax
mov qword [0x14012abe0], rax
test rax, rax
je 0x14002f97a
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 0x14002f9d3
lea rdx, str.IfTimeout
or r9, 0xffffffffffffffff
mov r8, rdi
mov rcx, rbp
call fcn.1400b8940
test eax, eax
jne 0x14002ebcc
test rbx, rbx
je 0x14002ebc2
mov rcx, rbx
call fcn.140005810
mov dword [0x1401255b0], eax
mov eax, 3
jmp 0x14002f9d3
mov r12d, 6
lea rdx, str.IfWin
mov rcx, rbp
mov r8d, r12d
call fcn.1400d67b0
test eax, eax
jne 0x14002ed86
lea rcx, [rbp + 0xc]
lea r8d, [r12 - 3]
lea rdx, [0x1400f5850]
call fcn.1400d67b0
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.1400d67b0
test eax, eax
jne 0x14002ec38
test dil, dil
setne r12b
inc r12b
jmp 0x14002ec60
lea rdx, str.Exist
mov r8d, 5
mov rcx, rsi
call fcn.1400d67b0
test eax, eax
jne 0x14002ed7c
test dil, dil
setne r12b
add r12b, 3
test rbx, rbx
je 0x14002eacf
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 0x14002ecad
nop dword [rax]
cmp ax, r8w
je 0x14002ecd6
cmp ax, dx
je 0x14002ecd6
cmp ax, di
je 0x14002ecd6
movzx eax, word [rcx + 2]
add rcx, 2
test ax, ax
jne 0x14002ec90
lea rdi, [0x1400f1604]
test r9, r9
je 0x14002ed41
lea rsi, [r9 + 2]
movzx eax, word [rsi]
cmp ax, r15w
je 0x14002ecd0
cmp ax, 9
jne 0x14002ed20
add rsi, 2
jmp 0x14002ecc1
movzx eax, word [rcx]
test ax, ax
je 0x14002ecad
cmp ax, di
je 0x14002ed09
cmp ax, dx
jne 0x14002ecf6
test r9, r9
jne 0x14002ed09
mov r9, rcx
add rcx, 2
jmp 0x14002ec85
add rcx, 2
cmp word [rcx], r13w
je 0x14002ecad
add rcx, 2
jmp 0x14002ec85
lea rdx, str.Literal_commas_and_percent_signs_must_be_escaped__e.g.____
mov r8, rbp
mov rcx, r14
call fcn.14004e5d0
jmp 0x14002f9d3
mov word [r9], r13w
sub r9, rbx
mov rcx, rbx
sar r9, 1
mov rdx, r9
call fcn.140024310
mov dl, 1
mov rcx, rsi
call fcn.1400bb110
jmp 0x14002ed44
mov rsi, rdi
mov dl, 1
mov rcx, rbx
call fcn.1400bb110
mov r8, rsi
mov rdx, rbx
movzx ecx, r12b
call fcn.1400152a0
test eax, eax
jne 0x14002f9a8
lea rdx, str.Out_of_memory.
mov r8, rdi
mov rcx, r14
call fcn.14004e5d0
jmp 0x14002f9d3
mov eax, 4
jmp 0x14002f9d3
lea rdx, [0x1400f9298]
or r9, 0xffffffffffffffff
mov r8, rdi
mov rcx, rbp
call fcn.1400b8940
test eax, eax
jne 0x14002eecc
test rbx, rbx
je 0x14002eec2
lea rdx, str.EndChars
mov rcx, rbx
call fcn.1400b8ca0
test rax, rax
je 0x14002ee0f
lea rdx, [0x1400f92b0]
mov rcx, rax
call fcn.140007500
test rax, rax
je 0x14002f9a8
lea rdx, [rax + 2]
lea rcx, str._____:____.___n__t
mov r8d, WSAAsyncSelect
call fcn.1400d9e34
lea rcx, str._____:____.___n__t
xor edx, edx
mov word [0x140125698], r13w
call fcn.1400bb110
mov eax, 3
jmp 0x14002f9d3
lea rdx, str.NoMouse
mov r8d, 7
mov rcx, rbx
call fcn.1400d67b0
test eax, eax
jne 0x14002ee39
mov byte [0x1401255b7], r13b
mov eax, 3
jmp 0x14002f9d3
lea rax, [0x14012b59d]
lea r9, [0x1401255c0]
lea r8, [0x14012b594]
mov qword [rsp + 0x60], rax
lea rax, [0x14012b59c]
lea rdx, [0x14012b590]
mov qword [rsp + 0x58], rax
lea rax, [0x14012b59b]
mov rcx, rbx
mov qword [rsp + 0x50], rax
lea rax, [0x1401255b6]
mov qword [rsp + 0x48], rax
lea rax, [0x14012b598]
mov qword [rsp + 0x40], rax
lea rax, [0x14012b59a]
mov qword [rsp + 0x38], rax
lea rax, [0x14012558b]
mov qword [rsp + 0x30], rax
lea rax, [0x14012558a]
mov qword [rsp + 0x28], rax
lea rax, [0x14012b599]
mov qword [rsp + 0x20], rax
call fcn.14001b240
mov eax, 3
jmp 0x14002f9d3
lea rdx, str.HotkeyModifierTimeout
or r9, 0xffffffffffffffff
mov r8, rdi
mov rcx, rbp
call fcn.1400b8940
test eax, eax
jne 0x14002ef03
test rbx, rbx
je 0x14002eef9
mov rcx, rbx
call fcn.14001cf70
mov dword [0x14012558c], eax
mov eax, 3
jmp 0x14002f9d3
lea rdx, str.HotkeyInterval
or r9, 0xffffffffffffffff
mov r8, rdi
mov rcx, rbp
call fcn.1400b8940
test eax, eax
jne 0x14002ef47
test rbx, rbx
je 0x14002ef3d
mov rcx, rbx
call fcn.14001cf70
mov r8d, 0xa
cmp eax, r8d
cmovl eax, r8d
mov dword [0x1401255ac], eax
mov eax, 3
jmp 0x14002f9d3
lea rdx, str.MaxHotkeysPerInterval
or r9, 0xffffffffffffffff
mov r8, rdi
mov rcx, rbp
call fcn.1400b8940
test eax, eax
jne 0x14002ef88
test rbx, rbx
je 0x14002ef7e
mov rcx, rbx
call fcn.14001cf70
mov edx, 1
cmp eax, edx
cmovl eax, edx
mov dword [0x1401255a8], eax
mov eax, 3
jmp 0x14002f9d3
lea rdx, str.MaxThreadsPerHotkey
or r9, 0xffffffffffffffff
mov r8, rdi
mov rcx, rbp
call fcn.1400b8940
test eax, eax
jne 0x14002efd4
test rbx, rbx
je 0x14002efca
mov rcx, rbx
call fcn.14001cf70
mov ecx, 0xff
cmp eax, ecx
jg 0x14002efc4
mov edx, 1
mov ecx, eax
cmp eax, edx
cmovl ecx, edx
mov byte [0x140124b23], cl
mov eax, 3
jmp 0x14002f9d3
lea rdx, str.MaxThreadsBuffer
or r9, 0xffffffffffffffff
mov r8, rdi
mov rcx, rbp
call fcn.1400b8940
test eax, eax
jne 0x14002f01a
test rbx, rbx
je 0x14002f009
xor edx, edx
mov rcx, rbx
call fcn.140014e50
mov byte [0x14012abbe], r13b
cmp eax, 2
je 0x14002f010
mov byte [0x14012abbe], 1
mov eax, 3
jmp 0x14002f9d3
lea rdx, str.MaxThreads
or r9, 0xffffffffffffffff
mov r8, rdi
mov rcx, rbp
call fcn.1400b8940
test eax, eax
jne 0x14002f066
test rbx, rbx
je 0x14002f05c
mov rcx, rbx
call fcn.14001cf70
mov ecx, 0xff
cmp eax, ecx
jg 0x14002f056
mov edx, 1
mov ecx, eax
cmp eax, edx
cmovl ecx, edx
mov dword [reloc.WSOCK32.dll_inet_addr], ecx
mov eax, 3
jmp 0x14002f9d3
lea rdx, str.ClipboardTimeout
or r9, 0xffffffffffffffff
mov r8, rdi
mov rcx, rbp
call fcn.1400b8940
test eax, eax
jne 0x14002f09d
test rbx, rbx
je 0x14002f093
mov rcx, rbx
call fcn.14001cf70
mov dword [0x140125590], eax
mov eax, 3
jmp 0x14002f9d3
lea rdx, str.LTrim
or r9, 0xffffffffffffffff
mov r8, rdi
mov rcx, rbp
call fcn.1400b8940
test eax, eax
jne 0x14002f0e3
test rbx, rbx
je 0x14002f0d2
xor edx, edx
mov rcx, rbx
call fcn.140014e50
mov byte [0x14012b59e], r13b
cmp eax, 2
je 0x14002f0d9
mov byte [0x14012b59e], 1
mov eax, 3
jmp 0x14002f9d3
lea rdx, str.WinActivateForce
or r9, 0xffffffffffffffff
mov r8, rdi
mov rcx, rbp
call fcn.1400b8940
test eax, eax
jne 0x14002f10e
mov byte [0x14012ab98], 1
mov eax, 3
jmp 0x14002f9d3
lea rdx, str.ErrorStdOut
or r9, 0xffffffffffffffff
mov r8, rdi
mov rcx, rbp
call fcn.1400b8940
test eax, eax
jne 0x14002f149
mov rcx, rbx
mov byte [r14 + 0xbb7], 1
call fcn.140028120
mov dword [r14 + 0xbb8], eax
mov eax, 3
jmp 0x14002f9d3
lea rdx, str.MaxMem
or r9, 0xffffffffffffffff
mov r8, rdi
mov rcx, rbp
call fcn.1400b8940
test eax, eax
jne 0x14002f1e8
test rbx, rbx
je 0x14002f1de
mov rcx, rbx
call fcn.140024390
movapd xmm5, xmm0
movsd xmm0, qword [0x140112798]
comisd xmm5, xmm0
ja 0x14002f194
movsd xmm0, qword [0x140111fc0]
comisd xmm0, xmm5
jbe 0x14002f198
movapd xmm5, xmm0
mulsd xmm5, qword [0x140111fa0]
movsd xmm0, qword [0x140111ff8]
xor ecx, ecx
mulsd xmm5, qword [0x140111fa0]
comisd xmm5, xmm0
jbe 0x14002f1cf
subsd xmm5, xmm0
comisd xmm5, xmm0
jae 0x14002f1cf
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rax, xmm5
add rax, rcx
mov qword [0x1401255a0], rax
mov eax, 3
jmp 0x14002f9d3
lea rdx, str.KeyHistory
or r9, 0xffffffffffffffff
mov r8, rdi
mov rcx, rbp
call fcn.1400b8940
test eax, eax
jne 0x14002f23e
test rbx, rbx
je 0x14002f234
mov rcx, rbx
call fcn.14001cf70
test eax, eax
jns 0x14002f224
mov dword [0x140125598], r13d
mov eax, 3
jmp 0x14002f9d3
mov ecx, 0x1f4
cmp eax, ecx
cmovg eax, ecx
mov dword [0x140125598], eax
mov eax, 3
jmp 0x14002f9d3
lea rdx, str.CommentFlag
or r9, 0xffffffffffffffff
mov r8, rdi
mov rcx, rbp
call fcn.1400b8940
test eax, eax
jne 0x14002f338
test rbx, rbx
je 0x14002f32e
cmp word [rbx + 2], r13w
jne 0x14002f2f4
movzx eax, word [rbx]
cmp ax, 0x23
je 0x14002f61f
cmp ax, word [0x1401255b8]
je 0x14002f61f
cmp ax, word [0x1401255bc]
je 0x14002f61f
cmp ax, word [0x1401255b4]
je 0x14002f61f
cmp ax, 0x21
je 0x14002f61f
cmp ax, 0x5e
je 0x14002f61f
cmp ax, 0x2b
je 0x14002f61f
cmp ax, 0x24
je 0x14002f61f
cmp ax, 0x7e
je 0x14002f61f
cmp ax, 0x2a
je 0x14002f61f
cmp ax, 0x3c
je 0x14002f61f
cmp ax, 0x3e
je 0x14002f61f
lea rcx, [0x140124b28]
mov r8d, reloc.WSOCK32.dll_ntohs
mov rdx, rbx
call fcn.1400d9e34
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 0x14002f9d3
lea rdx, str.EscapeChar
or r9, 0xffffffffffffffff
mov r8, rdi
mov rcx, rbp
call fcn.1400b8940
test eax, eax
jne 0x14002f3b4
test rbx, rbx
je 0x14002f9a8
movzx eax, word [rbx]
cmp ax, 0x23
je 0x14002f61f
cmp ax, word [0x1401255b8]
je 0x14002f61f
cmp ax, word [0x1401255b4]
je 0x14002f61f
cmp ax, 0x2e
je 0x14002f61f
cmp qword [0x140124b48], 1
jne 0x14002f3a3
cmp ax, word [0x140124b28]
je 0x14002f61f
mov word [0x1401255bc], ax
mov eax, 3
jmp 0x14002f9d3
lea rdx, str.DerefChar
or r9, 0xffffffffffffffff
mov r8, rdi
mov rcx, rbp
call fcn.1400b8940
test eax, eax
jne 0x14002f426
test rbx, rbx
je 0x14002f9a8
movzx eax, word [rbx]
cmp ax, word [0x1401255bc]
je 0x14002f61f
cmp ax, word [0x1401255b4]
je 0x14002f61f
cmp ax, 0x2e
je 0x14002f61f
cmp qword [0x140124b48], 1
jne 0x14002f415
cmp ax, word [0x140124b28]
je 0x14002f61f
mov word [0x1401255b8], ax
mov eax, 3
jmp 0x14002f9d3
lea rdx, [0x1400f9490]
or r9, 0xffffffffffffffff
mov r8, rdi
mov rcx, rbp
call fcn.1400b8940
test eax, eax
jne 0x14002f4a2
test rbx, rbx
je 0x14002f9a8
movzx eax, word [rbx]
cmp ax, 0x23
je 0x14002f61f
cmp ax, word [0x1401255bc]
je 0x14002f61f
cmp ax, word [0x1401255b8]
je 0x14002f61f
cmp ax, 0x2e
je 0x14002f61f
cmp qword [0x140124b48], 1
jne 0x14002f491
cmp ax, word [0x140124b28]
je 0x14002f61f
mov word [0x1401255b4], ax
mov eax, 3
jmp 0x14002f9d3
lea rdx, str.MenuMaskKey
or r9, 0xffffffffffffffff
mov r8, rdi
mov rcx, rbp
call fcn.1400b8940
test eax, eax
jne 0x14002f517
test rbx, rbx
je 0x14002f4ef
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.140023200
test al, al
jne 0x14002f9a8
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.14004e5d0
jmp 0x14002f9d3
lea rdx, str.InputLevel
or r9, 0xffffffffffffffff
mov r8, rdi
mov rcx, rbp
call fcn.1400b8940
test eax, eax
jne 0x14002f563
test rbx, rbx
je 0x14002f552
mov rcx, rbx
call fcn.14001cf70
mov r13d, eax
test eax, eax
js 0x14002f61f
cmp eax, 0x64
jg 0x14002f61f
mov byte [0x14012abbf], r13b
mov eax, 3
jmp 0x14002f9d3
lea rdx, str.Warn
or r9, 0xffffffffffffffff
mov r8, rdi
mov rcx, rbp
call fcn.1400b8940
test eax, eax
jne 0x14002f6f8
movzx edx, word [0x1401255b4]
lea rdi, [0x1400f1604]
test rbx, rbx
mov rsi, rdi
cmovne rsi, rbx
mov rcx, rsi
call fcn.1400d75e4
test rax, rax
je 0x14002f5ed
lea rdi, [rax + 2]
nop word [rax + rax]
movzx ecx, word [rdi]
cmp cx, r15w
je 0x14002f5bf
cmp cx, 9
jne 0x14002f5c5
add rdi, 2
jmp 0x14002f5b0
add rax, 0xfffffffffffffffe
cmp rax, rsi
jbe 0x14002f5e8
nop
movzx ecx, word [rax]
cmp cx, r15w
je 0x14002f5df
cmp cx, 9
jne 0x14002f5e8
sub rax, 2
cmp rax, rsi
ja 0x14002f5d0
mov word [rax + 2], r13w
cmp word [rsi], r13w
je 0x14002f636
mov r12d, r13d
lea rbx, str.UseUnsetLocal
lea r15, [0x1400f9528]
mov rdx, qword [rbx]
mov rcx, rsi
call fcn.1400d5fdc
test eax, eax
je 0x14002f636
add rbx, 8
inc r12d
cmp rbx, r15
jne 0x14002f604
lea rdx, str.Parameter_1_invalid.
mov r8, rbp
mov rcx, r14
call fcn.14004e5d0
jmp 0x14002f9d3
mov esi, 2
cmp word [rdi], r13w
je 0x14002f683
mov esi, r13d
lea rbx, [0x1400f9528]
lea rbp, str.Requires
mov rdx, qword [rbx]
mov rcx, rdi
call fcn.1400d5fdc
test eax, eax
je 0x14002f683
add rbx, 8
inc esi
cmp rbx, rbp
jne 0x14002f652
lea rdx, str.Parameter_2_invalid.
mov r8, rdi
mov rcx, r14
call fcn.14004e5d0
jmp 0x14002f9d3
test r12d, r12d
je 0x14002f68e
cmp r12d, 6
jne 0x14002f694
mov dword [0x14012ab9c], esi
cmp r12d, 1
je 0x14002f6a0
cmp r12d, 6
jne 0x14002f6a6
mov dword [0x14012aba0], esi
cmp r12d, 3
je 0x14002f6b2
cmp r12d, 6
jne 0x14002f6b8
mov dword [0x14012aba4], esi
cmp r12d, 2
je 0x14002f6c4
cmp r12d, 6
jne 0x14002f6ca
mov dword [0x14012aba8], esi
cmp r12d, 4
je 0x14002f6d6
cmp r12d, 6
jne 0x14002f6dc
mov dword [0x14012abac], esi
cmp r12d, 5
je 0x14002f6e8
cmp r12d, 6
jne 0x14002f6ee
mov dword [0x14012abb0], esi
mov eax, 3
jmp 0x14002f9d3
lea rdx, str.Requires
or r9, 0xffffffffffffffff
mov r8, rdi
mov rcx, rbp
call fcn.1400b8940
test eax, eax
jne 0x14002ed7c
test rbx, rbx
jne 0x14002f736
lea r8, [0x1400f1604]
lea rdx, str.Parameter_1_required
mov rcx, r14
call fcn.14004e5d0
jmp 0x14002f9d3
lea rdx, [0x1400f16f0]
mov r8d, 0xa
mov rcx, rbx
call fcn.1400d67b0
test eax, eax
jne 0x14002f82e
movzx eax, word [rbx + 0x14]
test ax, ax
je 0x14002f9a8
cmp ax, r15w
je 0x14002f76f
cmp ax, si
jne 0x14002f82e
lea rsi, [rbx + 0x16]
mov rdx, rsi
movzx eax, word [rdx]
cmp ax, r15w
je 0x14002f785
cmp ax, 9
jne 0x14002f78b
add rdx, 2
jmp 0x14002f776
movzx eax, word [rdx]
test ax, ax
je 0x14002f9a8
mov rsi, rdx
nop word [rax + rax]
cmp ax, r15w
je 0x14002f7b9
cmp ax, 9
je 0x14002f7b9
movzx eax, word [rsi + 2]
add rsi, 2
test ax, ax
jne 0x14002f7a0
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.1400d9e34
lea rdx, str.Unicode
lea rcx, [rsp + 0x70]
mov word [rsp + rdi*2 + 0x6e], r13w
call fcn.1400d5fdc
test eax, eax
je 0x14002f773
lea rdx, str.64_bit
lea rcx, [rsp + 0x70]
call fcn.1400d5fdc
test eax, eax
je 0x14002f773
lea rdx, [rsp + 0x70]
lea rcx, [0x1400f9580]
xor r8d, r8d
call fcn.1400bb8e0
test eax, eax
jne 0x14002f773
mov rdx, rbx
mov rcx, r14
call fcn.14002f9f0
jmp 0x14002f9d3
test rbx, rbx
jne 0x14002f85a
lea rdx, str.Parameter_1_required
mov r8, rbp
mov rcx, r14
call fcn.14004e5d0
jmp 0x14002f9d3
cmp word [rbx], 0x2a
jne 0x14002f8a0
movzx edi, word [rbx + 2]
test edi, 0xffffff80
jne 0x14002f881
mov esi, 2
mov ecx, edi
mov edx, esi
call fcn.1400d7278
test eax, eax
je 0x14002f881
and edi, 0xffffffdf
cmp di, 0x49
jne 0x14002f8a0
movzx eax, word [rbx + 4]
cmp ax, r15w
je 0x14002f897
cmp ax, 9
jne 0x14002f8a0
mov sil, 1
add rbx, 6
jmp 0x14002f8a3
xor sil, sil
cmp word [rbx], 0x3c
jne 0x14002f966
mov r15d, 0x3e
mov rcx, rbx
mov edx, r15d
call fcn.1400d75e4
mov rdi, rax
test rax, rax
je 0x14002f966
cmp word [rax + 2], r13w
jne 0x14002f966
add rbx, 2
mov word [rax], r13w
call fcn.140070f10
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.140039de0
test r12, r12
je 0x14002f929
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov rcx, r12
call fcn.1400d6528
movzx eax, byte [rsp + 0xf8]
test al, al
jne 0x14002f944
cmp byte [rsp + 0x100], r13b
jne 0x14002f9a8
test sil, sil
jne 0x14002f9a8
mov word [rdi], r15w
test al, al
jne 0x14002f961
lea rdx, str.Function_library_not_found.
mov r8, rbp
mov rcx, r14
call fcn.14004e5d0
mov r13d, eax
mov eax, r13d
jmp 0x14002f9d3
lea rcx, [rsp + 0xf8]
mov rdx, rbx
call fcn.14004c0d0
test eax, eax
jne 0x14002f97e
xor eax, eax
jmp 0x14002f9d3
mov rbx, qword [rsp + 0xf8]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14002f9af
test al, 0x10
je 0x14002f9af
mov rcx, rbx
call fcn.140070b60
mov rcx, rbx
call fcn.1400d6528
mov eax, 3
jmp 0x14002f9d3
movzx r9d, sil
movzx r8d, r12b
mov rdx, rbx
mov rcx, r14
call fcn.14002b310
mov rcx, rbx
neg eax
sbb edi, edi
and edi, 3
call fcn.1400d6528
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