Function at 0x402e10
Capabilities:
Read .ini file
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x409a4e
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x39c
push ebx
xor ebx, ebx
push ebp
push esi
mov esi, 0xf
push edi
mov edi, ecx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x104], esi
mov dword [esp + 0x100], ebx
mov byte [esp + 0xf0], bl
mov dword [esp + 0x120], esi
mov dword [esp + 0x11c], ebx
mov byte [esp + 0x10c], bl
mov dword [esp + 0x13c], esi
mov dword [esp + 0x138], ebx
mov byte [esp + 0x128], bl
mov eax, dword [edi + 0x38]
mov ebp, 0x10
cmp eax, ebp
mov dword [esp + 0x3b4], ebx
mov dword [esp + 0x18], ebx
jb 0x402e97
mov eax, dword [edi + 0x24]
jmp 0x402e9a
lea eax, [edi + 0x24]
push eax
push ebx
push str.Count
push str.Total
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
cmp eax, ebx
mov dword [esp + 0x24], eax
mov dword [esp + 0x1c], ebx
jle 0x4033b3
lea esp, [esp]
mov dword [esp + 0x78], esi
mov dword [esp + 0x74], ebx
mov byte [esp + 0x64], bl
mov dword [esp + 0x5c], esi
mov dword [esp + 0x58], ebx
mov byte [esp + 0x48], bl
mov dword [esp + 0x40], esi
mov dword [esp + 0x3c], ebx
mov byte [esp + 0x2c], bl
mov ecx, dword [esp + 0x1c]
push 0xa
lea eax, [esp + 0x24]
push eax
push ecx
mov byte [esp + 0x3c0], 3
call fcn.00409337
add esp, 0xc
push 4
push str.file
lea ecx, [esp + 0x84]
mov dword [esp + 0x9c], esi
mov dword [esp + 0x98], ebx
mov byte [esp + 0x88], bl
call fcn.00401770
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x80]
push eax
lea ecx, [esp + 0x174]
push ecx
mov byte [esp + 0x3c0], 4
call fcn.00401af0
add esp, 0xc
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x6c]
mov byte [esp + 0x3c0], 5
call fcn.00401680
cmp dword [esp + 0x184], ebp
jb 0x402f7b
mov edx, dword [esp + 0x170]
push edx
call fcn.00403a2d
add esp, 4
cmp dword [esp + 0x94], ebp
mov dword [esp + 0x184], esi
mov dword [esp + 0x180], ebx
mov byte [esp + 0x170], bl
mov byte [esp + 0x3b4], 3
jb 0x402fb1
mov eax, dword [esp + 0x80]
push eax
call fcn.00403a2d
add esp, 4
push 7
push str.fileURL
lea ecx, [esp + 0xd8]
mov dword [esp + 0x9c], esi
mov dword [esp + 0x98], ebx
mov byte [esp + 0x88], bl
mov dword [esp + 0xf0], esi
mov dword [esp + 0xec], ebx
mov byte [esp + 0xdc], bl
call fcn.00401770
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0xd4]
push edx
lea eax, [esp + 0x158]
push eax
mov byte [esp + 0x3c0], 6
call fcn.00401af0
add esp, 0xc
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x50]
mov byte [esp + 0x3c0], 7
call fcn.00401680
cmp dword [esp + 0x168], ebp
jb 0x403041
mov ecx, dword [esp + 0x154]
push ecx
call fcn.00403a2d
add esp, 4
cmp dword [esp + 0xe8], ebp
mov dword [esp + 0x168], esi
mov dword [esp + 0x164], ebx
mov byte [esp + 0x154], bl
mov byte [esp + 0x3b4], 3
jb 0x403077
mov edx, dword [esp + 0xd4]
push edx
call fcn.00403a2d
add esp, 4
push 8
push str.fileflag
lea ecx, [esp + 0xa0]
mov dword [esp + 0xf0], esi
mov dword [esp + 0xec], ebx
mov byte [esp + 0xdc], bl
mov dword [esp + 0xb8], esi
mov dword [esp + 0xb4], ebx
mov byte [esp + 0xa4], bl
call fcn.00401770
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x9c]
push ecx
lea edx, [esp + 0x190]
push edx
mov byte [esp + 0x3c0], 8
call fcn.00401af0
add esp, 0xc
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x34]
mov byte [esp + 0x3c0], 9
call fcn.00401680
cmp dword [esp + 0x1a0], ebp
jb 0x403107
mov eax, dword [esp + 0x18c]
push eax
call fcn.00403a2d
add esp, 4
cmp dword [esp + 0xb0], ebp
mov dword [esp + 0x1a0], esi
mov dword [esp + 0x19c], ebx
mov byte [esp + 0x18c], bl
mov byte [esp + 0x3b4], 3
jb 0x40313d
mov ecx, dword [esp + 0x9c]
push ecx
call fcn.00403a2d
add esp, 4
cmp dword [edi + 0x38], ebp
mov dword [esp + 0xb0], esi
mov dword [esp + 0xac], ebx
mov byte [esp + 0x9c], bl
jb 0x40315c
mov eax, dword [edi + 0x24]
jmp 0x40315f
lea eax, [edi + 0x24]
cmp dword [esp + 0x78], ebp
mov ecx, dword [esp + 0x64]
jae 0x40316d
lea ecx, [esp + 0x64]
push eax
push 0x104
lea edx, [esp + 0x1ac]
push edx
push str.tmp.tmp
push ecx
push str.FILE
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
cmp dword [edi + 0x38], ebp
jb 0x403196
mov eax, dword [edi + 0x24]
jmp 0x403199
lea eax, [edi + 0x24]
cmp dword [esp + 0x5c], ebp
mov ecx, dword [esp + 0x48]
jae 0x4031a7
lea ecx, [esp + 0x48]
push eax
push 0x104
lea eax, [esp + 0x2b0]
push eax
push str.tmpURL.tmp
push ecx
push str.FILE
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
cmp dword [edi + 0x38], ebp
jb 0x4031d0
mov eax, dword [edi + 0x24]
jmp 0x4031d3
lea eax, [edi + 0x24]
cmp dword [esp + 0x40], ebp
mov ecx, dword [esp + 0x2c]
jae 0x4031e1
lea ecx, [esp + 0x2c]
push eax
push ebp
lea edx, [esp + 0x148]
push edx
push ecx
push str.FILE
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStructA]
cmp dword [esp + 0x14c], 2
je 0x403269
lea eax, [esp + 0x1a4]
mov dword [esp + 0xcc], esi
mov dword [esp + 0xc8], ebx
mov byte [esp + 0xb8], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x403220
sub eax, edx
push eax
lea eax, [esp + 0x1a8]
push eax
lea ecx, [esp + 0xbc]
call fcn.00401770
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x140]
push ecx
lea edx, [esp + 0xb8]
or eax, 1
push edx
mov ecx, edi
mov dword [esp + 0x1c], eax
call fcn.00401170
test eax, eax
mov byte [esp + 0x13], 1
jne 0x40326d
mov byte [esp + 0x13], bl
test byte [esp + 0x14], 1
je 0x4032af
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0xcc]
and ecx, 0xfffffffe
cmp eax, ebp
mov dword [esp + 0x14], ecx
jb 0x40329a
mov eax, dword [esp + 0xb8]
push eax
call fcn.00403a2d
add esp, 4
mov dword [esp + 0xcc], esi
mov dword [esp + 0xc8], ebx
mov byte [esp + 0xb8], bl
cmp byte [esp + 0x13], bl
je 0x40333a
lea eax, [esp + 0x1a4]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4032c3
sub eax, edx
push eax
lea ecx, [esp + 0x1a8]
push ecx
lea ecx, [esp + 0xf4]
call fcn.00401770
lea eax, [esp + 0x2a8]
lea edx, [eax + 1]
jmp 0x4032f0
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4032f0
sub eax, edx
push eax
lea edx, [esp + 0x2ac]
push edx
lea ecx, [esp + 0x110]
call fcn.00401770
push 0xffffffffffffffff
push ebx
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x130]
call fcn.00401680
lea ecx, [esp + 0xec]
push ecx
lea ecx, [edi + 0x58]
call fcn.00402a00
mov dword [esp + 0x18], 1
cmp dword [esp + 0x40], ebp
jb 0x40334d
mov edx, dword [esp + 0x2c]
push edx
call fcn.00403a2d
add esp, 4
cmp dword [esp + 0x5c], ebp
mov dword [esp + 0x40], esi
mov dword [esp + 0x3c], ebx
mov byte [esp + 0x2c], bl
jb 0x40336c
mov eax, dword [esp + 0x48]
push eax
call fcn.00403a2d
add esp, 4
cmp dword [esp + 0x78], ebp
mov dword [esp + 0x5c], esi
mov dword [esp + 0x58], ebx
mov byte [esp + 0x48], bl
mov byte [esp + 0x3b4], bl
jb 0x403392
mov ecx, dword [esp + 0x64]
push ecx
call fcn.00403a2d
add esp, 4
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
inc eax
cmp eax, ecx
mov dword [esp + 0x78], esi
mov dword [esp + 0x74], ebx
mov byte [esp + 0x64], bl
mov dword [esp + 0x1c], eax
jl 0x402ec0
cmp dword [esp + 0x13c], ebp
jb 0x4033cc
mov edx, dword [esp + 0x128]
push edx
call fcn.00403a2d
add esp, 4
cmp dword [esp + 0x120], ebp
mov dword [esp + 0x13c], esi
mov dword [esp + 0x138], ebx
mov byte [esp + 0x128], bl
jb 0x4033fa
mov eax, dword [esp + 0x10c]
push eax
call fcn.00403a2d
add esp, 4
mov eax, dword [esp + 0x104]
pop edi
mov dword [esp + 0x11c], esi
pop esi
cmp eax, ebp
pop ebp
mov dword [esp + 0x110], ebx
mov byte [esp + 0x100], bl
pop ebx
jb 0x40342e
mov ecx, dword [esp + 0xe0]
push ecx
call fcn.00403a2d
add esp, 4
mov ecx, dword [esp + 0x39c]
mov eax, dword [esp + 8]
mov dword fs:[0], ecx
add esp, 0x3a8
ret