Function at 0x1400d1320
Capabilities:
Allocate or change rwx memory
Get common file path

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x430]
sub rsp, 0x530
mov r15, rdx
mov rbx, rcx
movzx eax, word [rbx]
cmp ax, 0x20
je 0x1400d1354
cmp ax, 9
jne 0x1400d135a
add rbx, 2
jmp 0x1400d1345
mov esi, 0x2c
mov edx, esi
call qword [sym.imp.VCRUNTIME140.dll_wcschr]
mov rdi, rax
test rax, rax
je 0x1400d20c9
cmp word [rax], 0
je 0x1400d20c9
add rdi, 2
mov edx, esi
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_wcschr]
xor r13d, r13d
test rax, rax
je 0x1400d13a3
mov edx, esi
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_wcschr]
mov word [rax], r13w
movzx eax, word [rdi]
test ax, ax
je 0x1400d13fb
mov rdx, rdi
nop
cmp ax, 0x20
je 0x1400d13bc
cmp ax, 9
jne 0x1400d13c5
add rdx, 2
movzx eax, word [rdx]
jmp 0x1400d13b0
mov rax, rdx
sub rax, rdi
cmp rax, 2
jb 0x1400d13fb
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
lea r8, [r8 + 1]
cmp word [rdx + r8*2], r13w
jne 0x1400d13e0
lea r8, [r8*2 + 2]
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
mov r8, 0xffffffffffffffff
inc r8
cmp word [rbx + r8*2], r13w
jne 0x1400d1402
lea r9, [rsp + 0x58]
mov rdx, rbx
lea rcx, [0x14012afc0]
call fcn.14004c8a0
test rax, rax
je 0x1400d1434
mov r8, rbx
lea rdx, str.Duplicate_function_definition.
jmp 0x1400d20d3
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp word [rbx + r8*2], r13w
jne 0x1400d1440
mov qword [rsp + 0x28], r13
mov eax, dword [rsp + 0x58]
mov dword [rsp + 0x20], eax
xor r9d, r9d
mov rdx, rbx
lea rcx, [0x14012afc0]
call fcn.14004e200
mov qword [rsp + 0x78], rax
test rax, rax
je 0x1400d20df
lea rcx, [0x14007e040]
mov qword [rax + 0x10], rcx
mov byte [rax + 0x79], 1
mov dword [rax + 0x24], r13d
mov rax, rdi
sub rax, r15
sar rax, 1
mov esi, 0x4001
sub rsi, rax
lea rdx, str._A_ScriptDir_
mov rcx, rdi
call fcn.1400ce990
mov r12d, 1
mov dword [rbp + 0x488], r12d
test rax, rax
je 0x1400d150e
mov rcx, qword [0x14012bb78]
lea r8, [rbp + 0x1a0]
sub r8, rcx
nop dword [rax]
movzx eax, word [rcx]
mov word [rcx + r8], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x1400d14d0
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], r12d
xor r9d, r9d
lea r8, [rbp + 0x1a0]
lea rdx, str._A_ScriptDir_
mov rcx, rdi
call fcn.1400cede0
lea rdx, str._A_AppData_
mov rcx, rdi
call fcn.1400ce990
test rax, rax
je 0x1400d1562
lea rdx, str.A_AppData
lea rcx, [rbp + 0x1a0]
call fcn.140079700
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], r12d
xor r9d, r9d
lea r8, [rbp + 0x1a0]
lea rdx, str._A_AppData_
mov rcx, rdi
call fcn.1400cede0
lea rdx, str._A_AppDataCommon_
mov rcx, rdi
call fcn.1400ce990
test rax, rax
je 0x1400d15f3
mov edx, 2
lea ecx, [rdx + 0x3f]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__isctype]
lea rax, [rbp - 0x70]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0x23]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
je 0x1400d15a8
mov word [rbp - 0x70], r13w
mov rcx, r13
nop dword [rax + rax]
movzx eax, word [rbp + rcx - 0x70]
mov word [rbp + rcx + 0x1a0], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x1400d15b0
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], r12d
xor r9d, r9d
lea r8, [rbp + 0x1a0]
lea rdx, str._A_AppDataCommon_
mov rcx, rdi
call fcn.1400cede0
lea rdx, str._A_AhkPath_
mov rcx, rdi
call fcn.1400ce990
test rax, rax
je 0x1400d1663
mov r8d, 0x104
lea rdx, [rbp - 0x70]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov rcx, r13
nop dword [rax]
movzx eax, word [rbp + rcx - 0x70]
mov word [rbp + rcx + 0x1a0], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x1400d1620
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], r12d
xor r9d, r9d
lea r8, [rbp + 0x1a0]
lea rdx, str._A_AhkPath_
mov rcx, rdi
call fcn.1400cede0
lea rdx, str._A_AhkDir_
mov rcx, rdi
call fcn.1400ce990
mov r14d, 0x5c
test rax, rax
je 0x1400d16f3
mov r8d, 0x104
lea rdx, [rbp - 0x70]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov edx, r14d
lea rcx, [rbp - 0x70]
call qword [sym.imp.VCRUNTIME140.dll_wcsrchr]
mov rbx, rax
lea rax, [rbp - 0x70]
sub rbx, rax
sar rbx, 1
mov r8, rbx
lea rdx, [rbp - 0x70]
lea rcx, [rbp + 0x1a0]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
mov word [rbp + rbx*2 + 0x1a0], r13w
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], r12d
xor r9d, r9d
lea r8, [rbp + 0x1a0]
lea rdx, str._A_AhkDir_
mov rcx, rdi
call fcn.1400cede0
lea rdx, str._A_DllDir_
mov rcx, rdi
call fcn.1400ce990
test rax, rax
je 0x1400d179c
mov r8d, 0x104
lea rdx, [rbp - 0x70]
mov rcx, qword [0x140127b08]
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
jne 0x1400d1738
mov r8d, 0x104
lea rdx, [rbp - 0x70]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov edx, r14d
lea rcx, [rbp - 0x70]
call qword [sym.imp.VCRUNTIME140.dll_wcsrchr]
mov rbx, rax
lea rax, [rbp - 0x70]
sub rbx, rax
sar rbx, 1
mov r8, rbx
lea rdx, [rbp - 0x70]
lea rcx, [rbp + 0x1a0]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
mov word [rbp + rbx*2 + 0x1a0], r13w
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], r12d
xor r9d, r9d
lea r8, [rbp + 0x1a0]
lea rdx, str._A_DllDir_
mov rcx, rdi
call fcn.1400cede0
lea rdx, str._A_DllPath_
mov rcx, rdi
call fcn.1400ce990
test rax, rax
je 0x1400d1826
mov r8d, 0x104
lea rdx, [rbp - 0x70]
mov rcx, qword [0x140127b08]
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov eax, eax
test rax, rax
jne 0x1400d17e0
mov r8d, 0x104
lea rdx, [rbp - 0x70]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov rcx, r13
movzx eax, word [rbp + rcx - 0x70]
mov word [rbp + rcx + 0x1a0], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x1400d17e3
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], r12d
xor r9d, r9d
lea r8, [rbp + 0x1a0]
lea rdx, str._A_DllPath_
mov rcx, rdi
call fcn.1400cede0
mov edx, 0x25
mov rcx, rdi
call qword [sym.imp.VCRUNTIME140.dll_wcschr]
test rax, rax
je 0x1400d1848
mov r8, rdi
lea rdx, str.Reference_not_allowed_here__use__where_possible._Only__A_AhkPath___A_AhkDir___A_DllPath___A_DllDir___A_ScriptDir___A_AppData_Common___can_be_used_here.
jmp 0x1400d20d3
mov esi, 0x2c
mov edx, esi
mov rcx, rdi
call qword [sym.imp.VCRUNTIME140.dll_wcschr]
test rax, rax
je 0x1400d186c
mov edx, esi
mov rcx, rdi
call qword [sym.imp.VCRUNTIME140.dll_wcschr]
mov word [rax], r13w
mov qword [rsp + 0x20], r13
xor r9d, r9d
lea r8, [rbp + 0x480]
lea rdx, [rbp + 0x470]
lea rcx, str._s_A_Fa_f0_9__:_A_Fa_f0_9____s_
call fcn.140081ca0
test rax, rax
je 0x1400d1b4a
mov r9, 0xffffffffffffffff
nop
inc r9
cmp word [rdi + r9*2], r13w
jne 0x1400d18a0
mov dword [rsp + 0x38], SafeArrayAllocDescriptor
lea rcx, [rbp + 0x3b0]
mov qword [rsp + 0x30], rcx
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], r13d
mov r8, rdi
mov rdx, qword [rbp + 0x480]
mov rcx, rax
call fcn.1400eaa20
test eax, eax
js 0x1400d1b4a
movsxd rax, dword [rbp + 0x3b0]
lea rcx, [rdi + rax*2]
test rcx, rcx
je 0x1400d1b4a
mov qword [rbp + 0x480], 0x780030
mov edx, 0x3a
mov rcx, rdi
call qword [sym.imp.VCRUNTIME140.dll_wcschr]
test rax, rax
je 0x1400d1926
mov edx, 0x3a
mov rcx, rdi
call qword [sym.imp.VCRUNTIME140.dll_wcschr]
lea rdi, [rax + 2]
mov edx, 0x3a
mov rcx, rdi
call qword [sym.imp.VCRUNTIME140.dll_wcschr]
test rax, rax
je 0x1400d1952
mov edx, 0x3a
mov rcx, rdi
call qword [sym.imp.VCRUNTIME140.dll_wcschr]
mov rsi, rax
sub rsi, rdi
sar rsi, 1
jmp 0x1400d196c
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp word [rdi + rax*2], r13w
jne 0x1400d1960
mov esi, eax
mov eax, esi
cdq
sub eax, edx
sar eax, 1
movsxd rbx, eax
lea rax, [rbx - 1]
cmp rax, 0xffff
ja 0x1400d1b3b
cmp qword [0x140129f28], r13
jne 0x1400d19a4
call fcn.1400cad50
mov qword [0x140129f28], rax
test rax, rax
je 0x1400d1b3b
mov rcx, qword [0x140129f20]
cmp rbx, qword [rcx + 0x10]
jbe 0x1400d19ca
call fcn.1400cad50
mov rcx, qword [0x140129f20]
mov qword [rcx + 0x18], rax
test rax, rax
je 0x1400d1b3b
mov r12, qword [rcx + 8]
mov qword [rsp + 0x60], r12
mov qword [0x140129f18], r12
mov rax, rbx
and eax, 7
mov rdx, rbx
je 0x1400d19ec
sub rdx, rax
add rdx, 8
lea rax, [rdx + r12]
mov qword [rcx + 8], rax
sub qword [rcx + 0x10], rdx
test r12, r12
je 0x1400d1b3b
mov r9d, 0x40
mov r8d, 0x1000
mov rdx, rbx
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
test rax, rax
jne 0x1400d1a2d
mov r8, rdi
lea rdx, str.Could_not_commit_memory_for_DllImport.
jmp 0x1400d20d3
mov ebx, r13d
test esi, esi
jle 0x1400d1a7d
mov r14, rdi
nop word [rax + rax]
mov r8d, 2
mov rdx, r14
lea rcx, [rbp + 0x484]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
xor edx, edx
lea r8d, [rdx + 0x10]
lea rcx, [rbp + 0x480]
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_wcstol]
mov ecx, ebx
shr rcx, 1
mov byte [rcx + r12], al
add ebx, 2
add r14, 4
cmp ebx, esi
jl 0x1400d1a40
mov esi, 0x2c
lea r12d, [rsi - 0x2b]
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp word [rdi + rax*2], r13w
jne 0x1400d1a90
inc rax
lea rbx, [rdi + rax*2]
mov rdx, 0xffffffffffffffff
mov rcx, rbx
call fcn.1400cac20
mov r14, rax
mov byte [rbp + 0x470], r13b
cmp word [rax], r13w
je 0x1400d1acf
mov rcx, rax
call fcn.14001dda0
test eax, eax
jne 0x1400d1acf
mov r13d, r12d
cmp word [r14], 0
je 0x1400d1bba
mov edx, esi
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_wcschr]
test rax, rax
je 0x1400d1b1a
nop word [rax + rax]
mov edx, esi
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_wcschr]
mov rbx, rax
test rax, rax
je 0x1400d1b07
add rbx, 2
inc r13d
mov edx, esi
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_wcschr]
test rax, rax
jne 0x1400d1af0
cmp word [r14], 0
je 0x1400d1bba
cmp r13d, 1
jge 0x1400d1bba
lea rdx, str.Parameter_3_required
jmp 0x1400d20d0
mov r8, rdi
lea rdx, str.Out_of_memory.
jmp 0x1400d20d3
mov rcx, rdi
call fcn.140005bc0
mov qword [rsp + 0x60], rax
test rax, rax
jne 0x1400d1a86
mov edx, r14d
mov rcx, rdi
call qword [sym.imp.VCRUNTIME140.dll_wcsrchr]
mov rbx, rax
test rax, rax
je 0x1400d1b93
mov word [rax], r13w
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
jne 0x1400d1b8f
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov word [rbx], r14w
xor edx, edx
mov rcx, rdi
call fcn.14007c390
mov qword [rsp + 0x60], rax
test rax, rax
jne 0x1400d1a86
mov r8, rdi
lea rdx, str.Call_to_nonexistent_function.
jmp 0x1400d20d3
mov r9, qword [0x140129f28]
test r9, r9
jne 0x1400d1bde
call fcn.1400cad50
mov r9, rax
mov qword [0x140129f28], rax
test rax, rax
je 0x1400d1df6
mov r8, qword [0x140129f20]
cmp qword [r8 + 0x10], 0x10
jae 0x1400d1c0c
call fcn.1400cad50
mov r8, qword [0x140129f20]
mov qword [r8 + 0x18], rax
test rax, rax
je 0x1400d1df6
mov r9, qword [0x140129f28]
mov r12, qword [r8 + 8]
mov qword [0x140129f18], r12
lea rax, [r12 + 0x10]
mov qword [r8 + 8], rax
add qword [r8 + 0x10], 0xfffffffffffffff0
test r12, r12
je 0x1400d1df6
mov qword [r12], 0
mov qword [r12 + 8], 0
test r13b, 1
jne 0x1400d1c56
mov dword [r12 + 8], 2
xor r15d, r15d
jmp 0x1400d1cee
movzx eax, word [rbx]
cmp ax, 0x20
je 0x1400d1c65
cmp ax, 9
jne 0x1400d1c6b
add rbx, 2
jmp 0x1400d1c56
mov qword [rsp + 0x68], rbx
xor r15d, r15d
mov qword [rsp + 0x70], r15
lea r8d, [r15 + 5]
lea rdx, str.CDecl
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsnicmp]
test eax, eax
jne 0x1400d1cbe
add rbx, 0xa
movzx eax, word [rbx]
cmp ax, 0x20
je 0x1400d1ca3
cmp ax, 9
jne 0x1400d1ca9
add rbx, 2
jmp 0x1400d1c94
mov qword [rsp + 0x68], rbx
test ax, ax
jne 0x1400d1cbe
mov dword [r12 + 8], 2
jmp 0x1400d1cdd
mov rdx, r12
lea rcx, [rsp + 0x68]
call fcn.14007bc20
cmp dword [r12 + 8], r15d
je 0x1400d20c2
mov byte [rbp + 0x470], 1
dec r13d
mov r9, qword [0x140129f28]
mov r8, qword [0x140129f20]
mov eax, r13d
cdq
sub eax, edx
sar eax, 1
movsxd rdi, eax
je 0x1400d1e09
mov rbx, rdi
shl rbx, 4
lea rcx, [rbx - 1]
cmp rcx, 0xffff
ja 0x1400d1d6e
test r9, r9
jne 0x1400d1d33
call fcn.1400cad50
mov r9, rax
mov qword [0x140129f28], rax
mov r8, qword [0x140129f20]
test rax, rax
je 0x1400d1d6e
cmp rbx, qword [r8 + 0x10]
jbe 0x1400d1d55
call fcn.1400cad50
mov r8, qword [0x140129f20]
mov qword [r8 + 0x18], rax
mov r9, qword [0x140129f28]
test rax, rax
je 0x1400d1d6e
mov rsi, qword [r8 + 8]
mov qword [0x140129f18], rsi
lea rax, [rsi + rbx]
mov qword [r8 + 8], rax
sub qword [r8 + 0x10], rbx
jmp 0x1400d1d71
mov rsi, r15
mov qword [rsp + 0x40], rsi
mov rbx, rdi
shl rbx, 4
lea rax, [rbx - 1]
cmp rax, 0xffff
ja 0x1400d1de4
test r9, r9
jne 0x1400d1da9
call fcn.1400cad50
mov r9, rax
mov qword [0x140129f28], rax
mov r8, qword [0x140129f20]
test rax, rax
je 0x1400d1de4
cmp rbx, qword [r8 + 0x10]
jbe 0x1400d1dcb
call fcn.1400cad50
mov r8, qword [0x140129f20]
mov qword [r8 + 0x18], rax
mov r9, qword [0x140129f28]
test rax, rax
je 0x1400d1de4
mov rcx, qword [r8 + 8]
mov qword [0x140129f18], rcx
lea rax, [rcx + rbx]
mov qword [r8 + 8], rax
sub qword [r8 + 0x10], rbx
jmp 0x1400d1de7
mov rcx, r15
mov qword [rsp + 0x48], rcx
test rsi, rsi
je 0x1400d1df6
test rcx, rcx
jne 0x1400d1e13
lea r8, [0x1400ef7d4]
lea rdx, str.Out_of_memory.
jmp 0x1400d20d3
mov qword [rsp + 0x48], r15
mov qword [rsp + 0x40], r15
lea edi, [rdi*8]
movsxd rbx, edi
lea rax, [rbx - 1]
cmp rax, 0xffff
ja 0x1400d1e7f
test r9, r9
jne 0x1400d1e46
call fcn.1400cad50
mov qword [0x140129f28], rax
test rax, rax
je 0x1400d1e7f
mov r8, qword [0x140129f20]
cmp rbx, qword [r8 + 0x10]
jbe 0x1400d1e61
call fcn.1400cad50
mov r8, qword [0x140129f20]
mov qword [r8 + 0x18], rax
test rax, rax
je 0x1400d1e7f
mov rsi, qword [r8 + 8]
mov qword [rsp + 0x50], rsi
mov qword [0x140129f18], rsi
lea rax, [rsi + rbx]
mov qword [r8 + 8], rax
sub qword [r8 + 0x10], rbx
jmp 0x1400d1e87
mov rsi, r15
mov qword [rsp + 0x50], r15
test edi, edi
je 0x1400d1ea5
test rsi, rsi
je 0x1400d1df6
test edi, edi
je 0x1400d1ea5
mov r8, rbx
xor edx, edx
mov rcx, rsi
call sub.VCRUNTIME140.dll_memset
mov ebx, r15d
mov dword [rbp + 0x480], ebx
cmp r13d, 1
jle 0x1400d2072
mov qword [rbp - 0x78], r15
mov r15, rsi
mov rsi, qword [rsp + 0x40]
nop dword [rax]
nop dword [rax + rax]
mov edx, 0x2c
mov rcx, r14
call qword [sym.imp.VCRUNTIME140.dll_wcschr]
mov rdi, rax
xor eax, eax
mov word [rdi], ax
add rdi, 2
mov qword [rbp - 0x80], r14
mov rdx, rsi
lea rcx, [rbp - 0x80]
call fcn.14007bc20
mov edx, dword [rsi + 8]
mov eax, edx
test edx, edx
je 0x1400d20c2
sub eax, 1
je 0x1400d1f93
sub eax, 5
je 0x1400d1f70
sub eax, 1
je 0x1400d1f70
cmp eax, 1
je 0x1400d1f57
cmp byte [rsi + 0xd], 0
je 0x1400d1f47
cmp edx, 5
jne 0x1400d1f47
mov rcx, rdi
call fcn.140005bc0
test rax, rax
jne 0x1400d1f47
mov rcx, rdi
call fcn.140061c00
mov qword [rsi], rax
jmp 0x1400d2025
mov rcx, rdi
call fcn.140005bc0
mov qword [rsi], rax
jmp 0x1400d2025
mov rcx, rdi
call fcn.140005bc0
test rax, rax
jne 0x1400d20c2
mov qword [rsi], rdi
jmp 0x1400d2025
mov rcx, rdi
call fcn.140031da0
movsd qword [rsi], xmm0
cmp dword [rsi + 8], 6
jne 0x1400d2025
cvtsd2ss xmm0, xmm0
movss dword [rsi], xmm0
jmp 0x1400d2025
mov rcx, rdi
call fcn.140005bc0
test rax, rax
jne 0x1400d20c2
lea edx, [rax + 0x2c]
mov rcx, rdi
call qword [sym.imp.VCRUNTIME140.dll_wcschr]
mov r14, rax
test rax, rax
je 0x1400d1fbe
xor eax, eax
mov word [r14], ax
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.1400ec294
mov rbx, rax
mov qword [rsp + 0x68], rax
xor eax, eax
mov qword [rbx + 8], rax
mov byte [rbx + 0x10], al
lea rax, vtable.CStringCharFromWChar.0
mov qword [rbx], rax
mov r8d, 0xffffffff
mov rdx, rbx
mov rcx, rdi
call fcn.1400cb0b0
nop
mov qword [r15], rbx
test r14, r14
je 0x1400d2006
mov eax, 0x2c
mov word [r14], ax
mov rbx, qword [r15]
mov rcx, rbx
call fcn.14000ebf0
mov byte [rbx + 0x10], 1
mov rax, qword [rbx + 8]
mov rcx, qword [rax]
mov qword [rsi], rcx
mov ebx, dword [rbp + 0x480]
mov edx, 0x2c
mov rcx, rdi
call qword [sym.imp.VCRUNTIME140.dll_wcschr]
mov r14, rax
test rax, rax
je 0x1400d2045
xor eax, eax
mov word [r14], ax
add r14, 2
inc ebx
mov dword [rbp + 0x480], ebx
add rsi, 0x10
add r15, 8
mov eax, dword [rbp + 0x488]
add eax, 2
mov dword [rbp + 0x488], eax
cmp eax, r13d
jl 0x1400d1ed0
xor r15d, r15d
jmp 0x1400d2079
mov rdi, qword [rbp + 0x470]
cmp byte [rbp + 0x470], 0
je 0x1400d208b
test r13d, r13d
je 0x1400d208b
mov word [rdi], r15w
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x78]
mov qword [rcx + 0x28], rax
mov dword [rcx + 0x20], ebx
mov qword [rcx + 0x38], r12
mov rax, qword [rsp + 0x50]
mov qword [rcx + 0x48], rax
mov rax, qword [rsp + 0x40]
mov qword [rcx + 0x40], rax
mov rax, qword [rsp + 0x48]
mov qword [rcx + 0x18], rax
mov eax, 3
jmp 0x1400d20df
mov eax, 4
jmp 0x1400d20df
lea rdx, str.Parameter_2_required
mov r8, r15
lea rcx, [0x14012afc0]
call fcn.14005fdd0
mov rbx, qword [rsp + 0x578]
add rsp, 0x530
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret