Function at 0x1400a3ab0
Capabilities:
Check if file exists
Read .ini file

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x10a08]
mov eax, 0x10b08
call fcn.14024c240
sub rsp, rax
mov qword [rbp - 0x70], 0xfffffffffffffffe
mov rax, qword [0x140398250]
xor rax, rsp
mov qword [rbp + 0x109f0], rax
mov r13, r9
mov ebx, r8d
mov r12, rdx
mov qword [rbp - 0x78], rdx
mov r14, rcx
xor r8d, r8d
lea rdx, str.CBaseInfoAddIn::MakeAddinInfoFile
lea rcx, [rsp + 0x78]
call fcn.1400075a0
nop
xor eax, eax
lea r15d, [rax + 1]
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x34], eax
mov rax, qword [r14]
lea r9, [rbp + 0x1d0]
mov r8d, 0x104
mov edx, ebx
mov rcx, r14
call qword [rax + 0xd0]
lea rcx, [rbp + 0x1d0]
call qword [sym.imp.SHLWAPI.dll_PathAddBackslashW]
mov rbx, qword [r13]
cmp rbx, qword [r13 + 8]
je 0x1400a3cc5
xor r15d, r15d
nop word [rax + rax]
mov qword [rbp - 0x50], 7
mov qword [rbp - 0x58], r15
mov word [rbp - 0x68], r15w
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rbx
lea rcx, [rbp - 0x68]
call fcn.140001e00
lea r9, [rbp - 0x68]
cmp qword [rbp - 0x50], 8
cmovae r9, qword [rbp - 0x68]
lea r8, [rbp + 0x1d0]
lea rdx, [0x1402e3978]
lea rcx, [rbp - 0x40]
call qword [sym.imp.USER32.dll_wsprintfW]
lea rcx, [rbp - 0x40]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x1400a3c9d
lea r9, [rbp - 0x40]
lea r8, str._t_t_tInvalid_file___s_.
lea edx, [rax + 7]
lea rcx, [rsp + 0x78]
call fcn.140007780
mov r12, qword [r13 + 8]
lea rsi, [rbx + 0x28]
cmp rsi, r12
je 0x1400a3c5c
mov rdi, rbx
cmp rdi, rsi
je 0x1400a3c4f
cmp qword [rdi + 0x18], 8
jb 0x1400a3bf8
mov rcx, qword [rdi]
call fcn.1401026ec
mov qword [rdi + 0x18], 7
mov qword [rdi + 0x10], r15
mov word [rdi], r15w
cmp qword [rdi + 0x40], 8
jae 0x1400a3c26
mov r8, qword [rdi + 0x38]
inc r8
add r8, r8
mov rdx, rsi
mov rcx, rdi
call fcn.140246c50
jmp 0x1400a3c2f
mov rax, qword [rsi]
mov qword [rdi], rax
mov qword [rsi], r15
mov rax, qword [rdi + 0x38]
mov qword [rdi + 0x10], rax
mov rax, qword [rdi + 0x40]
mov qword [rdi + 0x18], rax
mov qword [rdi + 0x40], 7
mov qword [rdi + 0x38], r15
mov word [rsi], r15w
add rsi, 0x28
add rdi, 0x28
cmp rsi, r12
jne 0x1400a3be4
mov rsi, qword [r13 + 8]
lea rdi, [rsi - 0x28]
cmp rdi, rsi
je 0x1400a3c98
nop dword [rax]
cmp qword [rdi + 0x18], 8
jb 0x1400a3c7f
mov rcx, qword [rdi]
call fcn.1401026ec
mov qword [rdi + 0x18], 7
mov qword [rdi + 0x10], r15
mov word [rdi], r15w
add rdi, 0x28
cmp rdi, rsi
jne 0x1400a3c70
add qword [r13 + 8], 0xffffffffffffffd8
cmp qword [rbp - 0x50], 8
jb 0x1400a3cad
mov rcx, qword [rbp - 0x68]
call fcn.1401026ec
add rbx, 0x28
cmp rbx, qword [r13 + 8]
jne 0x1400a3b60
mov r15d, 1
mov r12, qword [rbp - 0x78]
xor ebx, ebx
mov word [rbp + 0x3e0], bx
xor edx, edx
mov r8d, 0x206
lea rcx, [rbp + 0x3e2]
call fcn.14024b970
mov r11, qword [r14]
mov r9d, 0x104
lea r8, [rbp + 0x3e0]
mov rdx, r12
mov rcx, r14
call qword [r11 + 0xd8]
movsxd rsi, eax
lea rcx, [rsp + 0x40]
call fcn.14011a714
nop
xor r9d, r9d
mov r8d, 0xb002
lea rdx, [r14 + 0x28]
lea rcx, [rsp + 0x40]
call fcn.14011a5d0
test eax, eax
jne 0x1400a3d48
lea r9, [r14 + 0x28]
lea r8, str._t_t_tInvalid_file___s_.
lea edx, [rbx + 7]
lea rcx, [rsp + 0x78]
call fcn.140007780
mov r15d, ebx
jmp 0x1400a417d
mov dword [rsp + 0x30], r15d
lea rcx, [rsp + 0x40]
call fcn.14011a9b8
test rax, rax
je 0x1400a3db1
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x40]
mov rax, qword [rsp + 0x40]
call qword [rax + 0x58]
mov r8d, 4
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x40]
call fcn.14011a740
mov r8d, 4
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x40]
call fcn.14011a740
mov r8d, 4
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x40]
call fcn.14011a740
inc dword [rsp + 0x30]
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x40]
mov rax, qword [rsp + 0x40]
call qword [rax + 0x58]
mov r8d, 4
lea rdx, [0x14039f0f4]
lea rcx, [rsp + 0x40]
call fcn.14011a810
mov r8d, 4
lea rdx, [0x14039f0fc]
lea rcx, [rsp + 0x40]
call fcn.14011a810
mov r8d, 4
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x40]
call fcn.14011a810
cmp dword [rsp + 0x30], 1
jbe 0x1400a3e22
mov rdx, 0xfffffffffffffffc
lea r8d, [rdx + 6]
lea rcx, [rsp + 0x40]
call fcn.14011a954
mov r8d, 4
lea rdx, [0x1403a3320]
lea rcx, [rsp + 0x40]
call fcn.14011a810
mov r8d, 0x410
mov rdx, r12
lea rcx, [rsp + 0x40]
call fcn.14011a810
mov rcx, qword [r13 + 8]
sub rcx, qword [r13]
movabs rax, 0x6666666666666667
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rbp - 0x78], edx
mov r8d, 4
lea rdx, [rbp - 0x78]
lea rcx, [rsp + 0x40]
call fcn.14011a810
mov rbx, qword [r13]
cmp rbx, qword [r13 + 8]
je 0x1400a4145
xor r12d, r12d
nop word [rax + rax]
mov r8d, 4
lea rdx, [0x1403a3328]
lea rcx, [rsp + 0x40]
call fcn.14011a810
mov qword [rbp - 0x50], 7
mov qword [rbp - 0x58], r12
mov word [rbp - 0x68], r12w
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rbx
lea rcx, [rbp - 0x68]
call fcn.140001e00
lea r9, [rbp - 0x68]
cmp qword [rbp - 0x50], 8
cmovae r9, qword [rbp - 0x68]
lea r8, [rbp + 0x1d0]
lea rdx, [0x1402e3978]
lea rcx, [rbp - 0x40]
call qword [sym.imp.USER32.dll_wsprintfW]
xor edx, edx
mov r8d, 0x200
lea rcx, [rbp + 0x7f0]
call fcn.14024b970
lea r11, [rbp - 0x40]
mov qword [rsp + 0x28], r11
mov dword [rsp + 0x20], pe_nt_image_headers64
lea r9, [rbp + 0x7f0]
lea r8, [0x1402dc4e0]
lea rdx, [0x1402fe828]
lea rcx, str.Add_Ins
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
test eax, eax
jne 0x1400a3f64
lea r9, [r14 + 0x28]
lea r8, str._t_t_tFailed_the_acquisition_of_add_in_name___s_.
lea edx, [rax + 7]
lea rcx, [rsp + 0x78]
call fcn.140007780
mov r8d, 0x200
lea rdx, [rbp + 0x7f0]
lea rcx, [rsp + 0x40]
call fcn.14011a810
xor edx, edx
mov r8d, 0x200
lea rcx, [rbp + 0x5f0]
call fcn.14024b970
lea r11, [rbp - 0x40]
mov qword [rsp + 0x28], r11
mov dword [rsp + 0x20], pe_nt_image_headers64
lea r9, [rbp + 0x5f0]
lea r8, [0x1402dc4e0]
lea rdx, str.Version
lea rcx, str.Add_Ins
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
test eax, eax
jne 0x1400a3fde
lea r9, [r14 + 0x28]
lea r8, str._t_t_tFailed_the_acquisition_of_add_in_version___s_.
lea edx, [rax + 7]
lea rcx, [rsp + 0x78]
call fcn.140007780
mov r8d, 0x200
lea rdx, [rbp + 0x5f0]
lea rcx, [rsp + 0x40]
call fcn.14011a810
xor edx, edx
mov r8d, 0x10000
lea rcx, [rbp + 0x9f0]
call fcn.14024b970
lea r11, [rbp - 0x40]
mov qword [rsp + 0x28], r11
mov dword [rsp + 0x20], 0x8000
lea r9, [rbp + 0x9f0]
lea r8, str.notsupport
lea rdx, str.DependentFiles
lea rcx, str.Add_Ins
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
test eax, eax
jne 0x1400a4058
lea r9, [r14 + 0x28]
lea r8, str._t_t_tFailed_the_acquisition_of_add_in_DependentFiles___s_.
lea edx, [rax + 7]
lea rcx, [rsp + 0x78]
call fcn.140007780
lea rdx, str.notsupport
lea rcx, [rbp + 0x9f0]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x1400a407c
mov dword [rsp + 0x38], r15d
mov dword [rsp + 0x34], r12d
jmp 0x1400a40c7
test rsi, rsi
je 0x1400a40b1
lea r8, [0x1402fc904]
mov edx, 0x8000
lea rcx, [rbp + 0x9f0]
call fcn.140246470
lea r8, [rbp + 0x3e0]
mov edx, 0x8000
lea rcx, [rbp + 0x9f0]
call fcn.140246470
mov dword [rsp + 0x38], r15d
lea rcx, [rbp + 0x9f0]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [rsp + 0x34], eax
mov r8d, 4
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x40]
call fcn.14011a810
mov r8d, 4
lea rdx, [rsp + 0x34]
lea rcx, [rsp + 0x40]
call fcn.14011a810
mov r8d, dword [rsp + 0x34]
test r8d, r8d
je 0x1400a410f
add r8d, r8d
lea rdx, [rbp + 0x9f0]
lea rcx, [rsp + 0x40]
call fcn.14011a810
mov r8d, 4
lea rdx, [0x1403a332c]
lea rcx, [rsp + 0x40]
call fcn.14011a810
nop
cmp qword [rbp - 0x50], 8
jb 0x1400a4137
mov rcx, qword [rbp - 0x68]
call fcn.1401026ec
add rbx, 0x28
cmp rbx, qword [r13 + 8]
jne 0x1400a3ea0
mov r8d, 4
lea rdx, [0x1403a3324]
lea rcx, [rsp + 0x40]
call fcn.14011a810
mov r8d, 4
lea rdx, [0x14039f0f8]
lea rcx, [rsp + 0x40]
call fcn.14011a810
lea rcx, [rsp + 0x40]
call fcn.14011aaf8
mov r9d, r15d
lea r8, str.return___08x
mov edx, 2
lea rcx, [rsp + 0x78]
call fcn.140007780
nop
lea rcx, [rsp + 0x40]
call fcn.14011abd0
nop
lea rcx, [rsp + 0x78]
call fcn.140007730
mov eax, r15d
mov rcx, qword [rbp + 0x109f0]
xor rcx, rsp
call fcn.140245660
add rsp, 0x10b08
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret