Function at 0x1400d1140
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 0x1400d1174
cmp ax, 9
jne 0x1400d117a
add rbx, 2
jmp 0x1400d1165
mov esi, 0x2c
mov edx, esi
call qword [sym.imp.VCRUNTIME140.dll_wcschr]
mov rdi, rax
test rax, rax
je 0x1400d1ee9
cmp word [rax], 0
je 0x1400d1ee9
add rdi, 2
mov edx, esi
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_wcschr]
xor r13d, r13d
test rax, rax
je 0x1400d11c3
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 0x1400d121b
mov rdx, rdi
nop
cmp ax, 0x20
je 0x1400d11dc
cmp ax, 9
jne 0x1400d11e5
add rdx, 2
movzx eax, word [rdx]
jmp 0x1400d11d0
mov rax, rdx
sub rax, rdi
cmp rax, 2
jb 0x1400d121b
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
lea r8, [r8 + 1]
cmp word [rdx + r8*2], r13w
jne 0x1400d1200
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 0x1400d1222
lea r9, [rsp + 0x58]
mov rdx, rbx
lea rcx, [0x14012afc0]
call fcn.14004c9e0
test rax, rax
je 0x1400d1254
mov r8, rbx
lea rdx, str.Duplicate_function_definition.
jmp 0x1400d1ef3
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp word [rbx + r8*2], r13w
jne 0x1400d1260
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.14004e340
mov qword [rsp + 0x78], rax
test rax, rax
je 0x1400d1eff
lea rcx, [0x14007e150]
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.1400ce7b0
mov r12d, 1
mov dword [rbp + 0x488], r12d
test rax, rax
je 0x1400d132e
mov rcx, qword [0x14012bb78]
lea r8, [rbp + 0x1a0]
sub r8, rcx
nop dword [rax]
movzx eax, word [rcx]
mov word [r8 + rcx], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x1400d12f0
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.1400cec00
lea rdx, str._A_AppData_
mov rcx, rdi
call fcn.1400ce7b0
test rax, rax
je 0x1400d1382
lea rdx, str.A_AppData
lea rcx, [rbp + 0x1a0]
call fcn.140079810
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.1400cec00
lea rdx, str._A_AppDataCommon_
mov rcx, rdi
call fcn.1400ce7b0
test rax, rax
je 0x1400d1413
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 0x1400d13c8
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 0x1400d13d0
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.1400cec00
lea rdx, str._A_AhkPath_
mov rcx, rdi
call fcn.1400ce7b0
test rax, rax
je 0x1400d1483
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 0x1400d1440
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.1400cec00
lea rdx, str._A_AhkDir_
mov rcx, rdi
call fcn.1400ce7b0
mov r14d, 0x5c
test rax, rax
je 0x1400d1513
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.1400cec00
lea rdx, str._A_DllDir_
mov rcx, rdi
call fcn.1400ce7b0
test rax, rax
je 0x1400d15bc
mov r8d, 0x104
lea rdx, [rbp - 0x70]
mov rcx, qword [0x140127b08]
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
jne 0x1400d1558
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.1400cec00
lea rdx, str._A_DllPath_
mov rcx, rdi
call fcn.1400ce7b0
test rax, rax
je 0x1400d1646
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 0x1400d1600
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 0x1400d1603
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.1400cec00
mov edx, 0x25
mov rcx, rdi
call qword [sym.imp.VCRUNTIME140.dll_wcschr]
test rax, rax
je 0x1400d1668
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 0x1400d1ef3
mov esi, 0x2c
mov edx, esi
mov rcx, rdi
call qword [sym.imp.VCRUNTIME140.dll_wcschr]
test rax, rax
je 0x1400d168c
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.140081dc0
test rax, rax
je 0x1400d196a
mov r9, 0xffffffffffffffff
nop
inc r9
cmp word [rdi + r9*2], r13w
jne 0x1400d16c0
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.1400ea860
test eax, eax
js 0x1400d196a
movsxd rax, dword [rbp + 0x3b0]
lea rcx, [rdi + rax*2]
test rcx, rcx
je 0x1400d196a
mov qword [rbp + 0x480], 0x780030
mov edx, 0x3a
mov rcx, rdi
call qword [sym.imp.VCRUNTIME140.dll_wcschr]
test rax, rax
je 0x1400d1746
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 0x1400d1772
mov edx, 0x3a
mov rcx, rdi
call qword [sym.imp.VCRUNTIME140.dll_wcschr]
mov rsi, rax
sub rsi, rdi
sar rsi, 1
jmp 0x1400d178c
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp word [rdi + rax*2], r13w
jne 0x1400d1780
mov esi, eax
mov eax, esi
cdq
sub eax, edx
sar eax, 1
movsxd rbx, eax
lea rax, [rbx - 1]
cmp rax, 0xffff
ja 0x1400d195b
cmp qword [0x140129f28], r13
jne 0x1400d17c4
call fcn.1400cab90
mov qword [0x140129f28], rax
test rax, rax
je 0x1400d195b
mov rcx, qword [0x140129f20]
cmp rbx, qword [rcx + 0x10]
jbe 0x1400d17ea
call fcn.1400cab90
mov rcx, qword [0x140129f20]
mov qword [rcx + 0x18], rax
test rax, rax
je 0x1400d195b
mov r12, qword [rcx + 8]
mov qword [rsp + 0x60], r12
mov qword [0x140129f18], r12
mov rax, rbx
and eax, 7
mov rdx, rbx
je 0x1400d180c
sub rdx, rax
add rdx, 8
lea rax, [rdx + r12]
mov qword [rcx + 8], rax
sub qword [rcx + 0x10], rdx
test r12, r12
je 0x1400d195b
mov r9d, 0x40
mov r8d, 0x1000
mov rdx, rbx
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
test rax, rax
jne 0x1400d184d
mov r8, rdi
lea rdx, str.Could_not_commit_memory_for_DllImport.
jmp 0x1400d1ef3
mov ebx, r13d
test esi, esi
jle 0x1400d189d
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 0x1400d1860
mov esi, 0x2c
lea r12d, [rsi - 0x2b]
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp word [rdi + rax*2], r13w
jne 0x1400d18b0
inc rax
lea rbx, [rdi + rax*2]
mov rdx, 0xffffffffffffffff
mov rcx, rbx
call fcn.1400caa60
mov r14, rax
mov byte [rbp + 0x470], r13b
cmp word [rax], r13w
je 0x1400d18ef
mov rcx, rax
call fcn.14001de50
test eax, eax
jne 0x1400d18ef
mov r13d, r12d
cmp word [r14], 0
je 0x1400d19da
mov edx, esi
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_wcschr]
test rax, rax
je 0x1400d193a
nop word [rax + rax]
mov edx, esi
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_wcschr]
mov rbx, rax
test rax, rax
je 0x1400d1927
add rbx, 2
inc r13d
mov edx, esi
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_wcschr]
test rax, rax
jne 0x1400d1910
cmp word [r14], 0
je 0x1400d19da
cmp r13d, 1
jge 0x1400d19da
lea rdx, str.Parameter_3_required
jmp 0x1400d1ef0
mov r8, rdi
lea rdx, str.Out_of_memory.
jmp 0x1400d1ef3
mov rcx, rdi
call fcn.140005c40
mov qword [rsp + 0x60], rax
test rax, rax
jne 0x1400d18a6
mov edx, r14d
mov rcx, rdi
call qword [sym.imp.VCRUNTIME140.dll_wcsrchr]
mov rbx, rax
test rax, rax
je 0x1400d19b3
mov word [rax], r13w
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
jne 0x1400d19af
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov word [rbx], r14w
xor edx, edx
mov rcx, rdi
call fcn.14007c4a0
mov qword [rsp + 0x60], rax
test rax, rax
jne 0x1400d18a6
mov r8, rdi
lea rdx, str.Call_to_nonexistent_function.
jmp 0x1400d1ef3
mov r9, qword [0x140129f28]
test r9, r9
jne 0x1400d19fe
call fcn.1400cab90
mov r9, rax
mov qword [0x140129f28], rax
test rax, rax
je 0x1400d1c16
mov r8, qword [0x140129f20]
cmp qword [r8 + 0x10], 0x10
jae 0x1400d1a2c
call fcn.1400cab90
mov r8, qword [0x140129f20]
mov qword [r8 + 0x18], rax
test rax, rax
je 0x1400d1c16
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 0x1400d1c16
mov qword [r12], 0
mov qword [r12 + 8], 0
test r13b, 1
jne 0x1400d1a76
mov dword [r12 + 8], 2
xor r15d, r15d
jmp 0x1400d1b0e
movzx eax, word [rbx]
cmp ax, 0x20
je 0x1400d1a85
cmp ax, 9
jne 0x1400d1a8b
add rbx, 2
jmp 0x1400d1a76
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 0x1400d1ade
add rbx, 0xa
movzx eax, word [rbx]
cmp ax, 0x20
je 0x1400d1ac3
cmp ax, 9
jne 0x1400d1ac9
add rbx, 2
jmp 0x1400d1ab4
mov qword [rsp + 0x68], rbx
test ax, ax
jne 0x1400d1ade
mov dword [r12 + 8], 2
jmp 0x1400d1afd
mov rdx, r12
lea rcx, [rsp + 0x68]
call fcn.14007bd30
cmp dword [r12 + 8], r15d
je 0x1400d1ee2
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 0x1400d1c29
mov rbx, rdi
shl rbx, 4
lea rcx, [rbx - 1]
cmp rcx, 0xffff
ja 0x1400d1b8e
test r9, r9
jne 0x1400d1b53
call fcn.1400cab90
mov r9, rax
mov qword [0x140129f28], rax
mov r8, qword [0x140129f20]
test rax, rax
je 0x1400d1b8e
cmp rbx, qword [r8 + 0x10]
jbe 0x1400d1b75
call fcn.1400cab90
mov r8, qword [0x140129f20]
mov qword [r8 + 0x18], rax
mov r9, qword [0x140129f28]
test rax, rax
je 0x1400d1b8e
mov rsi, qword [r8 + 8]
mov qword [0x140129f18], rsi
lea rax, [rsi + rbx]
mov qword [r8 + 8], rax
sub qword [r8 + 0x10], rbx
jmp 0x1400d1b91
mov rsi, r15
mov qword [rsp + 0x40], rsi
mov rbx, rdi
shl rbx, 4
lea rax, [rbx - 1]
cmp rax, 0xffff
ja 0x1400d1c04
test r9, r9
jne 0x1400d1bc9
call fcn.1400cab90
mov r9, rax
mov qword [0x140129f28], rax
mov r8, qword [0x140129f20]
test rax, rax
je 0x1400d1c04
cmp rbx, qword [r8 + 0x10]
jbe 0x1400d1beb
call fcn.1400cab90
mov r8, qword [0x140129f20]
mov qword [r8 + 0x18], rax
mov r9, qword [0x140129f28]
test rax, rax
je 0x1400d1c04
mov rcx, qword [r8 + 8]
mov qword [0x140129f18], rcx
lea rax, [rcx + rbx]
mov qword [r8 + 8], rax
sub qword [r8 + 0x10], rbx
jmp 0x1400d1c07
mov rcx, r15
mov qword [rsp + 0x48], rcx
test rsi, rsi
je 0x1400d1c16
test rcx, rcx
jne 0x1400d1c33
lea r8, [0x1400ef7e4]
lea rdx, str.Out_of_memory.
jmp 0x1400d1ef3
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 0x1400d1c9f
test r9, r9
jne 0x1400d1c66
call fcn.1400cab90
mov qword [0x140129f28], rax
test rax, rax
je 0x1400d1c9f
mov r8, qword [0x140129f20]
cmp rbx, qword [r8 + 0x10]
jbe 0x1400d1c81
call fcn.1400cab90
mov r8, qword [0x140129f20]
mov qword [r8 + 0x18], rax
test rax, rax
je 0x1400d1c9f
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 0x1400d1ca7
mov rsi, r15
mov qword [rsp + 0x50], r15
test edi, edi
je 0x1400d1cc5
test rsi, rsi
je 0x1400d1c16
test edi, edi
je 0x1400d1cc5
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 0x1400d1e92
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.14007bd30
mov edx, dword [rsi + 8]
mov eax, edx
test edx, edx
je 0x1400d1ee2
sub eax, 1
je 0x1400d1db3
sub eax, 5
je 0x1400d1d90
sub eax, 1
je 0x1400d1d90
cmp eax, 1
je 0x1400d1d77
cmp byte [rsi + 0xd], 0
je 0x1400d1d67
cmp edx, 5
jne 0x1400d1d67
mov rcx, rdi
call fcn.140005c40
test rax, rax
jne 0x1400d1d67
mov rcx, rdi
call fcn.140061d00
mov qword [rsi], rax
jmp 0x1400d1e45
mov rcx, rdi
call fcn.140005c40
mov qword [rsi], rax
jmp 0x1400d1e45
mov rcx, rdi
call fcn.140005c40
test rax, rax
jne 0x1400d1ee2
mov qword [rsi], rdi
jmp 0x1400d1e45
mov rcx, rdi
call fcn.140031ea0
movsd qword [rsi], xmm0
cmp dword [rsi + 8], 6
jne 0x1400d1e45
cvtsd2ss xmm0, xmm0
movss dword [rsi], xmm0
jmp 0x1400d1e45
mov rcx, rdi
call fcn.140005c40
test rax, rax
jne 0x1400d1ee2
lea edx, [rax + 0x2c]
mov rcx, rdi
call qword [sym.imp.VCRUNTIME140.dll_wcschr]
mov r14, rax
test rax, rax
je 0x1400d1dde
xor eax, eax
mov word [r14], ax
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.1400ec0d4
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.1400caef0
nop
mov qword [r15], rbx
test r14, r14
je 0x1400d1e26
mov eax, 0x2c
mov word [r14], ax
mov rbx, qword [r15]
mov rcx, rbx
call fcn.14000ec60
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 0x1400d1e65
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 0x1400d1cf0
xor r15d, r15d
jmp 0x1400d1e99
mov rdi, qword [rbp + 0x470]
cmp byte [rbp + 0x470], 0
je 0x1400d1eab
test r13d, r13d
je 0x1400d1eab
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 0x1400d1eff
mov eax, 4
jmp 0x1400d1eff
lea rdx, str.Parameter_2_required
mov r8, r15
lea rcx, [0x14012afc0]
call fcn.14005fed0
mov rbx, qword [rsp + 0x578]
add rsp, 0x530
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret