Function at 0x14001bf30
Capabilities:
Get keyboard layout

Disassembly:
mov qword [rsp + 0x20], rbx
push rsi
push rdi
push r13
push r14
push r15
sub rsp, 0x40
movzx r8d, word [0x1400fe3d4]
xor r15d, r15d
or rdi, 0xffffffffffffffff
mov dword [rsp + 0x78], 0x90020
mov word [rsp + 0x7c], r8w
mov r14, rdx
mov word [rsp + 0x7e], r15w
mov r13, rcx
mov r9d, SafeArrayAllocDescriptor
mov rsi, rdx
test rdx, rdx
je 0x14001bfb3
movzx edx, word [rdx]
test dx, dx
je 0x14001bfb3
lea rcx, [rsp + 0x78]
mov eax, r9d
nop dword [rax + rax]
cmp dx, ax
je 0x14001c03b
movzx eax, word [rcx + 2]
add rcx, 2
test ax, ax
jne 0x14001bf90
movzx edx, word [rsi + 2]
add rsi, 2
test dx, dx
jne 0x14001bf80
mov rax, rdi
nop word [rax + rax]
cmp word [r14 + rax*2 + 2], r15w
lea rax, [rax + 1]
jne 0x14001bfc0
lea rsi, [r14 + rax*2]
mov rbx, r15
sub rsi, r14
lea rdx, str.Include
sar rsi, 1
mov r9, rdi
mov r8, rsi
mov rcx, r14
call fcn.140087740
test eax, eax
je 0x14001c031
mov r9, rdi
lea rdx, str.IncludeAgain
mov r8, rsi
mov rcx, r14
call fcn.140087740
test eax, eax
je 0x14001c031
mov r9, rdi
lea rdx, str.NoEnv
mov r8, rsi
mov rcx, r14
call fcn.140087740
test eax, eax
jne 0x14001c08c
mov r15d, 1
mov dword [0x140101c40], r15d
mov eax, 3
jmp 0x14001cee8
mov rbx, rsi
nop
movzx eax, word [rbx]
cmp ax, r9w
je 0x14001c04f
cmp ax, 9
jne 0x14001c055
add rbx, 2
jmp 0x14001c040
movzx eax, word [rbx]
test ax, ax
je 0x14001bfd0
cmp ax, r8w
jne 0x14001bfd3
movzx eax, word [rbx + 2]
add rbx, 2
cmp ax, r9w
je 0x14001c06b
cmp ax, 9
je 0x14001c06b
cmp ax, r15w
cmove rbx, r15
jmp 0x14001bfd3
mov r9, rdi
lea rdx, str.NoTrayIcon
mov r8, rsi
mov rcx, r14
call fcn.140087740
test eax, eax
jne 0x14001c0b6
mov byte [0x140101c48], 1
mov eax, 3
jmp 0x14001cee8
mov r9, rdi
lea rdx, str.Persistent
mov r8, rsi
mov rcx, r14
call fcn.140087740
test eax, eax
jne 0x14001c0e0
mov byte [0x140100eb4], 1
mov eax, 3
jmp 0x14001cee8
mov r9, rdi
mov qword [rsp + 0x70], rbp
mov r8, rsi
lea rdx, str.SingleInstance
mov rcx, r14
call fcn.140087740
test eax, eax
jne 0x14001c190
mov r15d, 1
mov dword [0x140100ed0], r15d
test rbx, rbx
je 0x14001c186
lea rdx, str.Force
mov rcx, rbx
call fcn.1400a7520
test eax, eax
jne 0x14001c13a
mov ebp, 2
mov dword [0x140100ed0], ebp
lea eax, [rbp + 1]
jmp 0x14001cee3
lea rdx, str.Ignore
mov rcx, rbx
call fcn.1400a7520
test eax, eax
jne 0x14001c161
mov dword [0x140100ed0], 3
mov eax, 3
jmp 0x14001cee3
lea rdx, [0x1400df498]
mov rcx, rbx
call fcn.1400a7520
mov ecx, dword [0x140100ed0]
test eax, eax
mov ebx, 4
cmove ecx, ebx
mov dword [0x140100ed0], ecx
mov eax, 3
jmp 0x14001cee3
mov r9, rdi
lea rdx, str.InstallKeybdHook
mov r8, rsi
mov rcx, r14
call fcn.140087740
test eax, eax
jne 0x14001c1ba
or byte [0x140103d32], 1
mov eax, 3
jmp 0x14001cee3
mov r9, rdi
lea rdx, str.InstallMouseHook
mov r8, rsi
mov rcx, r14
call fcn.140087740
test eax, eax
jne 0x14001c1e4
or byte [0x140103d32], 2
mov eax, 3
jmp 0x14001cee3
mov r9, rdi
lea rdx, str.UseHook
mov r8, rsi
mov rcx, r14
call fcn.140087740
test eax, eax
jne 0x14001c229
test rbx, rbx
je 0x14001c218
xor edx, edx
mov rcx, rbx
call fcn.140016cf0
mov byte [0x140100f1c], r15b
cmp eax, 2
je 0x14001c21f
mov byte [0x140100f1c], 1
mov eax, 3
jmp 0x14001cee3
mov r9, rdi
lea rdx, [0x1400cd940]
mov r8, rsi
mov rcx, r14
call fcn.140087740
test eax, eax
jne 0x14001c303
test rbx, rbx
je 0x14001c3cc
mov rcx, rbx
call fcn.14000b570
mov qword [0x140101c38], rax
test rax, rax
jne 0x14001cd79
mov rax, qword [0x1400fca58]
lea rsi, [0x1400cbf2c]
mov qword [rsp + 0x38], r15
xor r9d, r9d
mov qword [rsp + 0x30], r15
mov r8b, 0xe1
mov qword [rsp + 0x28], r15
mov rdx, rbx
mov rdi, qword [rax + 0xd8]
mov rcx, r13
mov qword [rax + 0xd8], r15
mov byte [r13 + 0x75], 1
mov qword [rsp + 0x20], rsi
call fcn.14001d640
test eax, eax
je 0x14001c2db
mov rax, qword [0x1400fca58]
mov byte [r13 + 0x75], r15b
mov qword [rax + 0xd8], rdi
mov rbx, qword [r13 + 8]
call fcn.14000b4c0
mov qword [0x140101c38], rax
mov rdx, rax
test rax, rax
jne 0x14001c2e2
xor eax, eax
jmp 0x14001cee3
mov byte [rax], 5
mov qword [rax + 0x18], rbx
mov rax, qword [rbx + 8]
mov rcx, qword [rax + 8]
mov eax, 3
mov qword [rdx + 8], rcx
mov qword [rdx + 0x10], rsi
jmp 0x14001cee3
mov r9, rdi
lea rdx, str.IfTimeout
mov r8, rsi
mov rcx, r14
call fcn.140087740
test eax, eax
jne 0x14001c339
test rbx, rbx
je 0x14001c32f
mov rcx, rbx
call fcn.1400155f0
mov dword [0x1400fe3d8], eax
mov eax, 3
jmp 0x14001cee3
mov r8d, 6
lea rdx, str.IfWin
mov rcx, r14
call fcn.1400a9b08
test eax, eax
jne 0x14001c4fe
lea rcx, [r14 + 0xc]
lea r8d, [rax + 3]
lea rdx, [0x1400df640]
call fcn.1400a9b08
test eax, eax
lea rdx, str.Active
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetUBound
mov edi, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
sete bpl
test bpl, bpl
cmovne edi, ecx
lea r8d, [rcx - 0xc]
add rdi, r14
mov rcx, rdi
call fcn.1400a9b08
test eax, eax
jne 0x14001c39f
inc bpl
jmp 0x14001c3c7
mov r8d, 5
lea rdx, str.Exist
mov rcx, rdi
call fcn.1400a9b08
test eax, eax
jne 0x14001cfca
test bpl, bpl
setne bpl
add bpl, 3
test rbx, rbx
jne 0x14001c3dd
mov qword [0x140101c38], r15
mov eax, 3
jmp 0x14001cee3
movzx edx, word [0x1400fe3d4]
mov r10, r15
movzx r9d, word [0x1400fe3cc]
mov rcx, rbx
movzx r8d, word [0x1400fe3d0]
nop word [rax + rax]
movzx eax, word [rcx]
test ax, ax
je 0x14001c426
cmp ax, r9w
je 0x14001c455
cmp ax, dx
je 0x14001c455
cmp ax, r8w
je 0x14001c455
movzx eax, word [rcx + 2]
add rcx, 2
test ax, ax
jne 0x14001c408
lea rsi, [0x1400cbf2c]
test r10, r10
je 0x14001c4c2
lea rdi, [r10 + 2]
nop word [rax + rax]
movzx eax, word [rdi]
cmp ax, 0x20
je 0x14001c44f
cmp ax, 9
jne 0x14001c4a0
add rdi, 2
jmp 0x14001c440
movzx eax, word [rcx]
test ax, ax
je 0x14001c426
cmp ax, r8w
je 0x14001c489
cmp ax, dx
jne 0x14001c476
test r10, r10
jne 0x14001c489
mov r10, rcx
add rcx, 2
jmp 0x14001c400
add rcx, 2
cmp word [rcx], r15w
je 0x14001c426
add rcx, 2
jmp 0x14001c400
mov r8, r14
lea rdx, str.Literal_commas_and_percent_signs_must_be_escaped__e.g.____
mov rcx, r13
call fcn.140035ad0
jmp 0x14001cee3
mov word [r10], r15w
mov rcx, rbx
sub r10, rbx
sar r10, 1
mov rdx, r10
call fcn.1400154f0
mov r8b, 1
mov rcx, rdi
call fcn.140089de0
jmp 0x14001c4c5
mov rdi, rsi
mov r8b, 1
mov rcx, rbx
call fcn.140089de0
mov r8, rdi
mov rdx, rbx
movzx ecx, bpl
call fcn.14000b2f0
test eax, eax
jne 0x14001cd79
mov r8, rsi
lea rdx, str.Out_of_memory.
mov rcx, r13
call fcn.140035ad0
jmp 0x14001cee3
mov r9, rdi
lea rdx, str.Hotstring
mov r8, rsi
mov rcx, r14
call fcn.140087740
test eax, eax
jne 0x14001c748
test rbx, rbx
je 0x14001cd79
lea rdx, str.EndChars
mov rcx, rbx
call fcn.140087a90
test rax, rax
je 0x14001c587
lea rdx, [0x1400e1f14]
mov rcx, rax
call fcn.14000ad90
test rax, rax
je 0x14001cd79
lea rdx, [rax + 2]
mov r8d, 0x64
lea rcx, str._____:____.___n__t
call fcn.1400b0554
xor r8d, r8d
mov word [0x1400fe3c8], r15w
lea rcx, str._____:____.___n__t
call fcn.140089de0
mov eax, 3
jmp 0x14001cee3
mov r8d, 7
lea rdx, str.NoMouse
mov rcx, rbx
call fcn.1400a9b08
test eax, eax
jne 0x14001c5b1
mov byte [0x1400fe2f8], r15b
mov eax, 3
jmp 0x14001cee3
cmp word [rbx], r15w
je 0x14001cd79
mov ebp, 2
lea r14, [0x140000000]
nop word [rax + rax]
movzx eax, word [rbx]
cmp ax, 0x3a
je 0x14001cd79
movzx edi, ax
lea rsi, [rbx + 2]
test edi, 0xffffff80
jne 0x14001c5fc
mov edx, ebp
mov ecx, edi
call fcn.1400aa0c4
test eax, eax
je 0x14001c5fc
and edi, 0xffffffdf
movzx eax, di
add eax, 0xffffffd6
cmp eax, 0x30
ja case.0x14001c621.52
cdqe
movzx eax, byte [r14 + rax + 0x1d000]
mov ecx, dword [r14 + rax*4 + 0x1cfd4]
add rcx, r14
jmp rcx
cmp word [rsi], 0x30
sete byte [0x1400fe2f9]
jmp case.0x14001c621.52
cmp word [rsi], 0x30
setne byte [0x140100f1f]
jmp case.0x14001c621.52
cmp word [rsi], 0x30
setne byte [0x1400fe2fa]
jmp case.0x14001c621.52
movzx eax, word [rsi]
cmp ax, 0x30
jne 0x14001c66f
mov byte [0x1400fe2fb], 1
mov byte [0x14010107e], r15b
jmp case.0x14001c621.52
mov byte [0x1400fe2fb], r15b
cmp ax, 0x31
jne 0x14001c688
mov byte [0x14010107e], r15b
jmp case.0x14001c621.52
mov byte [0x14010107e], 1
jmp case.0x14001c621.52
cmp word [rsi], 0x30
setne byte [0x14010107d]
jmp case.0x14001c621.52
mov rcx, rsi
call fcn.1400ab0fc
mov dword [0x140101090], eax
jmp case.0x14001c621.52
mov rcx, rsi
call fcn.1400ab0fc
mov dword [0x140101094], eax
jmp case.0x14001c621.52
cmp word [rsi], 0x30
setne byte [0x14010107c]
jmp case.0x14001c621.52
movzx eax, word [rsi]
test ax, ax
mov edi, eax
cmove rsi, rbx
mov rbx, rsi
test eax, 0xffffff80
jne 0x14001c6f7
mov edx, ebp
mov ecx, eax
call fcn.1400aa0c4
test eax, eax
je 0x14001c6f7
and edi, 0xffffffdf
movzx eax, di
cmp eax, 0x45
je 0x14001c71d
cmp eax, 0x49
je 0x14001c711
cmp eax, 0x50
jne case.0x14001c621.52
mov dword [0x1400fe2fc], ebp
jmp case.0x14001c621.52
mov dword [0x1400fe2fc], 3
jmp case.0x14001c621.52
mov dword [0x1400fe2fc], r15d
jmp case.0x14001c621.52
cmp word [rsi], 0x30
setne byte [0x140100f1e]
add rbx, rbp
cmp word [rbx], r15w
jne 0x14001c5d0
mov eax, 3
jmp 0x14001cee3
mov r9, rdi
lea rdx, str.HotkeyModifierTimeout
mov r8, rsi
mov rcx, r14
call fcn.140087740
test eax, eax
jne 0x14001c77e
test rbx, rbx
je 0x14001c774
mov rcx, rbx
call fcn.14000ed00
mov dword [0x1400fe3e4], eax
mov eax, 3
jmp 0x14001cee3
mov r9, rdi
lea rdx, str.HotkeyInterval
mov r8, rsi
mov rcx, r14
call fcn.140087740
test eax, eax
jne 0x14001c7be
test rbx, rbx
je 0x14001c7b4
mov rcx, rbx
call fcn.14000ed00
mov ecx, 0xa
cmp eax, ecx
cmovl eax, ecx
mov dword [0x1400fe3dc], eax
mov eax, 3
jmp 0x14001cee3
mov r9, rdi
lea rdx, str.MaxHotkeysPerInterval
mov r8, rsi
mov rcx, r14
call fcn.140087740
test eax, eax
jne 0x14001c801
test rbx, rbx
je 0x14001c7f7
mov rcx, rbx
call fcn.14000ed00
mov r15d, 1
cmp eax, r15d
cmovl eax, r15d
mov dword [0x1400fe3e0], eax
mov eax, 3
jmp 0x14001cee3
mov r9, rdi
lea rdx, str.MaxThreadsPerHotkey
mov r8, rsi
mov rcx, r14
call fcn.140087740
test eax, eax
jne 0x14001c84f
test rbx, rbx
je 0x14001c845
mov rcx, rbx
call fcn.14000ed00
mov ecx, 0xff
cmp eax, ecx
jg 0x14001c83f
mov r15d, 1
mov ecx, eax
cmp eax, r15d
cmovl ecx, r15d
mov byte [0x1400fe3ca], cl
mov eax, 3
jmp 0x14001cee3
mov r9, rdi
lea rdx, str.MaxThreadsBuffer
mov r8, rsi
mov rcx, r14
call fcn.140087740
test eax, eax
jne 0x14001c894
test rbx, rbx
je 0x14001c883
xor edx, edx
mov rcx, rbx
call fcn.140016cf0
mov byte [0x140101167], r15b
cmp eax, 2
je 0x14001c88a
mov byte [0x140101167], 1
mov eax, 3
jmp 0x14001cee3
mov r9, rdi
lea rdx, str.MaxThreads
mov r8, rsi
mov rcx, r14
call fcn.140087740
test eax, eax
jne 0x14001c8e2
test rbx, rbx
je 0x14001c8d8
mov rcx, rbx
call fcn.14000ed00
mov ecx, 0xff
cmp eax, ecx
jg 0x14001c8d2
mov r15d, 1
mov ecx, eax
cmp eax, r15d
cmovl ecx, r15d
mov dword [0x1400fca54], ecx
mov eax, 3
jmp 0x14001cee3
mov r9, rdi
lea rdx, str.ClipboardTimeout
mov r8, rsi
mov rcx, r14
call fcn.140087740
test eax, eax
jne 0x14001c918
test rbx, rbx
je 0x14001c90e
mov rcx, rbx
call fcn.14000ed00
mov dword [0x1400fca64], eax
mov eax, 3
jmp 0x14001cee3
mov r9, rdi
lea rdx, str.LTrim
mov r8, rsi
mov rcx, r14
call fcn.140087740
test eax, eax
jne 0x14001c95d
test rbx, rbx
je 0x14001c94c
xor edx, edx
mov rcx, rbx
call fcn.140016cf0
mov byte [0x140100f1d], r15b
cmp eax, 2
je 0x14001c953
mov byte [0x140100f1d], 1
mov eax, 3
jmp 0x14001cee3
mov r9, rdi
lea rdx, str.WinActivateForce
mov r8, rsi
mov rcx, r14
call fcn.140087740
test eax, eax
jne 0x14001c987
mov byte [0x140101c4a], 1
mov eax, 3
jmp 0x14001cee3
mov r9, rdi
lea rdx, str.ErrorStdOut
mov r8, rsi
mov rcx, r14
call fcn.140087740
test eax, eax
jne 0x14001c9b2
mov byte [r13 + 0xb93], 1
mov eax, 3
jmp 0x14001cee3
mov r9, rdi
lea rdx, str.MaxMem
mov r8, rsi
mov rcx, r14
call fcn.140087740
test eax, eax
jne 0x14001ca42
test rbx, rbx
je 0x14001ca38
mov rcx, rbx
call fcn.140015620
movsd xmm1, qword [0x1400ea470]
comisd xmm0, xmm1
ja 0x14001c9f2
movsd xmm1, qword [0x1400ea418]
maxsd xmm1, xmm0
mulsd xmm1, qword [0x1400ea460]
xor ecx, ecx
movsd xmm0, qword [0x1400ea4c8]
mulsd xmm1, qword [0x1400ea460]
comisd xmm1, xmm0
jb 0x14001ca29
subsd xmm1, xmm0
comisd xmm1, xmm0
jae 0x14001ca29
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rax, xmm1
add rax, rcx
mov qword [0x1400fe3e8], rax
mov eax, 3
jmp 0x14001cee3
mov r9, rdi
lea rdx, str.KeyHistory
mov r8, rsi
mov rcx, r14
call fcn.140087740
test eax, eax
jne 0x14001ca97
test rbx, rbx
je 0x14001ca8d
mov rcx, rbx
call fcn.14000ed00
test eax, eax
jns 0x14001ca7d
mov dword [0x1400fca60], r15d
mov eax, 3
jmp 0x14001cee3
mov ecx, 0x1f4
cmp eax, ecx
cmovg eax, ecx
mov dword [0x1400fca60], eax
mov eax, 3
jmp 0x14001cee3
mov r9, rdi
lea rdx, str.CommentFlag
mov r8, rsi
mov rcx, r14
call fcn.140087740
test eax, eax
jne 0x14001cb5b
test rbx, rbx
je 0x14001cb51
cmp word [rbx + 2], r15w
jne 0x14001cb1f
movzx ecx, word [rbx]
cmp cx, 0x23
je 0x14001cd5b
cmp cx, word [0x1400fe3d0]
je 0x14001cd5b
cmp cx, word [0x1400fe3cc]
je 0x14001cd5b
cmp cx, word [0x1400fe3d4]
je 0x14001cd5b
lea eax, [rcx - 0x21]
cmp ax, 0x3d
ja 0x14001cb15
movabs rdx, 0x2000000028000609
bt rdx, rax
jb 0x14001cd5b
cmp cx, 0x7e
je 0x14001cd5b
mov rdx, rbx
mov r8d, reloc.OLEAUT32.dll_SafeArrayDestroy
lea rbx, [0x1400fedc8]
mov rcx, rbx
call fcn.1400b0554
mov word [0x1400fede6], r15w
nop
inc rdi
cmp word [rbx + rdi*2], r15w
jne 0x14001cb40
mov qword [0x1400fedc0], rdi
mov eax, 3
jmp 0x14001cee3
mov r9, rdi
lea rdx, str.EscapeChar
mov r8, rsi
mov rcx, r14
call fcn.140087740
test eax, eax
jne 0x14001cbd6
test rbx, rbx
je 0x14001cd79
movzx eax, word [rbx]
cmp ax, 0x23
je 0x14001cd5b
cmp ax, word [0x1400fe3d0]
je 0x14001cd5b
cmp ax, word [0x1400fe3d4]
je 0x14001cd5b
cmp ax, 0x2e
je 0x14001cd5b
cmp qword [0x1400fedc0], 1
jne 0x14001cbc5
cmp ax, word [0x1400fedc8]
je 0x14001cd5b
mov word [0x1400fe3cc], ax
mov eax, 3
jmp 0x14001cee3
mov r9, rdi
lea rdx, str.DerefChar
mov r8, rsi
mov rcx, r14
call fcn.140087740
test eax, eax
jne 0x14001cc47
test rbx, rbx
je 0x14001cd79
movzx eax, word [rbx]
cmp ax, word [0x1400fe3cc]
je 0x14001cd5b
cmp ax, word [0x1400fe3d4]
je 0x14001cd5b
cmp ax, 0x2e
je 0x14001cd5b
cmp qword [0x1400fedc0], 1
jne 0x14001cc36
cmp ax, word [0x1400fedc8]
je 0x14001cd5b
mov word [0x1400fe3d0], ax
mov eax, 3
jmp 0x14001cee3
mov r9, rdi
lea rdx, [0x1400e2128]
mov r8, rsi
mov rcx, r14
call fcn.140087740
test eax, eax
jne 0x14001ccc2
test rbx, rbx
je 0x14001cd79
movzx eax, word [rbx]
cmp ax, 0x23
je 0x14001cd5b
cmp ax, word [0x1400fe3cc]
je 0x14001cd5b
cmp ax, word [0x1400fe3d0]
je 0x14001cd5b
cmp ax, 0x2e
je 0x14001cd5b
cmp qword [0x1400fedc0], 1
jne 0x14001ccb1
cmp ax, word [0x1400fedc8]
je 0x14001cd5b
mov word [0x1400fe3d4], ax
mov eax, 3
jmp 0x14001cee3
mov r9, rdi
lea rdx, str.MenuMaskKey
mov r8, rsi
mov rcx, r14
call fcn.140087740
test eax, eax
jne 0x14001cd2d
test rbx, rbx
je 0x14001cd08
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetKeyboardLayout]
mov r9b, 1
xor edx, edx
movzx r8d, r9b
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.1400145c0
mov byte [reloc.OLEAUT32.dll_SafeArrayGetElemsize], al
test al, al
jne 0x14001cd79
test rbx, rbx
lea rax, str.Parameter_1_invalid.
lea rdx, str.Parameter_1_required
mov r8, r14
cmovne rdx, rax
mov rcx, r13
call fcn.140035ad0
jmp 0x14001cee3
mov r9, rdi
lea rdx, str.InputLevel
mov r8, rsi
mov rcx, r14
call fcn.140087740
test eax, eax
jne 0x14001cd83
test rbx, rbx
je 0x14001cd72
mov rcx, rbx
call fcn.14000ed00
mov r15d, eax
cmp eax, 0x64
jbe 0x14001cd72
mov r8, r14
lea rdx, str.Parameter_1_invalid.
mov rcx, r13
call fcn.140035ad0
jmp 0x14001cee3
mov byte [0x140101166], r15b
mov eax, 3
jmp 0x14001cee3
mov r9, rdi
lea rdx, str.Warn
mov r8, rsi
mov rcx, r14
call fcn.140087740
test eax, eax
jne 0x14001cfca
movzx edx, word [0x1400fe3d4]
test rbx, rbx
mov qword [rsp + 0x80], r12
lea r12, [0x1400e21b8]
cmovne r12, rbx
mov rcx, r12
call fcn.1400a5a98
lea rsi, [0x1400cbf2c]
mov rbx, rdi
test rax, rax
je 0x14001ce21
lea rsi, [rax + 2]
nop dword [rax + rax]
movzx ecx, word [rsi]
cmp cx, 0x20
je 0x14001cdef
cmp cx, 9
jne 0x14001cdf5
add rsi, 2
jmp 0x14001cde0
lea rbx, [rax - 2]
cmp rbx, r12
jbe 0x14001ce18
nop
movzx eax, word [rbx]
cmp ax, 0x20
je 0x14001ce0f
cmp ax, 9
jne 0x14001ce18
sub rbx, 2
cmp rbx, r12
ja 0x14001ce00
sub rbx, r12
sar rbx, 1
inc rbx
mov r9, rdi
lea rdx, [0x1400e21b8]
mov r8, rbx
mov rcx, r12
call fcn.140087740
mov ebp, 2
lea r15d, [rbp - 1]
test eax, eax
je 0x14001cefd
test rbx, rbx
je 0x14001cefd
mov r9, rdi
lea rdx, str.UseUnsetLocal
mov r8, rbx
mov rcx, r12
call fcn.140087740
test eax, eax
jne 0x14001ce70
xor ebx, ebx
jmp 0x14001cf02
mov r9, rdi
lea rdx, str.UseUnsetGlobal
mov r8, rbx
mov rcx, r12
call fcn.140087740
test eax, eax
jne 0x14001ce8e
mov ebx, r15d
jmp 0x14001cf02
mov r9, rdi
lea rdx, str.UseEnv
mov r8, rbx
mov rcx, r12
call fcn.140087740
test eax, eax
jne 0x14001ceac
lea ebx, [rax + 3]
jmp 0x14001cf02
mov r9, rdi
lea rdx, str.LocalSameAsGlobal
mov r8, rbx
mov rcx, r12
call fcn.140087740
test eax, eax
jne 0x14001cec9
mov ebx, ebp
jmp 0x14001cf02
mov r8, r14
lea rdx, str.Parameter_1_invalid.
mov rcx, r13
call fcn.140035ad0
mov r12, qword [rsp + 0x80]
mov rbp, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x88]
add rsp, 0x40
pop r15
pop r14
pop r13
pop rdi
pop rsi
ret
mov ebx, 4
cmp word [rsi], 0
je 0x14001cf60
lea rdx, str.MsgBox
mov rcx, rsi
call fcn.1400a7520
test eax, eax
je 0x14001cf60
lea rdx, str.OutputDebug
mov rcx, rsi
call fcn.1400a7520
test eax, eax
jne 0x14001cf33
mov ebp, r15d
jmp 0x14001cf60
lea rdx, str.StdOut
mov rcx, rsi
call fcn.1400a7520
test eax, eax
jne 0x14001cf4b
lea ebp, [rax + 3]
jmp 0x14001cf60
lea rdx, [0x1400df498]
mov rcx, rsi
call fcn.1400a7520
test eax, eax
jne 0x14001cfbb
xor ebp, ebp
mov eax, dword [0x140101c58]
test ebx, 0xfffffffb
cmove eax, ebp
mov dword [0x140101c58], eax
cmp ebx, r15d
je 0x14001cf7f
cmp ebx, 4
jne 0x14001cf85
mov dword [0x140101c54], ebp
mov ecx, dword [0x140101c50]
lea eax, [rbx - 3]
cmp eax, r15d
lea eax, [rbx - 2]
cmovbe ecx, ebp
test eax, 0xfffffffd
mov eax, dword [0x140101c4c]
cmove eax, ebp
mov dword [0x140101c50], ecx
mov dword [0x140101c4c], eax
mov eax, 3
jmp 0x14001cedb
mov r8, r14
lea rdx, str.Parameter_2_invalid.
jmp 0x14001ced3
mov eax, 4
jmp 0x14001cee3