Function at 0x1800017d0
Capabilities:
Read .ini file

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0xc48]
sub rsp, 0xd20
mov qword [rsp + 0x70], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x180074808]
xor rax, rsp
mov qword [rbp + 0xc10], rax
mov rdi, rcx
test rcx, rcx
jne 0x18000181f
xor eax, eax
jmp 0x180001eb4
xor r13d, r13d
mov word [rbp - 0x10], r13w
xor edx, edx
mov r8d, 0x206
lea rcx, [rbp - 0xe]
call fcn.18004a690
lea rdx, str.filter.ini
mov qword [rsp + 0x20], rdx
mov r9, rdi
lea r8, str._sconfig_s
mov edx, 0x104
lea rcx, [rbp - 0x10]
call fcn.180041ea0
lea rdx, vtable.CIni.0
mov qword [rsp + 0x50], rdx
xor eax, eax
or r14, 0xffffffffffffffff
mov rcx, r14
lea rdi, [rbp - 0x10]
repne scasw ax, word [rdi]
not rcx
movsxd rdi, ecx
mov eax, 2
mul rdi
cmovo rax, r14
mov rcx, rax
call fcn.180041b14
mov r12, rax
mov qword [rsp + 0x58], rax
lea r8, [rbp - 0x10]
mov rdx, rdi
mov rcx, rax
call fcn.180042e20
nop
mov edi, 0x200
mov ecx, 0x201
mov eax, 2
mul rcx
cmovo rax, r14
mov rcx, rax
call fcn.180041b14
mov rsi, rax
mov r8, r12
mov edx, edi
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionNamesW]
mov ebx, eax
lea ecx, [rax + 2]
cmp ecx, edi
jb 0x180001921
add edi, 0x200
mov rcx, rsi
call fcn.180042a5c
lea ecx, [rdi + 1]
mov eax, 2
mul rcx
cmovo rax, r14
mov rcx, rax
call fcn.180041b14
mov rsi, rax
mov r8, r12
mov edx, edi
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionNamesW]
mov ebx, eax
add eax, 2
cmp eax, edi
jae 0x1800018e2
mov rcx, rsi
call fcn.180042a5c
add ebx, 2
je 0x180001e9c
lea ecx, [rbx + 1]
mov eax, 2
mul rcx
cmovo rax, r14
mov rcx, rax
call fcn.180041b14
mov rsi, rax
test rax, rax
jne 0x18000195d
lea rcx, [rsp + 0x50]
call fcn.180004680
jmp 0x18000196b
mov r8, r12
mov edx, ebx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionNamesW]
mov rcx, rsi
call fcn.1800048b0
mov edi, r13d
test eax, eax
sete dil
mov rcx, rsi
call fcn.180042a5c
test edi, edi
je 0x180001e9c
mov eax, 1
lea r15, [0x1800a4e30]
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x20], eax
lea r9, [0x180064184]
lea r8, str._s_d
mov edx, 0x104
lea rcx, [rbp + 0x200]
call fcn.180041ea0
lea r8, str.63788286_AE30_4D6B_95DF_3B451C1C79F9
lea rdx, [rbp + 0x200]
lea rcx, [rsp + 0x50]
call fcn.180004750
lea rdi, str.63788286_AE30_4D6B_95DF_3B451C1C79F9
mov rsi, rax
mov ecx, 0x27
repe cmpsw word [rsi], word [rdi]
mov edi, r13d
setne dil
mov rcx, rax
call fcn.180042a5c
test edi, edi
je 0x180001e9c
xor edx, edx
mov r8d, 0x7fe
lea rcx, [rbp + 0x412]
call fcn.18004a690
mov word [rbp + 0x410], r13w
mov edi, 0x200
mov eax, 2
mov ecx, 0x201
mul rcx
cmovo rax, r14
mov rcx, rax
call fcn.180041b14
mov rbx, rax
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], edi
mov r9, rax
lea r8, [0x1800641fc]
lea rdx, [rbp + 0x200]
lea rcx, str.basic
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
inc eax
cmp eax, edi
jb 0x180001ac5
nop word [rax + rax]
add edi, 0x200
mov rcx, rbx
call fcn.180042a5c
lea ecx, [rdi + 1]
mov eax, 2
mul rcx
cmovo rax, r14
mov rcx, rax
call fcn.180041b14
mov rbx, rax
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], edi
mov r9, rax
lea r8, [0x1800641fc]
lea rdx, [rbp + 0x200]
lea rcx, str.basic
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
inc eax
cmp eax, edi
jae 0x180001a70
xor eax, eax
mov rcx, r14
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
lea rsi, [rcx - 1]
mov r9d, 0x400
mov r8, rbx
mov edx, r9d
lea rcx, [rbp + 0x410]
call fcn.1800420f4
mov edi, 0x400
cmp esi, edi
cmovb edi, esi
mov rcx, rbx
call fcn.180042a5c
test edi, edi
je 0x180001e84
mov edx, 0x400
lea rcx, [rbp + 0x410]
call fcn.1800428ec
test eax, eax
jne 0x180001e84
mov edx, 7
mov qword [rbp - 0x50], rdx
mov qword [rbp - 0x58], r13
mov word [rbp - 0x68], r13w
xor eax, eax
mov rcx, r14
lea rdi, [rbp + 0x410]
repne scasw ax, word [rdi]
not rcx
dec rcx
mov rsi, rcx
movabs rax, 0x7ffffffffffffffe
cmp rcx, rax
ja 0x180001e8f
cmp rcx, rdx
jbe 0x180001b79
xor r8d, r8d
mov rdx, rcx
lea rcx, [rbp - 0x68]
call fcn.180003560
mov rdx, qword [rbp - 0x50]
jmp 0x180001b87
test rcx, rcx
jne 0x180001b87
mov qword [rbp - 0x58], r13
mov word [rbp - 0x68], r13w
test rsi, rsi
setne al
test al, al
je 0x180001bc8
lea rcx, [rbp - 0x68]
cmp rdx, 8
cmovae rcx, qword [rbp - 0x68]
lea rdi, [rsi + rsi]
mov r8, rdi
lea rdx, [rbp + 0x410]
call fcn.180042380
mov qword [rbp - 0x58], rsi
lea rax, [rbp - 0x68]
cmp qword [rbp - 0x50], 8
cmovae rax, qword [rbp - 0x68]
mov word [rax + rdi], r13w
mov rdi, qword [0x1800a4398]
lea rcx, [rbp - 0x68]
call fcn.180003100
mov qword [rsp + 0x48], rax
mov r10, qword [rbp - 0x50]
mov r11, qword [rbp - 0x68]
mov rbx, qword [0x1800a4398]
cmp rax, rbx
je 0x180001c78
lea rcx, [rax + 0x18]
mov r9, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 8
jb 0x180001c07
mov rcx, qword [rcx]
lea rdx, [rbp - 0x68]
cmp r10, 8
cmovae rdx, r11
mov rsi, r9
mov r8, qword [rbp - 0x58]
cmp r8, r9
cmovb rsi, r8
test rsi, rsi
je 0x180001c4b
movzx eax, word [rcx]
cmp word [rdx], ax
jne 0x180001c3d
add rdx, 2
add rcx, 2
dec rsi
jne 0x180001c26
jmp 0x180001c4b
mov esi, 1
cmp word [rdx], ax
cmovb esi, r14d
jmp 0x180001c4e
mov esi, r13d
movsxd rax, esi
test esi, esi
jne 0x180001c68
cmp r8, r9
jae 0x180001c5f
mov eax, r14d
jmp 0x180001c68
mov eax, r13d
cmp r8, r9
setne al
test eax, eax
sets al
test al, al
jne 0x180001c78
lea rax, [rsp + 0x48]
jmp 0x180001c82
mov qword [rsp + 0x60], rbx
lea rax, [rsp + 0x60]
cmp qword [rax], rdi
jne 0x180001ca5
lea rcx, [rbp - 0x68]
call fcn.1800043f0
mov rdx, rax
lea rcx, [rsp + 0x78]
call fcn.180003960
mov r10, qword [rbp - 0x50]
mov r11, qword [rbp - 0x68]
lea rdi, [rbp - 0x68]
cmp r10, 8
cmovae rdi, r11
xor edx, edx
mov r8d, 0x1000
mov rcx, r15
call fcn.18004a690
test rdi, rdi
je 0x180001ced
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], 0xfff
mov qword [rsp + 0x20], r15
mov r9d, r14d
mov r8, rdi
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov qword [rbp - 0x28], reloc.WS2_32.dll_ntohs
mov qword [rbp - 0x30], r13
mov byte [rbp - 0x40], 0
xor eax, eax
mov rcx, r14
mov rdi, r15
repne scasb al, byte [rdi]
not rcx
lea r8, [rcx - 1]
mov rdx, r15
lea rcx, [rbp - 0x40]
call fcn.180002b40
nop
mov r15, qword [0x1800a4378]
mov rdi, qword [r15 + 8]
mov r12, r15
mov r13, qword [rbp - 0x28]
mov rbx, qword [rbp - 0x30]
mov r14, qword [rbp - 0x40]
cmp byte [rdi + 0x41], 0
jne 0x180001da6
nop dword [rax + rax]
lea rcx, [rdi + 0x18]
lea rdx, [rbp - 0x40]
cmp r13, 0x10
cmovae rdx, r14
mov rsi, qword [rcx + 0x10]
cmp rsi, rsi
cmp qword [rcx + 0x18], 0x10
jb 0x180001d61
mov rcx, qword [rcx]
mov r8, rbx
cmp rsi, rbx
cmovb r8, rsi
call fcn.180052860
movsxd rcx, eax
test eax, eax
jne 0x180001d8b
cmp rsi, rbx
jae 0x180001d81
or ecx, 0xffffffff
jmp 0x180001d8b
xor eax, eax
cmp rsi, rbx
setne al
mov ecx, eax
test ecx, ecx
sets al
test al, al
je 0x180001d9a
mov rdi, qword [rdi + 0x10]
jmp 0x180001da0
mov r12, rdi
mov rdi, qword [rdi]
cmp byte [rdi + 0x41], 0
je 0x180001d40
mov qword [rsp + 0x48], r12
cmp r12, r15
je 0x180001e09
lea rdx, [r12 + 0x18]
mov rdi, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x180001dc3
mov rdx, qword [rdx]
lea rcx, [rbp - 0x40]
cmp r13, 0x10
cmovae rcx, r14
mov r8, rdi
cmp rbx, rdi
cmovb r8, rbx
call fcn.180052860
movsxd rcx, eax
test eax, eax
jne 0x180001df9
cmp rbx, rdi
jae 0x180001def
or ecx, 0xffffffff
jmp 0x180001df9
xor eax, eax
cmp rbx, rdi
setne al
mov ecx, eax
test ecx, ecx
sets al
test al, al
jne 0x180001e09
lea rax, [rsp + 0x48]
jmp 0x180001e13
mov qword [rsp + 0x68], r15
lea rax, [rsp + 0x68]
cmp qword [rax], r15
jne 0x180001e43
lea rdx, [rbp - 0x40]
lea rcx, [0x1800a4370]
call fcn.180004460
mov r8, rax
lea rdx, [rbp - 0x78]
lea rcx, [0x1800a4370]
call fcn.180003b70
mov r13, qword [rbp - 0x28]
mov r14, qword [rbp - 0x40]
cmp r13, 0x10
jb 0x180001e51
mov rcx, r14
call fcn.180042a64
mov qword [rbp - 0x28], reloc.WS2_32.dll_ntohs
xor r13d, r13d
mov qword [rbp - 0x30], r13
mov byte [rbp - 0x40], r13b
cmp qword [rbp - 0x50], 8
jb 0x180001e74
mov rcx, qword [rbp - 0x68]
call fcn.180042a64
lea r15, [0x1800a4e30]
or r14, 0xffffffffffffffff
mov r12, qword [rsp + 0x58]
mov eax, dword [rsp + 0x40]
inc eax
jmp 0x180001998
lea rcx, str.string_too_long
call fcn.180041a2c
int3
call fcn.1800010a0
nop
test r12, r12
je 0x180001eaf
mov rcx, r12
call fcn.180042a5c
mov eax, 1
mov rcx, qword [rbp + 0xc10]
xor rcx, rsp
call fcn.180041e80
lea r11, [rsp + 0xd20]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret