Function at 0x14001a3d0
Capabilities:
Get system information on windows
Read .ini file

Disassembly:
push r14
push r15
push rbp
sub rsp, 0x190
mov rbp, r8
movsxd r10, dword [rcx + 0x160]
mov r11d, 1
cmp r10, 1
jle 0x14001a40f
mov r9, qword [rcx + 0x168]
mov r8, qword [r9 + r11*8]
cmp byte [r8], 0x2d
je 0x14001a69f
inc r11
cmp r11, r10
jl 0x14001a3f9
mov rax, rsp
lea r10, [rcx + 0x178]
add rcx, 0x188
lea r15, [rsp + 0x30]
xor r8d, r8d
mov r9, r15
mov qword [rax + 0x28], rcx
mov rcx, r10
mov dword [rax + 0x20], 0x104
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
test eax, eax
lea rcx, [rsp + 0x138]
cmovne rbp, r15
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov r9d, dword [rsp + 0x158]
xor ecx, ecx
cmp byte [rbp], 0
je 0x14001a60d
xor eax, eax
xor r8d, r8d
movsx r11d, byte [rbp]
xor edx, edx
test r11d, r11d
je 0x14001a66d
mov qword [rsp + 0x180], rbx
mov qword [rsp + 0x178], rsi
mov esi, 1
mov qword [rsp + 0x170], rdi
mov qword [rsp + 0x188], r12
mov qword [rsp + 0x168], r13
lea ebx, [r11 - 0x30]
cmp ebx, 9
jbe 0x14001a4cf
inc rax
mov ebx, 1
cmp r11d, 0x2d
cmove r8d, ebx
dec rdx
movsx r11d, byte [rax + rbp]
test r11d, r11d
jne 0x14001a4a9
test r11d, r11d
je 0x14001a5e5
lea rdi, [rax + 1]
movsx r11d, byte [rdi + rbp]
lea r10, [rdx - 1]
lea ebx, [r11 - 0x30]
cmp ebx, 9
ja 0x14001a502
inc rdi
dec r10
movsx r11d, byte [rdi + rbp]
lea ebx, [r11 - 0x30]
cmp ebx, 9
jbe 0x14001a4ee
xor ebx, ebx
cmp rax, rdi
jae 0x14001a56c
add rdx, rdi
mov r12, rsi
mov r14, rdx
xor r13d, r13d
shr r14, 1
test r14, r14
jbe 0x14001a54f
lea r12, [rbp + rax]
lea r15, [rbx + rbx*4]
movsx rbx, byte [r12 + r13*2]
lea rbx, [rbx + r15*2 - 0x30]
movsx r15, byte [r12 + r13*2 + 1]
inc r13
lea rbx, [rbx + rbx*4]
lea rbx, [r15 + rbx*2 - 0x30]
cmp r13, r14
jb 0x14001a522
lea r12, [r13*2 + 1]
lea r13, [r12 - 1]
cmp r13, rdx
jae 0x14001a56c
lea r12, [rbp + r12 - 1]
movsx rax, byte [r12 + rax]
lea rdx, [rbx + rbx*4]
lea rbx, [rax + rdx*2 - 0x30]
cmp r11d, 0x25
je 0x14001a636
cmp r11d, 0x70
je 0x14001a636
cmp r11d, 0x4b
je 0x14001a630
cmp r11d, 0x6b
je 0x14001a630
cmp r11d, 0x4d
je 0x14001a5b2
cmp r11d, 0x6d
je 0x14001a5b2
cmp r11d, 0x47
je 0x14001a5ac
cmp r11d, 0x67
jne 0x14001a5b6
shl rbx, 0x1e
jmp 0x14001a5b6
shl rbx, 0x14
mov rax, rbx
neg rax
test r8d, r8d
cmovne rbx, rax
add rcx, rbx
test r11d, r11d
je 0x14001a5e5
lea rax, [rdi + 1]
movsx r11d, byte [rax + rbp]
test r11d, r11d
je 0x14001a5e5
xor r8d, r8d
lea rdx, [r10 - 1]
jmp 0x14001a4a9
mov rbx, qword [rsp + 0x180]
mov rsi, qword [rsp + 0x178]
mov rdi, qword [rsp + 0x170]
mov r12, qword [rsp + 0x188]
mov r13, qword [rsp + 0x168]
mov eax, 1
test rcx, rcx
cmovle rcx, rax
cmp rcx, r9
cmovl r9, rcx
mov eax, r9d
add rsp, 0x190
pop rbp
pop r15
pop r14
ret
shl rbx, 0xa
jmp 0x14001a5b6
mov r12d, 0x64
cmp rbx, 0x64
movabs r13, 0x47ae147ae147ae15
cmova rbx, r12
imul rbx, r9
mov rax, rbx
mul r13
sub rbx, rdx
shr rbx, 1
add rdx, rbx
mov rbx, rdx
shr rbx, 6
jmp 0x14001a5b6
mov qword [rsp + 0x180], rbx
mov qword [rsp + 0x178], rsi
mov esi, 1
mov qword [rsp + 0x170], rdi
mov qword [rsp + 0x188], r12
mov qword [rsp + 0x168], r13
jmp 0x14001a4cf
xor eax, eax
mov r14b, byte [rax + rdx]
inc rax
test r14b, r14b
je 0x14001a6b8
cmp r14b, byte [rax + r8]
je 0x14001a6a1
jmp 0x14001a407
cmp byte [rax + r8], 0x3d
jne 0x14001a6c9
inc rax
cmp byte [rax + r8], 0x3d
je 0x14001a6bf
add rax, r8
xor ecx, ecx
mov dl, byte [rax]
test dl, dl
je 0x14001a6e2
mov byte [rsp + rcx + 0x30], dl
inc rcx
mov dl, byte [rcx + rax]
test dl, dl
jne 0x14001a6d4
mov byte [rsp + rcx + 0x30], 0
mov eax, ecx
lea r15, [rsp + 0x30]
jmp 0x14001a43f