Function at 0x4595b5
Capabilities:
Read .ini file

Disassembly:
push 0x18
mov eax, 0x4ce3ec
call fcn.004ae200
mov ebx, dword [ebp + 8]
and dword [ebp - 0x20], 0
lea esi, [ebx + 0x20]
push esi
mov dword [ebp - 0x20], esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push dword [ebp + 0x14]
and dword [ebp - 4], 0
lea ecx, [ebp - 0x1c]
call fcn.0040255d
mov byte [ebp - 4], 1
push dword [ebp + 0x10]
lea ecx, [ebp - 0x18]
call fcn.0040255d
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 2
call fcn.0040268b
call fcn.0048aa29
push eax
lea ecx, [ebp - 0x10]
call fcn.00402840
mov byte [ebp - 4], 3
push dword [ebp + 0x10]
lea ecx, [ebp - 0x14]
call fcn.0040255d
mov edi, 0x53274c
push edi
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 4
call fcn.0040c675
test eax, eax
je 0x459654
push str.S9PT9_361
lea ecx, [ebp - 0x14]
call fcn.0040c675
test eax, eax
je 0x459654
push str.S9PT9_366
lea ecx, [ebp - 0x14]
call fcn.0040c675
test eax, eax
jne 0x459658
mov byte [ebp + 0x18], 1
cmp byte [ebp + 0x18], 0
jne 0x4596b8
lea eax, [ebp - 0x10]
push eax
push dword [ebp - 0x18]
lea ecx, [ebx + 4]
call fcn.00498dbe
test eax, eax
je 0x4596b8
mov eax, dword [ebp - 0x10]
cmp dword [eax - 0xc], 0
je 0x4596b8
mov ecx, dword [ebp + 0xc]
lea eax, [ebp - 0x10]
push eax
call fcn.004025a1
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
call fcn.00402883
push esi
jmp 0x4598af
push 0x2000
push 0
mov esi, 0x568498
push esi
call fcn.004adda0
add esp, 0xc
push dword [ebx + 0x38]
push 0x1000
push esi
push 0x520938
push dword [ebp + 0x10]
push dword [ebp + 0x14]
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea ecx, [ebp - 0x10]
call fcn.0040268b
cmp word [0x568498], 0x22
jne 0x459702
push 0x20
pop eax
mov word [0x568498], ax
cmp word [0x568498], 0
je 0x459761
push esi
lea ecx, [ebp - 0x10]
call fcn.0040276b
push 0x52fb94
push 0x532788
lea eax, [ebp - 0x10]
push eax
call fcn.0041193f
push 0x532790
push 0x532794
lea eax, [ebp - 0x10]
push eax
call fcn.0041193f
push 0x53279c
push 0x5327a0
lea eax, [ebp - 0x10]
push eax
call fcn.0041193f
push 0x5236bc
push 0x5327a8
lea eax, [ebp - 0x10]
push eax
call fcn.0041193f
lea ebx, [ebp - 0x10]
call fcn.0040c507
mov ebx, eax
call fcn.0040c554
push edi
lea ecx, [ebp - 0x14]
call fcn.0040c675
test eax, eax
je 0x45979f
push str.S9PT9_361
lea ecx, [ebp - 0x14]
call fcn.0040c675
test eax, eax
je 0x45979f
push str.S9PT9_366
lea ecx, [ebp - 0x14]
call fcn.0040c675
test eax, eax
jne 0x4597f3
mov eax, dword [0x566394]
xor ebx, ebx
cmp eax, ebx
jne 0x4597b1
mov eax, dword [0x5663a4]
jmp 0x4597d3
cmp eax, 4
jne 0x4597bd
mov eax, dword [0x5663ac]
jmp 0x4597d3
cmp eax, 5
jne 0x4597c9
mov eax, dword [0x5663b0]
jmp 0x4597d3
cmp eax, 7
jne 0x4597e9
mov eax, dword [0x5663b4]
cmp dword [eax - 0xc], ebx
je 0x4597f5
push eax
push str._855__761_8856
lea eax, [ebp - 0x10]
push eax
call fcn.0041193f
jmp 0x4597f5
lea ecx, [ebp - 0x10]
call fcn.0040268b
jmp 0x4597f5
xor ebx, ebx
push str.S9PT9_560
lea ecx, [ebp - 0x14]
call fcn.0040c675
test eax, eax
je 0x459817
push str.S9PT9_558
lea ecx, [ebp - 0x14]
call fcn.0040c675
test eax, eax
jne 0x45985e
call fcn.0048aa29
push eax
lea ecx, [ebp + 0x10]
call fcn.00402840
mov byte [ebp - 4], 5
call fcn.004622c5
push eax
lea eax, [ebp + 0x10]
push 0x52303c
push eax
call fcn.00402a45
mov esi, dword [ebp + 0x10]
add esp, 0xc
push esi
push 0x5327f8
lea eax, [ebp - 0x10]
push eax
call fcn.0041193f
lea ecx, [esi - 0x10]
mov byte [ebp - 4], 4
call fcn.00402883
cmp byte [ebp + 0x18], bl
jne 0x459874
push dword [ebp - 0x10]
mov ecx, dword [ebp + 8]
push dword [ebp - 0x18]
add ecx, 4
call fcn.00411eef
mov ecx, dword [ebp + 0xc]
lea eax, [ebp - 0x10]
push eax
call fcn.004025a1
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
call fcn.00402883
push dword [ebp - 0x20]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [ebp + 0xc]
call fcn.004ae2d8
ret 0x14