Function at 0x1400054a0
Capabilities:
Read .ini file

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x290
mov qword [rsp + 0x60], 0xfffffffffffffffe
mov qword [rsp + 0x2d0], rbx
mov rax, qword [0x1400e71f0]
xor rax, rsp
mov qword [rsp + 0x280], rax
mov qword [rsp + 0x50], r9
mov r12, r8
mov rsi, rdx
lea rdx, str.0.00
mov rcx, r9
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
test rsi, rsi
je 0x140005a29
test r12, r12
je 0x140005a29
call fcn.1400696cc
mov rdx, rax
xor ebp, ebp
mov ecx, ebp
test rax, rax
setne cl
test ecx, ecx
jne 0x140005524
mov ecx, 0x80004005
call fcn.140001000
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x30], rdi
or rbx, 0xffffffffffffffff
test rsi, 0xffffffffffff0000
jne 0x140005569
movzx esi, si
mov ecx, esi
call fcn.1400696b8
test rax, rax
je 0x14000558d
mov r8d, esi
mov rdx, rax
lea rcx, [rsp + 0x30]
call fcn.140003a40
mov rdi, qword [rsp + 0x30]
jmp 0x14000558d
xor eax, eax
mov rcx, rbx
mov rdi, rsi
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
mov rdx, rsi
lea rcx, [rsp + 0x30]
call fcn.140003c40
mov rdi, qword [rsp + 0x30]
mov dx, 0x5c
mov rcx, rdi
call fcn.140080890
test rax, rax
je 0x14000572c
sub rax, rdi
sar rax, 1
test eax, eax
jle 0x14000572c
lea r8d, [rax + 1]
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x30]
call fcn.1400038a0
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
add rdi, 0xffffffffffffffe8
cmp rcx, rdi
je 0x14000561e
cmp dword [rdi + 0x10], 0
jl 0x14000560f
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x14000560f
call fcn.1400031e0
mov rsi, rax
mov ecx, ebx
lock xadd dword [rdi + 0x10], ecx
add ecx, 0xffffffff
test ecx, ecx
jg 0x140005604
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rsi + 0x18]
mov qword [rsp + 0x30], rax
jmp 0x14000561e
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x30]
call fcn.140003c40
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14000563e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rdx, str.Windows_x64
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x1400056d9
mov r13, qword [0x1400e93a0]
movsxd r15, dword [r13 - 0x10]
mov r12, r13
mov rdi, qword [rsp + 0x30]
sub r12, rdi
sar r12, 1
mov r14d, dword [rdi - 0x10]
lea esi, [r14 + r15]
mov ecx, 1
sub ecx, dword [rdi - 8]
mov eax, dword [rdi - 0xc]
sub eax, esi
or eax, ecx
jge 0x140005699
mov edx, esi
lea rcx, [rsp + 0x30]
call fcn.140003180
mov rdi, qword [rsp + 0x30]
cmp r12, r14
ja 0x1400056a2
lea r13, [rdi + r12*2]
mov rdx, r15
add rdx, rdx
lea rcx, [rdi + r14*2]
mov r9, rdx
mov r8, r13
call fcn.140080540
test esi, esi
js 0x1400056ce
cmp esi, dword [rdi - 0xc]
jg 0x1400056ce
mov dword [rdi - 0x10], esi
movsxd rax, esi
mov word [rdi + rax*2], 0
jmp 0x14000572c
mov ecx, 0x80070057
call fcn.140001000
int3
lea rdx, str.Windows_NT_x86
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x140005705
lea rdx, [0x1400e9398]
lea rcx, [rsp + 0x30]
call fcn.140004910
mov rdi, qword [rsp + 0x30]
jmp 0x14000572c
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
add ebx, 0xffffffff
test ebx, ebx
jg 0x140005a29
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140005a29
mov word [rsp + 0x70], 0
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x72]
call fcn.140080d50
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], 0x104
lea r9, [rsp + 0x70]
lea r8, [0x1400a4510]
lea rdx, str.AboutDLGVersion
lea rcx, str.VersionInfo
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
test eax, eax
jne 0x140005798
lea rdx, [rdi - 0x18]
lock xadd dword [rdx + 0x10], ebx
add ebx, 0xffffffff
test ebx, ebx
jg 0x140005a29
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140005a29
call fcn.1400696cc
mov rdx, rax
mov ecx, ebp
test rax, rax
setne cl
test ecx, ecx
jne 0x1400057b7
mov ecx, 0x80004005
call fcn.140001000
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x38], rdi
mov r13d, ebp
mov dword [rsp + 0x40], ebp
lea rcx, [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
cmp eax, 1
js 0x1400059ef
lea r12, [rsp + 0x70]
nop
nop
movzx ecx, word [r12]
cmp cx, 0x2e
jne 0x14000580a
test ebp, ebp
jne 0x14000589a
mov ebp, 1
jmp 0x14000581f
call fcn.140082350
test eax, eax
je 0x14000589a
test ebp, ebp
je 0x14000581f
add r13d, 1
movzx r15d, word [r12]
mov r14d, dword [rdi - 0x10]
lea esi, [r14 + 1]
mov ecx, 1
sub ecx, dword [rdi - 8]
mov eax, dword [rdi - 0xc]
sub eax, esi
or eax, ecx
jge 0x14000584e
mov edx, esi
lea rcx, [rsp + 0x38]
call fcn.140003180
mov rdi, qword [rsp + 0x38]
mov word [rdi + r14*2], r15w
test esi, esi
js 0x14000588f
cmp esi, dword [rdi - 0xc]
jg 0x14000588f
mov dword [rdi - 0x10], esi
movsxd rax, esi
mov word [rdi + rax*2], 0
mov esi, dword [rsp + 0x40]
add esi, 1
mov dword [rsp + 0x40], esi
add r12, 2
lea rcx, [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
sub eax, 1
cmp esi, eax
jle 0x1400057f0
jmp 0x14000589a
mov ecx, 0x80070057
call fcn.140001000
int3
cmp r13d, 2
jb 0x1400059ef
cmp dword [rdi - 0x10], 0
jle 0x1400059b3
mov dx, 0x2e
mov rcx, rdi
call fcn.1400804a0
test rax, rax
je 0x1400059b3
sub rax, rdi
sar rax, 1
test eax, eax
jle 0x1400059b3
lea r8d, [rax + 3]
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x38]
call fcn.1400038a0
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
add rdi, 0xffffffffffffffe8
cmp rcx, rdi
je 0x14000593f
cmp dword [rdi + 0x10], 0
jl 0x140005930
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x140005930
call fcn.1400031e0
mov rsi, rax
mov ecx, ebx
lock xadd dword [rdi + 0x10], ecx
add ecx, 0xffffffff
test ecx, ecx
jg 0x140005925
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rsi + 0x18]
mov qword [rsp + 0x38], rax
jmp 0x14000593f
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x38]
call fcn.140003c40
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14000595f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdi, qword [rsp + 0x38]
mov rdx, rdi
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
nop
lea rdx, [rdi - 0x18]
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14000598f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
add ebx, 0xffffffff
test ebx, ebx
jg 0x140005a29
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140005a29
lea rdx, [rdi - 0x18]
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400059cf
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
add ebx, 0xffffffff
test ebx, ebx
jg 0x140005a29
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140005a29
lea rdx, [rdi - 0x18]
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140005a0b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
add ebx, 0xffffffff
test ebx, ebx
jg 0x140005a29
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, qword [rsp + 0x280]
xor rcx, rsp
call fcn.140081050
mov rbx, qword [rsp + 0x2d0]
add rsp, 0x290
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret