Function at 0x462450
Capabilities:
Check if file exists
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x224
mov eax, dword [0x56d380]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [0x56c260]
mov edx, dword [eax + 0xc]
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov ecx, 0x56c260
mov dword [ebp - 0x210], 0
call edx
add eax, 0x10
mov dword [ebp - 0x220], eax
mov eax, dword [0x56c260]
mov edx, dword [eax + 0xc]
mov ecx, 0x56c260
call edx
lea ebx, [eax + 0x10]
mov eax, dword [0x56c260]
mov edx, dword [eax + 0xc]
mov ecx, 0x56c260
mov dword [ebp - 0x21c], ebx
call edx
mov edi, dword [esi]
add eax, 0x10
mov dword [ebp - 0x214], eax
mov eax, dword [esi + 4]
cmp edi, eax
je 0x4624eb
mov ecx, eax
sub ecx, eax
sar ecx, 2
add ecx, ecx
add ecx, ecx
push ecx
push eax
push edi
mov dword [ebp - 0x218], ecx
call fcn.004ffd10
mov eax, dword [ebp - 0x218]
add esp, 0xc
add eax, edi
mov dword [esi + 4], eax
call fcn.0045f340
mov ecx, dword [eax + 0x10b4]
push ecx
push str.Config_
call fcn.0045f340
mov edx, dword [eax + 0x1064]
push edx
lea eax, [ebp - 0x214]
push 0x5462c0
push eax
call fcn.00428a30
add esp, 0x14
push 0x556338
push 0x53d38c
lea ecx, [ebp - 0x214]
call fcn.00423850
mov edi, dword [ebp - 0x214]
push edi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x46254d
push 0x1388
call dword [sym.imp.KERNEL32.dll_Sleep]
push edi
push 0
push str.count
push str.config
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov ecx, eax
mov dword [ebp - 0x218], ecx
test ecx, ecx
jle 0x462689
xor eax, eax
test ecx, ecx
jle 0x462689
lea ebx, [ebx]
lea ebx, [eax + 1]
push ebx
lea ecx, [ebp - 0x21c]
push 0x546524
push ecx
call fcn.00428a30
xor edx, edx
push 0x206
push edx
lea eax, [ebp - 0x20a]
push eax
mov word [ebp - 0x20c], dx
call fcn.00500080
mov edx, dword [ebp - 0x21c]
add esp, 0x18
push edi
push 0x104
lea ecx, [ebp - 0x20c]
push ecx
push 0x53cbd0
push edx
push str.config
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea eax, [ebp - 0x20c]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4625e0
sub eax, edx
sar eax, 1
je 0x462675
lea eax, [ebp - 0x20c]
push eax
call fcn.00501423
mov edi, eax
mov eax, dword [esi + 4]
lea ecx, [ebp - 0x210]
add esp, 4
mov dword [ebp - 0x210], edi
cmp ecx, eax
jae 0x46264a
mov ecx, dword [esi]
lea edx, [ebp - 0x210]
cmp ecx, edx
ja 0x46264a
mov edi, edx
sub edi, ecx
sar edi, 2
cmp eax, dword [esi + 8]
jne 0x46263a
push 1
mov ecx, esi
call fcn.0044e150
mov eax, dword [esi + 4]
test eax, eax
je 0x462661
mov ecx, dword [esi]
mov edx, dword [ecx + edi*4]
mov dword [eax], edx
jmp 0x462661
cmp eax, dword [esi + 8]
jne 0x462658
push 1
mov ecx, esi
call fcn.0044e150
mov eax, dword [esi + 4]
test eax, eax
je 0x462661
mov dword [eax], edi
add dword [esi + 4], 4
mov edi, dword [ebp - 0x214]
mov dword [ebp - 0x210], 1
mov eax, ebx
cmp eax, dword [ebp - 0x218]
jl 0x462580
mov ebx, dword [ebp - 0x21c]
lea eax, [edi - 0x10]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4626a5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [ebx - 0x10]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
pop edi
pop esi
pop ebx
test edx, edx
jg 0x4626c4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x220]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4626e6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x210]
xor ecx, ebp
call fcn.00500397
mov esp, ebp
pop ebp
ret 4