Function at 0x140012290
Capabilities:
Read .ini file

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x4c0
mov rax, qword [0x140092040]
xor rax, rsp
mov qword [rsp + 0x4b8], rax
mov r12, r8
mov r14, rdx
mov rsi, qword [rsp + 0x510]
mov qword [rsp + 0x200], rsi
xor edi, edi
test r9b, r9b
je 0x1400125c2
vmovss xmm1, dword [r8 + 0xc]
lea rcx, [rsp + 0x420]
call fcn.140010f90
mov qword [rsp + 0x210], rax
movabs rbx, 0x8fbc3906f03f5bcf
mov qword [rsp + 0x2c0], rbx
movabs r15, 0x704efe2f6964693c
mov qword [rsp + 0x2c8], r15
movabs r13, 0x8fbc3906f03f5bef
mov qword [rsp + 0x160], r13
mov qword [rsp + 0x168], r15
vmovdqu xmm0, xmmword [rsp + 0x2c0]
vpxor xmm1, xmm0, xmmword [rsp + 0x160]
vmovdqu xmmword [rsp + 0x2c0], xmm1
vmovss xmm1, dword [r12 + 8]
lea rcx, [rsp + 0x400]
call fcn.140010f90
mov rdi, rax
mov qword [rsp + 0x2a0], rbx
mov qword [rsp + 0x2a8], r15
mov qword [rsp + 0x180], r13
mov qword [rsp + 0x188], r15
vmovdqu xmm0, xmmword [rsp + 0x2a0]
vpxor xmm2, xmm0, xmmword [rsp + 0x180]
vmovdqu xmmword [rsp + 0x2a0], xmm2
vmovss xmm1, dword [r12 + 4]
lea rcx, [rsp + 0x3e0]
call fcn.140010f90
mov rbx, rax
movabs rax, 0x8fbc3906f03f5bcf
mov qword [rsp + 0x280], rax
mov qword [rsp + 0x288], r15
mov qword [rsp + 0x1a0], r13
mov qword [rsp + 0x1a8], r15
vmovdqu xmm0, xmmword [rsp + 0x280]
vpxor xmm2, xmm0, xmmword [rsp + 0x1a0]
vmovdqu xmmword [rsp + 0x280], xmm2
vmovss xmm1, dword [r12]
lea rcx, [rsp + 0x3c0]
call fcn.140010f90
lea r8, [rsp + 0x280]
mov rdx, rax
lea rcx, [rsp + 0x3a0]
call fcn.1400109e0
mov r9, rbx
mov r8, rax
lea rcx, [rsp + 0x340]
call fcn.140021ae0
lea r8, [rsp + 0x2a0]
lea rdx, [rsp + 0x340]
lea rcx, [rsp + 0x380]
call fcn.1400109e0
mov r9, rdi
mov r8, rax
lea rcx, [rsp + 0x320]
call fcn.140021ae0
lea r8, [rsp + 0x2c0]
lea rdx, [rsp + 0x320]
lea rcx, [rsp + 0x360]
call fcn.1400109e0
mov r9, qword [rsp + 0x210]
mov r8, rax
lea rcx, [rsp + 0x240]
call fcn.140021ae0
lea rcx, [rsp + 0x360]
call fcn.140008140
lea rcx, [rsp + 0x320]
call fcn.140008140
lea rcx, [rsp + 0x380]
call fcn.140008140
lea rcx, [rsp + 0x340]
call fcn.140008140
lea rcx, [rsp + 0x3a0]
call fcn.140008140
lea rcx, [rsp + 0x3c0]
call fcn.140008140
lea rcx, [rsp + 0x3e0]
call fcn.140008140
lea rcx, [rsp + 0x400]
call fcn.140008140
lea rcx, [rsp + 0x420]
call fcn.140008140
mov r9, rsi
cmp qword [rsi + 0x18], 0xf
jbe 0x140012524
mov r9, qword [rsi]
lea r8, [rsp + 0x240]
cmp qword [rsp + 0x258], 0xf
cmova r8, qword [rsp + 0x240]
cmp qword [r14 + 0x18], 0xf
jbe 0x140012548
mov r14, qword [r14]
movabs rax, 0x8fcf5769994b2b80
mov qword [rsp + 0x2e0], rax
mov qword [rsp + 0x2e8], r15
mov qword [rsp + 0x260], r13
mov qword [rsp + 0x268], r15
vmovdqu xmm0, xmmword [rsp + 0x2e0]
vpxor xmm1, xmm0, xmmword [rsp + 0x260]
vmovdqu xmmword [rsp + 0x2e0], xmm1
mov rdx, r14
lea rcx, [rsp + 0x2e0]
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
lea rcx, [rsp + 0x240]
test eax, eax
jne 0x1400128f9
call fcn.140008140
mov rcx, rsi
call fcn.140008140
xor al, al
jmp 0x140012919
mov r15, qword [rsi + 0x10]
mov rbx, rsi
cmp qword [rsi + 0x18], 0xf
jbe 0x1400125d3
mov rbx, qword [rsi]
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], r15
call fcn.140077df4
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], r15
lea r8, [rsp + 0x40]
mov edx, eax
lea rcx, [rsp + 0x260]
call fcn.140002860
lea rcx, [rsp + 0x260]
call fcn.140003370
movzx ebx, al
lea rcx, [rsp + 0x260]
call fcn.140002ad0
mov rcx, rsi
test bl, bl
jne 0x140012630
call fcn.140008140
xor al, al
jmp 0x140012919
cmp qword [rsi + 0x18], 0xf
jbe 0x14001263a
mov rcx, qword [rsi]
movabs rax, 0x8fbc3906bc730ea1
mov qword [rsp + 0x300], rax
movabs r15, 0x704efe2f6964693c
mov qword [rsp + 0x308], r15
movabs r13, 0x8fbc3906f03f5bef
mov qword [rsp + 0x1c0], r13
mov qword [rsp + 0x1c8], r15
vmovdqu xmm0, xmmword [rsp + 0x300]
vpxor xmm1, xmm0, xmmword [rsp + 0x1c0]
vmovdqu xmmword [rsp + 0x300], xmm1
cmp qword [r14 + 0x18], 0xf
jbe 0x14001269d
mov r14, qword [r14]
movabs rax, 0x8fcf5769994b2b80
mov qword [rsp + 0x210], rax
mov qword [rsp + 0x218], r15
mov qword [rsp + 0x1e0], r13
mov qword [rsp + 0x1e8], r15
vmovdqu xmm0, xmmword [rsp + 0x210]
vpxor xmm1, xmm0, xmmword [rsp + 0x1e0]
vmovdqu xmmword [rsp + 0x210], xmm1
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], 0x64
lea r9, [rsp + 0x440]
lea r8, [rsp + 0x300]
mov rdx, r14
lea rcx, [rsp + 0x210]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
test eax, eax
jne 0x140012723
mov rcx, rsi
call fcn.140008140
xor al, al
jmp 0x140012919
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rsp + 0x220], xmm0
mov qword [rsp + 0x230], rdi
mov qword [rsp + 0x238], rdi
lea rax, [rsp + 0x440]
mov r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rax + r8], 0
jne 0x140012750
lea rdx, [rsp + 0x440]
lea rcx, [rsp + 0x220]
call fcn.1400093b0
lea rax, [0x140080200]
mov qword [rsp + 0x60], rax
lea rax, [0x140080168]
mov qword [rsp + 0x70], rax
lea rcx, [rsp + 0xf8]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::constructor_void____ptr64]
xor r8d, r8d
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x60]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_iostream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char______ptr64____ptr64]
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea rbx, vtable.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rsp + rcx + 0x60], rbx
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea eax, [rcx - 0x98]
mov dword [rsp + rcx + 0x5c], eax
lea rcx, [rsp + 0x78]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void____ptr64]
lea rax, vtable.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rsp + 0x78], rax
lea rdx, [rsp + 0x220]
cmp qword [rsp + 0x238], 0xf
cmova rdx, qword [rsp + 0x220]
xor r9d, r9d
mov r8, qword [rsp + 0x230]
lea rcx, [rsp + 0x78]
call fcn.1400219a0
mov dword [rsp + 0x30], edi
cmp edi, 4
jge 0x1400128aa
movsxd rax, edi
lea rdx, [r12 + rax*4]
lea rcx, [rsp + 0x60]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_istream_char__struct_std::char_traits_char__::operator___float____ptr64____ptr64]
mov rcx, qword [rax]
movsxd rdx, dword [rcx + 4]
test byte [rdx + rax + 0x10], 6
je 0x1400128a3
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
mov qword [rsp + rcx + 0x60], rbx
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea eax, [rcx - 0x98]
mov dword [rsp + rcx + 0x5c], eax
lea rcx, [rsp + 0x78]
call fcn.1400217d0
lea rcx, [rsp + 0x80]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_iostream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rsp + 0xf8]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rsp + 0x220]
call fcn.140008140
mov rcx, rsi
call fcn.140008140
xor al, al
jmp 0x140012919
inc edi
jmp 0x140012816
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
mov qword [rsp + rcx + 0x60], rbx
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea eax, [rcx - 0x98]
mov dword [rsp + rcx + 0x5c], eax
lea rcx, [rsp + 0x78]
call fcn.1400217d0
lea rcx, [rsp + 0x80]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_iostream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rsp + 0xf8]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rsp + 0x220]
call fcn.140008140
mov rcx, rsi
call fcn.140008140
mov al, 1
jmp 0x140012919
mov rcx, qword [rsp + 0x4b8]
xor rcx, rsp
call fcn.1400783b0
lea r11, [rsp + 0x4c0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret