Function at 0x1400e3510
Capabilities:
Allocate or change rwx memory

Disassembly:
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x3a8]
sub rsp, 0x4a8
mov qword [rsp + 0x78], 0xfffffffffffffffe
mov r12, rdx
mov rsi, rcx
nop
movzx eax, word [rsi]
cmp ax, 0x20
je 0x1400e354f
cmp ax, 9
jne 0x1400e3555
add rsi, 2
jmp 0x1400e3540
mov edi, 0x2c
mov edx, edi
call qword [sym.imp.MSVCR100.dll_wcschr]
mov rbx, rax
test rax, rax
je 0x1400e4fa0
cmp word [rax], 0
je 0x1400e4fa0
add rbx, 2
mov edx, edi
mov rcx, rsi
call qword [sym.imp.MSVCR100.dll_wcschr]
xor r15d, r15d
test rax, rax
je 0x1400e359e
mov edx, edi
mov rcx, rsi
call qword [sym.imp.MSVCR100.dll_wcschr]
mov word [rax], r15w
cmp word [rbx], r15w
je 0x1400e35e3
mov rdx, rbx
movzx eax, word [rdx]
cmp ax, 0x20
je 0x1400e35b6
cmp ax, 9
jne 0x1400e35bc
add rdx, 2
jmp 0x1400e35a7
mov rax, rdx
sub rax, rbx
sar rax, 1
je 0x1400e35e3
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx + rcx]
mov rcx, rbx
call qword [sym.imp.MSVCR100.dll_memmove]
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rsi
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea r9, [rbp + 0x3f0]
mov rdx, rsi
lea rcx, [0x140143150]
call fcn.14004af50
test rax, rax
je 0x1400e3620
mov r8, rsi
lea rdx, str.Duplicate_function_definition.
jmp 0x1400e4faa
or rcx, 0xffffffffffffffff
mov rdi, rsi
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
mov qword [rsp + 0x28], r15
mov eax, dword [rbp + 0x3f0]
mov dword [rsp + 0x20], eax
xor r9d, r9d
mov rdx, rsi
lea rcx, [0x140143150]
call fcn.14004c860
mov qword [rsp + 0x60], rax
test rax, rax
je 0x1400e4fb6
lea rcx, [0x14008cea0]
mov qword [rax + 0x10], rcx
mov byte [rax + 0x79], 1
mov dword [rax + 0x24], r15d
mov rax, rbx
sub rax, r12
sar rax, 1
mov edi, 0x4001
sub rdi, rax
mov qword [rsp + 0x58], rdi
lea rdx, str._A_ScriptDir_
mov rcx, rbx
call fcn.1400e0a80
mov edi, 1
mov dword [rbp + 0x408], edi
test rax, rax
je 0x1400e394f
mov rcx, qword [0x140143d00]
lea rdx, [rbp - 0x80]
sub rdx, rcx
nop word [rax + rax]
movzx eax, word [rcx]
mov word [rcx + rdx], ax
add rcx, 2
test ax, ax
jne 0x1400e36c0
mov esi, edi
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
dec rcx
mov r14, rcx
mov qword [rsp + 0x38], rcx
mov r13, r15
mov r12, r15
mov qword [rsp + 0x30], r15
cmp word [rbx], ax
je 0x1400e394a
or rcx, 0xffffffffffffffff
lea rdi, [rbp - 0x80]
repne scasw ax, word [rdi]
not rcx
lea r15, [rcx - 1]
add ecx, 0xfffffff2
mov dword [rbp + 0x3f0], ecx
mov rdi, qword [rsp + 0x58]
cmp rdi, 0xffffffffffffffff
je 0x1400e3743
mov eax, edi
sub eax, r14d
dec eax
jns 0x1400e3735
xor eax, eax
mov esi, eax
jmp 0x1400e3743
test ecx, ecx
jle 0x1400e3741
cdq
idiv ecx
cmp eax, esi
cmovb esi, eax
xor eax, eax
test ecx, ecx
je 0x1400e38d8
cmp r14, 0x1388
jb 0x1400e38d8
mov edi, eax
mov r14, rbx
test esi, esi
je 0x1400e3947
nop word [rax + rax]
lea rdx, str._A_ScriptDir_
mov rcx, r14
call fcn.1400e0a80
mov qword [rsp + 0x40], rax
test rax, rax
je 0x1400e384d
inc edi
mov dword [rbp + 0x400], edi
dec esi
mov rdi, rax
sub rdi, r14
sar rdi, 1
lea rcx, [rdi + r12]
mov qword [rsp + 0x48], rcx
add rcx, r15
cmp rcx, qword [rsp + 0x30]
jb 0x1400e3801
sub rax, rbx
sar rax, 1
movsxd rdx, eax
movsxd rax, ecx
movsxd r9, dword [rsp + 0x38]
movsxd rcx, dword [rbp + 0x3f0]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rax
mov r8d, esi
mov edx, dword [rbp + 0x400]
call fcn.1400e1330
mov qword [rsp + 0x30], rax
lea rdx, [rax + rax]
mov rcx, r13
call qword [sym.imp.MSVCR100.dll_realloc]
test rax, rax
je 0x1400e3886
mov r13, rax
test rdi, rdi
je 0x1400e381c
lea rcx, [r13 + r12*2]
lea r8, [rdi + rdi]
mov rdx, r14
call sub.MSVCR100.dll_memcpy
mov r12, qword [rsp + 0x48]
test r15, r15
je 0x1400e3836
lea rcx, [r13 + r12*2]
lea r8, [r15 + r15]
lea rdx, [rbp - 0x80]
call sub.MSVCR100.dll_memcpy
add r12, r15
mov r14, qword [rsp + 0x40]
add r14, 0x1a
test esi, esi
mov edi, dword [rbp + 0x400]
jne 0x1400e3770
test edi, edi
je 0x1400e3947
mov rax, r14
sub rax, rbx
sar rax, 1
mov rdi, qword [rsp + 0x38]
sub rdi, rax
je 0x1400e38b4
lea rsi, [rdi + r12]
cmp rsi, qword [rsp + 0x30]
jb 0x1400e38a0
lea rdx, [rsi + rsi + 2]
mov rcx, r13
call qword [sym.imp.MSVCR100.dll_realloc]
test rax, rax
jne 0x1400e389d
test r13, r13
je 0x1400e3947
mov rcx, r13
call qword [sym.imp.MSVCR100.dll_free]
jmp 0x1400e3947
mov r13, rax
lea rcx, [r13 + r12*2]
lea r8, [rdi + rdi]
mov rdx, r14
call sub.MSVCR100.dll_memcpy
mov r12, rsi
xor r15d, r15d
mov word [r13 + r12*2], r15w
lea r8, [r12 + r12 + 2]
mov rdx, r13
mov rcx, rbx
call sub.MSVCR100.dll_memcpy
mov rcx, r13
call qword [sym.imp.MSVCR100.dll_free]
jmp 0x1400e394a
mov r12, rbx
test esi, esi
je 0x1400e3947
nop
lea rdx, str._A_ScriptDir_
mov rcx, r12
call fcn.1400e0a80
mov rdi, rax
test rax, rax
je 0x1400e3947
lea r13, [r15 + r15]
lea r12, [r13 + rax]
cmp dword [rbp + 0x3f0], 0
je 0x1400e392a
mov rcx, rax
sub rcx, rbx
sar rcx, 1
mov r8, r14
sub r8, rcx
lea r8, [r8 + r8 - 0x18]
lea rdx, [rax + 0x1a]
mov rcx, r12
call qword [sym.imp.MSVCR100.dll_memmove]
mov r8, r13
lea rdx, [rbp - 0x80]
mov rcx, rdi
call sub.MSVCR100.dll_memcpy
movsxd rdx, dword [rbp + 0x3f0]
add r14, rdx
dec esi
jne 0x1400e38e0
xor r15d, r15d
mov edi, 1
lea rdx, str._A_AppData_
mov rcx, rbx
call fcn.1400e0a80
test rax, rax
je 0x1400e3be7
lea rdx, str.A_AppData
lea rcx, [rbp - 0x80]
call fcn.140088410
mov esi, edi
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
dec rcx
mov r14, rcx
mov qword [rsp + 0x38], rcx
mov r13, r15
mov r12, r15
mov qword [rsp + 0x30], r15
cmp word [rbx], ax
je 0x1400e3be7
or rcx, 0xffffffffffffffff
lea rdi, [rbp - 0x80]
repne scasw ax, word [rdi]
not rcx
lea r15, [rcx - 1]
add ecx, 0xfffffff4
mov dword [rbp + 0x3f0], ecx
mov rax, qword [rsp + 0x58]
cmp rax, 0xffffffffffffffff
je 0x1400e39e7
sub eax, r14d
dec eax
jns 0x1400e39da
xor eax, eax
mov esi, eax
jmp 0x1400e39e9
test ecx, ecx
jle 0x1400e39e7
cdq
idiv ecx
cmp eax, 1
cmovb esi, eax
xor eax, eax
test ecx, ecx
je 0x1400e3b77
cmp r14, 0x1388
jb 0x1400e3b77
mov edi, eax
mov r14, rbx
test esi, esi
je 0x1400e3be7
nop dword [rax + rax]
lea rdx, str._A_AppData_
mov rcx, r14
call fcn.1400e0a80
mov qword [rsp + 0x48], rax
test rax, rax
je 0x1400e3aed
inc edi
mov dword [rbp + 0x400], edi
dec esi
mov rdi, rax
sub rdi, r14
sar rdi, 1
lea rcx, [rdi + r12]
mov qword [rsp + 0x40], rcx
add rcx, r15
cmp rcx, qword [rsp + 0x30]
jb 0x1400e3aa1
sub rax, rbx
sar rax, 1
movsxd rdx, eax
movsxd rax, ecx
movsxd r9, dword [rsp + 0x38]
movsxd rcx, dword [rbp + 0x3f0]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rax
mov r8d, esi
mov edx, dword [rbp + 0x400]
call fcn.1400e1330
mov qword [rsp + 0x30], rax
lea rdx, [rax + rax]
mov rcx, r13
call qword [sym.imp.MSVCR100.dll_realloc]
test rax, rax
je 0x1400e3b26
mov r13, rax
test rdi, rdi
je 0x1400e3abc
lea rcx, [r13 + r12*2]
lea r8, [rdi + rdi]
mov rdx, r14
call sub.MSVCR100.dll_memcpy
mov r12, qword [rsp + 0x40]
test r15, r15
je 0x1400e3ad6
lea rcx, [r13 + r12*2]
lea r8, [r15 + r15]
lea rdx, [rbp - 0x80]
call sub.MSVCR100.dll_memcpy
add r12, r15
mov r14, qword [rsp + 0x48]
add r14, 0x16
test esi, esi
mov edi, dword [rbp + 0x400]
jne 0x1400e3a10
test edi, edi
je 0x1400e3be7
mov rax, r14
sub rax, rbx
sar rax, 1
mov rdi, qword [rsp + 0x38]
sub rdi, rax
je 0x1400e3b54
lea rsi, [rdi + r12]
cmp rsi, qword [rsp + 0x30]
jb 0x1400e3b40
lea rdx, [rsi + rsi + 2]
mov rcx, r13
call qword [sym.imp.MSVCR100.dll_realloc]
test rax, rax
jne 0x1400e3b3d
test r13, r13
je 0x1400e3be7
mov rcx, r13
call qword [sym.imp.MSVCR100.dll_free]
jmp 0x1400e3be7
mov r13, rax
lea rcx, [r13 + r12*2]
lea r8, [rdi + rdi]
mov rdx, r14
call sub.MSVCR100.dll_memcpy
mov r12, rsi
xor eax, eax
mov word [r13 + r12*2], ax
lea r8, [r12 + r12 + 2]
mov rdx, r13
mov rcx, rbx
call sub.MSVCR100.dll_memcpy
mov rcx, r13
call qword [sym.imp.MSVCR100.dll_free]
jmp 0x1400e3be7
mov r12, rbx
test esi, esi
je 0x1400e3be7
nop
lea rdx, str._A_AppData_
mov rcx, r12
call fcn.1400e0a80
mov rdi, rax
test rax, rax
je 0x1400e3be7
lea r13, [r15 + r15]
lea r12, [r13 + rax]
cmp dword [rbp + 0x3f0], 0
je 0x1400e3bca
mov rcx, rax
sub rcx, rbx
sar rcx, 1
mov r8, r14
sub r8, rcx
lea r8, [r8 + r8 - 0x14]
lea rdx, [rax + 0x16]
mov rcx, r12
call qword [sym.imp.MSVCR100.dll_memmove]
mov r8, r13
lea rdx, [rbp - 0x80]
mov rcx, rdi
call sub.MSVCR100.dll_memcpy
movsxd rdx, dword [rbp + 0x3f0]
add r14, rdx
dec esi
jne 0x1400e3b80
lea rdx, str._A_AppDataCommon_
mov rcx, rbx
call fcn.1400e0a80
test rax, rax
je 0x1400e3e87
lea rdx, str.A_AppDataCommon
lea rcx, [rbp - 0x80]
call fcn.140088410
mov esi, 1
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
dec rcx
mov r14, rcx
mov qword [rsp + 0x38], rcx
xor edx, edx
mov r13d, edx
mov r12d, edx
mov qword [rsp + 0x30], rdx
cmp word [rbx], ax
je 0x1400e3e87
or rcx, 0xffffffffffffffff
lea rdi, [rbp - 0x80]
repne scasw ax, word [rdi]
not rcx
lea r15, [rcx - 1]
add ecx, 0xffffffee
mov dword [rbp + 0x3f0], ecx
mov rax, qword [rsp + 0x58]
cmp rax, 0xffffffffffffffff
je 0x1400e3c83
sub eax, r14d
dec eax
jns 0x1400e3c75
mov esi, edx
jmp 0x1400e3c83
test ecx, ecx
jle 0x1400e3c85
cdq
idiv ecx
cmp eax, esi
cmovb esi, eax
xor edx, edx
test ecx, ecx
je 0x1400e3e17
cmp r14, 0x1388
jb 0x1400e3e17
mov edi, edx
mov r14, rbx
test esi, esi
je 0x1400e3e87
nop word [rax + rax]
lea rdx, str._A_AppDataCommon_
mov rcx, r14
call fcn.1400e0a80
mov qword [rsp + 0x48], rax
test rax, rax
je 0x1400e3d8d
inc edi
mov dword [rbp + 0x400], edi
dec esi
mov rdi, rax
sub rdi, r14
sar rdi, 1
lea rcx, [rdi + r12]
mov qword [rsp + 0x40], rcx
add rcx, r15
cmp rcx, qword [rsp + 0x30]
jb 0x1400e3d41
sub rax, rbx
sar rax, 1
movsxd rdx, eax
movsxd rax, ecx
movsxd r9, dword [rsp + 0x38]
movsxd rcx, dword [rbp + 0x3f0]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rax
mov r8d, esi
mov edx, dword [rbp + 0x400]
call fcn.1400e1330
mov qword [rsp + 0x30], rax
lea rdx, [rax + rax]
mov rcx, r13
call qword [sym.imp.MSVCR100.dll_realloc]
test rax, rax
je 0x1400e3dc6
mov r13, rax
test rdi, rdi
je 0x1400e3d5c
lea rcx, [r13 + r12*2]
lea r8, [rdi + rdi]
mov rdx, r14
call sub.MSVCR100.dll_memcpy
mov r12, qword [rsp + 0x40]
test r15, r15
je 0x1400e3d76
lea rcx, [r13 + r12*2]
lea r8, [r15 + r15]
lea rdx, [rbp - 0x80]
call sub.MSVCR100.dll_memcpy
add r12, r15
mov r14, qword [rsp + 0x48]
add r14, 0x22
test esi, esi
mov edi, dword [rbp + 0x400]
jne 0x1400e3cb0
test edi, edi
je 0x1400e3e87
mov rax, r14
sub rax, rbx
sar rax, 1
mov rdi, qword [rsp + 0x38]
sub rdi, rax
je 0x1400e3df4
lea rsi, [rdi + r12]
cmp rsi, qword [rsp + 0x30]
jb 0x1400e3de0
lea rdx, [rsi + rsi + 2]
mov rcx, r13
call qword [sym.imp.MSVCR100.dll_realloc]
test rax, rax
jne 0x1400e3ddd
test r13, r13
je 0x1400e3e87
mov rcx, r13
call qword [sym.imp.MSVCR100.dll_free]
jmp 0x1400e3e87
mov r13, rax
lea rcx, [r13 + r12*2]
lea r8, [rdi + rdi]
mov rdx, r14
call sub.MSVCR100.dll_memcpy
mov r12, rsi
xor eax, eax
mov word [r13 + r12*2], ax
lea r8, [r12 + r12 + 2]
mov rdx, r13
mov rcx, rbx
call sub.MSVCR100.dll_memcpy
mov rcx, r13
call qword [sym.imp.MSVCR100.dll_free]
jmp 0x1400e3e87
mov r12, rbx
test esi, esi
je 0x1400e3e87
nop
lea rdx, str._A_AppDataCommon_
mov rcx, r12
call fcn.1400e0a80
mov rdi, rax
test rax, rax
je 0x1400e3e87
lea r13, [r15 + r15]
lea r12, [r13 + rax]
cmp dword [rbp + 0x3f0], 0
je 0x1400e3e6a
mov rcx, rax
sub rcx, rbx
sar rcx, 1
mov r8, r14
sub r8, rcx
lea r8, [r8 + r8 - 0x20]
lea rdx, [rax + 0x22]
mov rcx, r12
call qword [sym.imp.MSVCR100.dll_memmove]
mov r8, r13
lea rdx, [rbp - 0x80]
mov rcx, rdi
call sub.MSVCR100.dll_memcpy
movsxd rdx, dword [rbp + 0x3f0]
add r14, rdx
dec esi
jne 0x1400e3e20
lea rdx, str._A_AhkPath_
mov rcx, rbx
call fcn.1400e0a80
test rax, rax
je 0x1400e4147
mov r8d, 0x104
lea rdx, [rbp + 0x190]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
xor r8d, r8d
mov edx, r8d
nop word [rax + rax]
movzx eax, word [rbp + rdx + 0x190]
mov word [rbp + rdx - 0x80], ax
add rdx, 2
test ax, ax
jne 0x1400e3ec0
mov esi, 1
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
dec rcx
mov r14, rcx
mov qword [rsp + 0x38], rcx
mov r13, r8
mov r12, r8
mov qword [rsp + 0x30], r8
cmp word [rbx], ax
je 0x1400e4147
or rcx, 0xffffffffffffffff
lea rdi, [rbp - 0x80]
repne scasw ax, word [rdi]
not rcx
lea r15, [rcx - 1]
add ecx, 0xfffffff4
mov dword [rbp + 0x3f0], ecx
mov rax, qword [rsp + 0x58]
cmp rax, 0xffffffffffffffff
je 0x1400e3f47
sub eax, r14d
dec eax
jns 0x1400e3f3b
mov esi, r8d
jmp 0x1400e3f47
test ecx, ecx
jle 0x1400e3f49
cdq
idiv ecx
cmp eax, esi
cmovb esi, eax
test ecx, ecx
je 0x1400e40d7
cmp r14, 0x1388
jb 0x1400e40d7
mov edi, r8d
mov r14, rbx
test esi, esi
je 0x1400e4147
nop word [rax + rax]
lea rdx, str._A_AhkPath_
mov rcx, r14
call fcn.1400e0a80
mov qword [rsp + 0x48], rax
test rax, rax
je 0x1400e404d
inc edi
mov dword [rbp + 0x400], edi
dec esi
mov rdi, rax
sub rdi, r14
sar rdi, 1
lea rcx, [rdi + r12]
mov qword [rsp + 0x40], rcx
add rcx, r15
cmp rcx, qword [rsp + 0x30]
jb 0x1400e4001
sub rax, rbx
sar rax, 1
movsxd rdx, eax
movsxd rax, ecx
movsxd r9, dword [rsp + 0x38]
movsxd rcx, dword [rbp + 0x3f0]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rax
mov r8d, esi
mov edx, dword [rbp + 0x400]
call fcn.1400e1330
mov qword [rsp + 0x30], rax
lea rdx, [rax + rax]
mov rcx, r13
call qword [sym.imp.MSVCR100.dll_realloc]
test rax, rax
je 0x1400e4086
mov r13, rax
test rdi, rdi
je 0x1400e401c
lea rcx, [r13 + r12*2]
lea r8, [rdi + rdi]
mov rdx, r14
call sub.MSVCR100.dll_memcpy
mov r12, qword [rsp + 0x40]
test r15, r15
je 0x1400e4036
lea rcx, [r13 + r12*2]
lea r8, [r15 + r15]
lea rdx, [rbp - 0x80]
call sub.MSVCR100.dll_memcpy
add r12, r15
mov r14, qword [rsp + 0x48]
add r14, 0x16
test esi, esi
mov edi, dword [rbp + 0x400]
jne 0x1400e3f70
test edi, edi
je 0x1400e4147
mov rax, r14
sub rax, rbx
sar rax, 1
mov rdi, qword [rsp + 0x38]
sub rdi, rax
je 0x1400e40b4
lea rsi, [rdi + r12]
cmp rsi, qword [rsp + 0x30]
jb 0x1400e40a0
lea rdx, [rsi + rsi + 2]
mov rcx, r13
call qword [sym.imp.MSVCR100.dll_realloc]
test rax, rax
jne 0x1400e409d
test r13, r13
je 0x1400e4147
mov rcx, r13
call qword [sym.imp.MSVCR100.dll_free]
jmp 0x1400e4147
mov r13, rax
lea rcx, [r13 + r12*2]
lea r8, [rdi + rdi]
mov rdx, r14
call sub.MSVCR100.dll_memcpy
mov r12, rsi
xor eax, eax
mov word [r13 + r12*2], ax
lea r8, [r12 + r12 + 2]
mov rdx, r13
mov rcx, rbx
call sub.MSVCR100.dll_memcpy
mov rcx, r13
call qword [sym.imp.MSVCR100.dll_free]
jmp 0x1400e4147
mov r12, rbx
test esi, esi
je 0x1400e4147
nop
lea rdx, str._A_AhkPath_
mov rcx, r12
call fcn.1400e0a80
mov rdi, rax
test rax, rax
je 0x1400e4147
lea r13, [r15 + r15]
lea r12, [r13 + rax]
cmp dword [rbp + 0x3f0], 0
je 0x1400e412a
mov rcx, rax
sub rcx, rbx
sar rcx, 1
mov r8, r14
sub r8, rcx
lea r8, [r8 + r8 - 0x14]
lea rdx, [rax + 0x16]
mov rcx, r12
call qword [sym.imp.MSVCR100.dll_memmove]
mov r8, r13
lea rdx, [rbp - 0x80]
mov rcx, rdi
call sub.MSVCR100.dll_memcpy
movsxd rdx, dword [rbp + 0x3f0]
add r14, rdx
dec esi
jne 0x1400e40e0
lea rdx, str._A_AhkDir_
mov rcx, rbx
call fcn.1400e0a80
mov edi, 0x5c
test rax, rax
je 0x1400e4427
mov r8d, 0x104
lea rdx, [rbp + 0x190]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov edx, edi
lea rcx, [rbp + 0x190]
call qword [sym.imp.MSVCR100.dll_wcsrchr]
mov rdi, rax
lea rax, [rbp + 0x190]
sub rdi, rax
sar rdi, 1
mov r8, rdi
lea rdx, [rbp + 0x190]
lea rcx, [rbp - 0x80]
call qword [sym.imp.MSVCR100.dll_wcsncpy]
xor edx, edx
mov word [rbp + rdi*2 - 0x80], dx
lea esi, [rdx + 1]
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
dec rcx
mov r14, rcx
mov qword [rsp + 0x38], rcx
mov r13d, edx
mov r12d, edx
mov qword [rsp + 0x30], rdx
cmp word [rbx], ax
je 0x1400e4427
or rcx, 0xffffffffffffffff
lea rdi, [rbp - 0x80]
repne scasw ax, word [rdi]
not rcx
lea r15, [rcx - 1]
add ecx, 0xfffffff5
mov dword [rbp + 0x3f0], ecx
mov rax, qword [rsp + 0x58]
cmp rax, 0xffffffffffffffff
je 0x1400e4223
sub eax, r14d
dec eax
jns 0x1400e4215
mov esi, edx
jmp 0x1400e4223
test ecx, ecx
jle 0x1400e4225
cdq
idiv ecx
cmp eax, esi
cmovb esi, eax
xor edx, edx
test ecx, ecx
je 0x1400e43b7
cmp r14, 0x1388
jb 0x1400e43b7
mov edi, edx
mov r14, rbx
test esi, esi
je 0x1400e4427
nop word [rax + rax]
lea rdx, str._A_AhkDir_
mov rcx, r14
call fcn.1400e0a80
mov qword [rsp + 0x48], rax
test rax, rax
je 0x1400e432d
inc edi
mov dword [rbp + 0x400], edi
dec esi
mov rdi, rax
sub rdi, r14
sar rdi, 1
lea rcx, [rdi + r12]
mov qword [rsp + 0x40], rcx
add rcx, r15
cmp rcx, qword [rsp + 0x30]
jb 0x1400e42e1
sub rax, rbx
sar rax, 1
movsxd rdx, eax
movsxd rax, ecx
movsxd r9, dword [rsp + 0x38]
movsxd rcx, dword [rbp + 0x3f0]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rax
mov r8d, esi
mov edx, dword [rbp + 0x400]
call fcn.1400e1330
mov qword [rsp + 0x30], rax
lea rdx, [rax + rax]
mov rcx, r13
call qword [sym.imp.MSVCR100.dll_realloc]
test rax, rax
je 0x1400e4366
mov r13, rax
test rdi, rdi
je 0x1400e42fc
lea rcx, [r13 + r12*2]
lea r8, [rdi + rdi]
mov rdx, r14
call sub.MSVCR100.dll_memcpy
mov r12, qword [rsp + 0x40]
test r15, r15
je 0x1400e4316
lea rcx, [r13 + r12*2]
lea r8, [r15 + r15]
lea rdx, [rbp - 0x80]
call sub.MSVCR100.dll_memcpy
add r12, r15
mov r14, qword [rsp + 0x48]
add r14, 0x14
test esi, esi
mov edi, dword [rbp + 0x400]
jne 0x1400e4250
test edi, edi
je 0x1400e4427
mov rax, r14
sub rax, rbx
sar rax, 1
mov rdi, qword [rsp + 0x38]
sub rdi, rax
je 0x1400e4394
lea rsi, [rdi + r12]
cmp rsi, qword [rsp + 0x30]
jb 0x1400e4380
lea rdx, [rsi + rsi + 2]
mov rcx, r13
call qword [sym.imp.MSVCR100.dll_realloc]
test rax, rax
jne 0x1400e437d
test r13, r13
je 0x1400e4427
mov rcx, r13
call qword [sym.imp.MSVCR100.dll_free]
jmp 0x1400e4427
mov r13, rax
lea rcx, [r13 + r12*2]
lea r8, [rdi + rdi]
mov rdx, r14
call sub.MSVCR100.dll_memcpy
mov r12, rsi
xor eax, eax
mov word [r13 + r12*2], ax
lea r8, [r12 + r12 + 2]
mov rdx, r13
mov rcx, rbx
call sub.MSVCR100.dll_memcpy
mov rcx, r13
call qword [sym.imp.MSVCR100.dll_free]
jmp 0x1400e4427
mov r12, rbx
test esi, esi
je 0x1400e4427
nop
lea rdx, str._A_AhkDir_
mov rcx, r12
call fcn.1400e0a80
mov rdi, rax
test rax, rax
je 0x1400e4427
lea r13, [r15 + r15]
lea r12, [r13 + rax]
cmp dword [rbp + 0x3f0], 0
je 0x1400e440a
mov rcx, rax
sub rcx, rbx
sar rcx, 1
mov r8, r14
sub r8, rcx
lea r8, [r8 + r8 - 0x12]
lea rdx, [rax + 0x14]
mov rcx, r12
call qword [sym.imp.MSVCR100.dll_memmove]
mov r8, r13
lea rdx, [rbp - 0x80]
mov rcx, rdi
call sub.MSVCR100.dll_memcpy
movsxd rdx, dword [rbp + 0x3f0]
add r14, rdx
dec esi
jne 0x1400e43c0
lea rdx, str._A_DllDir_
mov rcx, rbx
call fcn.1400e0a80
test rax, rax
je 0x1400e46c7
lea rdx, str.A_DllDir
lea rcx, [rbp - 0x80]
call fcn.140087f70
mov esi, 1
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
dec rcx
mov r14, rcx
mov qword [rsp + 0x38], rcx
xor edx, edx
mov r13d, edx
mov r12d, edx
mov qword [rsp + 0x30], rdx
cmp word [rbx], ax
je 0x1400e46c7
or rcx, 0xffffffffffffffff
lea rdi, [rbp - 0x80]
repne scasw ax, word [rdi]
not rcx
lea r15, [rcx - 1]
add ecx, 0xfffffff5
mov dword [rbp + 0x3f0], ecx
mov rax, qword [rsp + 0x58]
cmp rax, 0xffffffffffffffff
je 0x1400e44c3
sub eax, r14d
dec eax
jns 0x1400e44b5
mov esi, edx
jmp 0x1400e44c3
test ecx, ecx
jle 0x1400e44c5
cdq
idiv ecx
cmp eax, esi
cmovb esi, eax
xor edx, edx
test ecx, ecx
je 0x1400e4657
cmp r14, 0x1388
jb 0x1400e4657
mov edi, edx
mov r14, rbx
test esi, esi
je 0x1400e46c7
nop word [rax + rax]
lea rdx, str._A_DllDir_
mov rcx, r14
call fcn.1400e0a80
mov qword [rsp + 0x48], rax
test rax, rax
je 0x1400e45cd
inc edi
mov dword [rbp + 0x400], edi
dec esi
mov rdi, rax
sub rdi, r14
sar rdi, 1
lea rcx, [rdi + r12]
mov qword [rsp + 0x40], rcx
add rcx, r15
cmp rcx, qword [rsp + 0x30]
jb 0x1400e4581
sub rax, rbx
sar rax, 1
movsxd rdx, eax
movsxd rax, ecx
movsxd r9, dword [rsp + 0x38]
movsxd rcx, dword [rbp + 0x3f0]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rax
mov r8d, esi
mov edx, dword [rbp + 0x400]
call fcn.1400e1330
mov qword [rsp + 0x30], rax
lea rdx, [rax + rax]
mov rcx, r13
call qword [sym.imp.MSVCR100.dll_realloc]
test rax, rax
je 0x1400e4606
mov r13, rax
test rdi, rdi
je 0x1400e459c
lea rcx, [r13 + r12*2]
lea r8, [rdi + rdi]
mov rdx, r14
call sub.MSVCR100.dll_memcpy
mov r12, qword [rsp + 0x40]
test r15, r15
je 0x1400e45b6
lea rcx, [r13 + r12*2]
lea r8, [r15 + r15]
lea rdx, [rbp - 0x80]
call sub.MSVCR100.dll_memcpy
add r12, r15
mov r14, qword [rsp + 0x48]
add r14, 0x14
test esi, esi
mov edi, dword [rbp + 0x400]
jne 0x1400e44f0
test edi, edi
je 0x1400e46c7
mov rax, r14
sub rax, rbx
sar rax, 1
mov rdi, qword [rsp + 0x38]
sub rdi, rax
je 0x1400e4634
lea rsi, [rdi + r12]
cmp rsi, qword [rsp + 0x30]
jb 0x1400e4620
lea rdx, [rsi + rsi + 2]
mov rcx, r13
call qword [sym.imp.MSVCR100.dll_realloc]
test rax, rax
jne 0x1400e461d
test r13, r13
je 0x1400e46c7
mov rcx, r13
call qword [sym.imp.MSVCR100.dll_free]
jmp 0x1400e46c7
mov r13, rax
lea rcx, [r13 + r12*2]
lea r8, [rdi + rdi]
mov rdx, r14
call sub.MSVCR100.dll_memcpy
mov r12, rsi
xor eax, eax
mov word [r13 + r12*2], ax
lea r8, [r12 + r12 + 2]
mov rdx, r13
mov rcx, rbx
call sub.MSVCR100.dll_memcpy
mov rcx, r13
call qword [sym.imp.MSVCR100.dll_free]
jmp 0x1400e46c7
mov r12, rbx
test esi, esi
je 0x1400e46c7
nop
lea rdx, str._A_DllDir_
mov rcx, r12
call fcn.1400e0a80
mov rdi, rax
test rax, rax
je 0x1400e46c7
lea r13, [r15 + r15]
lea r12, [r13 + rax]
cmp dword [rbp + 0x3f0], 0
je 0x1400e46aa
mov rcx, rax
sub rcx, rbx
sar rcx, 1
mov r8, r14
sub r8, rcx
lea r8, [r8 + r8 - 0x12]
lea rdx, [rax + 0x14]
mov rcx, r12
call qword [sym.imp.MSVCR100.dll_memmove]
mov r8, r13
lea rdx, [rbp - 0x80]
mov rcx, rdi
call sub.MSVCR100.dll_memcpy
movsxd rdx, dword [rbp + 0x3f0]
add r14, rdx
dec esi
jne 0x1400e4660
lea rdx, str._A_DllPath_
mov rcx, rbx
call fcn.1400e0a80
test rax, rax
je 0x1400e49a7
mov r8d, 0x104
lea rdx, [rbp + 0x190]
mov rcx, qword [0x14013f6e0]
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
jne 0x1400e4712
mov r8d, 0x104
lea rdx, [rbp + 0x190]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
xor edx, edx
mov ecx, edx
nop word [rax + rax]
movzx eax, word [rbp + rcx + 0x190]
mov word [rbp + rcx - 0x80], ax
add rcx, 2
test ax, ax
jne 0x1400e4720
mov esi, 1
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
dec rcx
mov r14, rcx
mov qword [rsp + 0x38], rcx
mov r13, rdx
mov r12, rdx
mov qword [rsp + 0x30], rdx
cmp word [rbx], ax
je 0x1400e49a7
or rcx, 0xffffffffffffffff
lea rdi, [rbp - 0x80]
repne scasw ax, word [rdi]
not rcx
lea r15, [rcx - 1]
add ecx, 0xfffffff4
mov dword [rbp + 0x3f0], ecx
mov rax, qword [rsp + 0x58]
cmp rax, 0xffffffffffffffff
je 0x1400e47a8
sub eax, r14d
dec eax
jns 0x1400e479a
mov esi, edx
jmp 0x1400e47a8
test ecx, ecx
jle 0x1400e47aa
cdq
idiv ecx
cmp eax, esi
cmovb esi, eax
xor edx, edx
test ecx, ecx
je 0x1400e4938
cmp r14, 0x1388
jb 0x1400e4938
mov edi, edx
mov r14, rbx
test esi, esi
je 0x1400e49a7
nop word [rax + rax]
lea rdx, str._A_DllPath_
mov rcx, r14
call fcn.1400e0a80
mov qword [rsp + 0x48], rax
test rax, rax
je 0x1400e48ad
inc edi
mov dword [rbp + 0x400], edi
dec esi
mov rdi, rax
sub rdi, r14
sar rdi, 1
lea rcx, [rdi + r12]
mov qword [rsp + 0x40], rcx
add rcx, r15
cmp rcx, qword [rsp + 0x30]
jb 0x1400e4861
sub rax, rbx
sar rax, 1
movsxd rdx, eax
movsxd rax, ecx
movsxd r9, dword [rsp + 0x38]
movsxd rcx, dword [rbp + 0x3f0]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rax
mov r8d, esi
mov edx, dword [rbp + 0x400]
call fcn.1400e1330
mov qword [rsp + 0x30], rax
lea rdx, [rax + rax]
mov rcx, r13
call qword [sym.imp.MSVCR100.dll_realloc]
test rax, rax
je 0x1400e48e6
mov r13, rax
test rdi, rdi
je 0x1400e487c
lea rcx, [r13 + r12*2]
lea r8, [rdi + rdi]
mov rdx, r14
call sub.MSVCR100.dll_memcpy
mov r12, qword [rsp + 0x40]
test r15, r15
je 0x1400e4896
lea rcx, [r13 + r12*2]
lea r8, [r15 + r15]
lea rdx, [rbp - 0x80]
call sub.MSVCR100.dll_memcpy
add r12, r15
mov r14, qword [rsp + 0x48]
add r14, 0x16
test esi, esi
mov edi, dword [rbp + 0x400]
jne 0x1400e47d0
test edi, edi
je 0x1400e49a7
mov rax, r14
sub rax, rbx
sar rax, 1
mov rdi, qword [rsp + 0x38]
sub rdi, rax
je 0x1400e4914
lea rsi, [rdi + r12]
cmp rsi, qword [rsp + 0x30]
jb 0x1400e4900
lea rdx, [rsi + rsi + 2]
mov rcx, r13
call qword [sym.imp.MSVCR100.dll_realloc]
test rax, rax
jne 0x1400e48fd
test r13, r13
je 0x1400e49a7
mov rcx, r13
call qword [sym.imp.MSVCR100.dll_free]
jmp 0x1400e49a7
mov r13, rax
lea rcx, [r13 + r12*2]
lea r8, [rdi + rdi]
mov rdx, r14
call sub.MSVCR100.dll_memcpy
mov r12, rsi
xor r14d, r14d
mov word [r13 + r12*2], r14w
lea r8, [r12 + r12 + 2]
mov rdx, r13
mov rcx, rbx
call sub.MSVCR100.dll_memcpy
mov rcx, r13
call qword [sym.imp.MSVCR100.dll_free]
jmp 0x1400e49aa
mov r12, rbx
test esi, esi
je 0x1400e49a7
nop
lea rdx, str._A_DllPath_
mov rcx, r12
call fcn.1400e0a80
mov rdi, rax
test rax, rax
je 0x1400e49a7
lea r13, [r15 + r15]
lea r12, [r13 + rax]
cmp dword [rbp + 0x3f0], 0
je 0x1400e498a
mov rcx, rax
sub rcx, rbx
sar rcx, 1
mov r8, r14
sub r8, rcx
lea r8, [r8 + r8 - 0x14]
lea rdx, [rax + 0x16]
mov rcx, r12
call qword [sym.imp.MSVCR100.dll_memmove]
mov r8, r13
lea rdx, [rbp - 0x80]
mov rcx, rdi
call sub.MSVCR100.dll_memcpy
movsxd rdx, dword [rbp + 0x3f0]
add r14, rdx
dec esi
jne 0x1400e4940
xor r14d, r14d
mov edx, 0x25
mov rcx, rbx
call qword [sym.imp.MSVCR100.dll_wcschr]
test rax, rax
je 0x1400e49cc
mov r8, rbx
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 0x1400e4faa
mov r15d, 0x2c
mov edx, r15d
mov rcx, rbx
call qword [sym.imp.MSVCR100.dll_wcschr]
test rax, rax
je 0x1400e49f3
mov edx, r15d
mov rcx, rbx
call qword [sym.imp.MSVCR100.dll_wcschr]
mov word [rax], r14w
lea rdx, str._s_A_Fa_f0_9__:_A_Fa_f0_9____s_
mov rcx, rbx
call fcn.140090ac0
mov rcx, rbx
test rax, rax
je 0x1400e4b2e
mov eax, gethostbyaddr
mov word [rbp + 0x400], ax
mov eax, 0x78
mov word [rbp + 0x402], ax
xor eax, eax
mov dword [rbp + 0x404], eax
lea edx, [rax + 0x3a]
call qword [sym.imp.MSVCR100.dll_wcschr]
test rax, rax
je 0x1400e4a4e
mov edx, 0x3a
mov rcx, rbx
call qword [sym.imp.MSVCR100.dll_wcschr]
lea rbx, [rax + 2]
mov edx, 0x3a
mov rcx, rbx
call qword [sym.imp.MSVCR100.dll_wcschr]
test rax, rax
je 0x1400e4a7a
mov edx, 0x3a
mov rcx, rbx
call qword [sym.imp.MSVCR100.dll_wcschr]
mov rsi, rax
sub rsi, rbx
sar rsi, 1
jmp 0x1400e4a8a
or rcx, 0xffffffffffffffff
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
lea esi, [rcx - 1]
mov eax, esi
cdq
sub eax, edx
sar eax, 1
movsxd rdi, eax
mov rcx, rdi
call fcn.1400dd290
mov r13, rax
mov qword [rsp + 0x30], rax
test rax, rax
jne 0x1400e4ab8
mov r8, rbx
lea rdx, str.Out_of_memory.
jmp 0x1400e4faa
mov r9d, 0x40
mov r8d, 0x1000
mov rdx, rdi
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
test rax, rax
jne 0x1400e4ae4
mov r8, rbx
lea rdx, str.Could_not_commit_memory_for_DllImport.
jmp 0x1400e4faa
mov edi, r14d
test esi, esi
jle 0x1400e4b3b
mov r12, rbx
nop
mov r8d, 2
mov rdx, r12
lea rcx, [rbp + 0x404]
call qword [sym.imp.MSVCR100.dll_wcsncpy]
xor edx, edx
lea r8d, [rdx + 0x10]
lea rcx, [rbp + 0x400]
call qword [sym.imp.MSVCR100.dll_wcstol]
mov ecx, edi
shr ecx, 1
mov byte [rcx + r13], al
add edi, 2
add r12, 4
cmp edi, esi
jl 0x1400e4af0
jmp 0x1400e4b3b
call fcn.1400050b0
mov r13, rax
mov qword [rsp + 0x30], rax
test r13, r13
jne 0x1400e4b99
mov esi, 0x5c
mov edx, esi
mov rcx, rbx
call qword [sym.imp.MSVCR100.dll_wcsrchr]
mov rdi, rax
test rax, rax
je 0x1400e4b76
mov word [rax], r14w
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
jne 0x1400e4b73
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov word [rdi], si
xor edx, edx
mov rcx, rbx
call fcn.14008aea0
mov qword [rsp + 0x30], rax
test rax, rax
jne 0x1400e4b99
mov r8, rbx
lea rdx, str.Call_to_nonexistent_function.
jmp 0x1400e4faa
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
lea rdi, [rbx + rcx*2]
or rdx, 0xffffffffffffffff
mov rcx, rdi
call fcn.1400dd1d0
mov r12, rax
mov byte [rbp + 0x3f0], 0
cmp word [rax], 0
je 0x1400e4bda
mov rcx, rax
call fcn.14001db30
test eax, eax
mov r13d, 1
je 0x1400e4bdd
mov r13d, r14d
cmp word [r12], 0
je 0x1400e4c4d
mov edx, r15d
mov rcx, rdi
call qword [sym.imp.MSVCR100.dll_wcschr]
test rax, rax
je 0x1400e4c2c
nop word [rax + rax]
mov edx, r15d
mov rcx, rdi
call qword [sym.imp.MSVCR100.dll_wcschr]
mov rdi, rax
test rax, rax
je 0x1400e4c18
add rdi, 2
inc r13d
mov edx, r15d
mov rcx, rdi
call qword [sym.imp.MSVCR100.dll_wcschr]
test rax, rax
jne 0x1400e4c00
cmp word [r12], 0
je 0x1400e4c4d
cmp r13d, 1
jge 0x1400e4c4d
mov r8, qword [rbp + 0x3f8]
lea rdx, str.Parameter_3_required
jmp 0x1400e4faa
mov ecx, reloc.WSOCK32.dll_recv
call fcn.1400dd290
mov rsi, rax
mov qword [rsp + 0x40], rax
test rax, rax
je 0x1400e4d5d
mov qword [rax], r14
mov qword [rax + 8], r14
mov eax, r13d
and eax, 0x80000001
jge 0x1400e4c80
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
jne 0x1400e4c90
mov dword [rsi + 8], 2
jmp 0x1400e4d20
movzx eax, word [rdi]
cmp ax, 0x20
je 0x1400e4c9f
cmp ax, 9
jne 0x1400e4ca5
add rdi, 2
jmp 0x1400e4c90
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x50], r14
mov r8d, 5
lea rdx, str.CDecl
mov rcx, rdi
call qword [sym.imp.MSVCR100.dll__wcsnicmp]
test eax, eax
jne 0x1400e4cf9
add rdi, 0xa
nop dword [rax]
movzx eax, word [rdi]
cmp ax, 0x20
je 0x1400e4cdf
cmp ax, 9
jne 0x1400e4ce5
add rdi, 2
jmp 0x1400e4cd0
mov qword [rsp + 0x48], rdi
cmp word [rdi], 0
jne 0x1400e4cf9
mov dword [rsi + 8], 2
jmp 0x1400e4d1d
mov rdx, rsi
lea rcx, [rsp + 0x48]
call fcn.14008a790
cmp dword [rsi + 8], 0
jne 0x1400e4d16
mov eax, 4
jmp 0x1400e4fb6
mov byte [rbp + 0x3f0], 1
dec r13d
mov eax, r13d
cdq
sub eax, edx
sar eax, 1
movsxd rbx, eax
je 0x1400e4d70
mov rdi, rbx
shl rdi, 4
mov rcx, rdi
call fcn.1400dd290
mov r15, rax
mov qword [rbp + 0x400], rax
mov rcx, rdi
call fcn.1400dd290
mov qword [rsp + 0x38], rax
test r15, r15
je 0x1400e4d5d
test rax, rax
jne 0x1400e4d7c
lea r8, [0x1401035ac]
lea rdx, str.Out_of_memory.
jmp 0x1400e4faa
mov qword [rbp + 0x400], r14
mov qword [rsp + 0x38], r14
lea edi, [rbx*8]
movsxd rbx, edi
mov rcx, rbx
call fcn.1400dd290
mov r14, rax
mov qword [rsp + 0x48], rax
test edi, edi
je 0x1400e4db0
test rax, rax
je 0x1400e4d5d
test edi, edi
je 0x1400e4db0
mov r8, rbx
xor edx, edx
mov rcx, rax
call sub.MSVCR100.dll_memset
xor edi, edi
mov r15d, edi
cmp r13d, 1
jle 0x1400e4f53
mov qword [rsp + 0x70], rdi
mov rsi, qword [rbp + 0x400]
nop dword [rax + rax]
mov edx, 0x2c
mov rcx, r12
call qword [sym.imp.MSVCR100.dll_wcschr]
mov word [rax], di
lea rbx, [rax + 2]
mov qword [rsp + 0x68], r12
mov rdx, rsi
lea rcx, [rsp + 0x68]
call fcn.14008a790
mov eax, dword [rsi + 8]
test eax, eax
je 0x1400e4d0c
cmp eax, 1
je 0x1400e4e8b
cmp eax, 5
jle 0x1400e4e56
cmp eax, 7
jle 0x1400e4e33
cmp eax, 8
jne 0x1400e4e56
mov rcx, rbx
call fcn.1400050b0
test rax, rax
jne 0x1400e4d0c
mov qword [rsi], rbx
jmp 0x1400e4f07
mov rcx, rbx
call fcn.14002f9a0
movsd qword [rsi], xmm0
cmp dword [rsi + 8], 6
jne 0x1400e4f07
cvtsd2ss xmm0, xmm0
movss dword [rsi], xmm0
jmp 0x1400e4f07
cmp byte [rsi + 0xd], 0
je 0x1400e4e7e
cmp eax, 5
jne 0x1400e4e7e
mov rcx, rbx
call fcn.1400050b0
test rax, rax
jne 0x1400e4e7e
mov rcx, rbx
call fcn.140061550
mov qword [rsi], rax
jmp 0x1400e4f07
mov rcx, rbx
call fcn.1400050b0
mov qword [rsi], rax
jmp 0x1400e4f07
mov rcx, rbx
call fcn.1400050b0
test rax, rax
jne 0x1400e4d0c
lea edx, [rax + 0x2c]
mov rcx, rbx
call qword [sym.imp.MSVCR100.dll_wcschr]
mov rdi, rax
xor r12d, r12d
test rax, rax
je 0x1400e4eb7
mov word [rax], r12w
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call qword [sym.imp.MSVCR100.dll_void____ptr64___cdecl_operator_new_unsigned_long_long_unsigned___int64__]
mov qword [rsp + 0x58], rax
test rax, rax
je 0x1400e4ed9
mov rdx, rbx
mov rcx, rax
call fcn.14009f9d0
jmp 0x1400e4edc
mov rax, r12
mov qword [r14], rax
test rdi, rdi
je 0x1400e4eec
mov eax, 0x2c
mov word [rdi], ax
mov rdi, qword [r14]
mov rcx, rdi
call fcn.14000eb50
mov byte [rdi + 0x10], 1
mov rax, qword [rdi + 8]
mov rcx, qword [rax]
mov qword [rsi], rcx
xor edi, edi
mov edx, 0x2c
mov rcx, rbx
call qword [sym.imp.MSVCR100.dll_wcschr]
mov r12, rax
test rax, rax
je 0x1400e4f24
mov word [rax], di
add r12, 2
inc r15d
add rsi, 0x10
add r14, 8
mov eax, dword [rbp + 0x408]
add eax, 2
mov dword [rbp + 0x408], eax
cmp eax, r13d
jl 0x1400e4dd0
mov rsi, qword [rsp + 0x40]
mov r14, qword [rsp + 0x48]
jmp 0x1400e4f5a
mov rbx, qword [rbp + 0x3f0]
cmp byte [rbp + 0x3f0], 0
je 0x1400e4f6b
test r13d, r13d
je 0x1400e4f6b
mov word [rbx], di
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x60]
mov qword [rcx + 0x28], rax
mov dword [rcx + 0x20], r15d
mov qword [rcx + 0x38], rsi
mov qword [rcx + 0x48], r14
mov rax, qword [rbp + 0x400]
mov qword [rcx + 0x40], rax
mov rax, qword [rsp + 0x38]
mov qword [rcx + 0x18], rax
mov eax, 3
jmp 0x1400e4fb6
mov r8, r12
lea rdx, str.Parameter_2_required
lea rcx, [0x140143150]
call fcn.14005f7b0
add rsp, 0x4a8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret