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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3c0
mov eax, dword [0x1008bb60]
xor eax, ebp
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x30], 0
lea ecx, [ebp - 0x14]
call fcn.100016b0
lea ecx, [ebp - 0x2c]
call fcn.100016b0
lea ecx, [ebp - 0x54]
call fcn.100016b0
lea ecx, [ebp - 0x28]
call fcn.100016b0
lea ecx, [ebp - 0x1c]
call fcn.100016b0
mov byte [ebp - 0x290], 0
push 0x1ff
push 0
lea eax, [ebp - 0x28f]
push eax
call fcn.10041d70
add esp, 0xc
lea ecx, [ebp - 0x50]
call fcn.100021d0
lea ecx, [ebp - 0x48]
call fcn.10006410
call fcn.10001600
mov dword [ebp - 0x70], eax
push 0x200
lea ecx, [ebp - 0x290]
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea edx, [ebp - 0x290]
push edx
push 0x10073598
lea eax, [ebp - 0x54]
push eax
call fcn.100030c0
add esp, 0xc
push 0x5c
lea ecx, [ebp - 0x54]
call fcn.10002970
push eax
lea ecx, [ebp - 0x298]
push ecx
lea ecx, [ebp - 0x54]
call fcn.100029c0
push eax
lea ecx, [ebp - 0x54]
call fcn.100016f0
lea ecx, [ebp - 0x298]
call fcn.100016d0
push 0x1007359c
lea edx, [ebp - 0x54]
push edx
lea eax, [ebp - 0x29c]
push eax
call fcn.10002af0
add esp, 0xc
push eax
lea ecx, [ebp - 0x14]
call fcn.100016f0
lea ecx, [ebp - 0x29c]
call fcn.100016d0
push 0x100735a8
lea ecx, [ebp - 0x54]
push ecx
lea edx, [ebp - 0x2a0]
push edx
call fcn.10002af0
add esp, 0xc
push eax
lea ecx, [ebp - 0x2c]
call fcn.100016f0
lea ecx, [ebp - 0x2a0]
call fcn.100016d0
push 0x100735b4
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebp - 0x2a4]
push ecx
call fcn.10002af0
add esp, 0xc
push eax
lea ecx, [ebp - 0x28]
call fcn.100016f0
lea ecx, [ebp - 0x2a4]
call fcn.100016d0
lea ecx, [ebp - 0x6c]
call fcn.10030990
lea ecx, [ebp - 0x74]
call fcn.100016b0
push 0x103
push 0x104
lea ecx, [ebp - 0x74]
call fcn.10001730
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 0xffffffffffffffff
lea ecx, [ebp - 0x74]
call fcn.10006080
lea ecx, [ebp - 0x74]
call fcn.10005ce0
lea edx, [ebp - 0x8c]
push edx
lea ecx, [ebp - 0x48]
call fcn.10006510
mov dword [ebp - 0x20], eax
lea ecx, [ebp - 0x2c]
call fcn.10025f80
push eax
push 0
push 0x100735cc
push 0x100735d8
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x2c]
call fcn.10025f80
push eax
push 0
push 0x100735e0
push 0x100735ec
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 4], eax
lea ecx, [ebp - 0x28]
call fcn.10025f80
push eax
push 0
push 0x100735f4
push 0x100735fc
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x5c], eax
lea ecx, [ebp - 0x2c]
call fcn.10025f80
push eax
push 0
push 0x10073608
push 0x10073614
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
push eax
push 0x1007361c
lea ecx, [ebp - 0x1c]
push ecx
call fcn.100030c0
add esp, 0xc
push 0x10073620
lea ecx, [ebp - 0x50]
call fcn.100022c0
push 0
push 0x10073638
lea ecx, [ebp - 0x50]
call fcn.10002330
push 0
lea ecx, [ebp - 0x14]
call fcn.10001730
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
jne 0x10017a72
push 0
lea ecx, [ebp - 0x14]
call fcn.10001730
push eax
push 0x10073648
push 0x10073650
push 0x10073658
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
push 0
lea ecx, [ebp - 0x14]
call fcn.10001730
push eax
push 0x10073660
push 0x10073664
push 0x10073674
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
push 0
push 0x1007367c
lea ecx, [ebp - 0x74]
call fcn.10005c60
cmp eax, 0xffffffff
je 0x10017a90
push 1
lea ecx, [ebp - 0x6c]
call fcn.100309d0
lea ecx, [ebp - 0x6c]
call fcn.100309f0
test eax, eax
je 0x10017ae3
lea ecx, [ebp - 0x6c]
call fcn.10030ad0
push eax
push 0x10073688
lea ecx, [ebp - 0x50]
call fcn.10002330
lea edx, [ebp - 0x2a8]
push edx
lea ecx, [ebp - 0x6c]
call fcn.10030b10
mov ecx, eax
call fcn.10025f80
push eax
push 0x10073698
lea ecx, [ebp - 0x50]
call fcn.100022f0
lea ecx, [ebp - 0x2a8]
call fcn.100016d0
jmp 0x10017b04
push 0
push 0x100736ac
lea ecx, [ebp - 0x50]
call fcn.10002330
push 0x100736bc
push 0x100736c0
lea ecx, [ebp - 0x50]
call fcn.100022f0
lea ecx, [ebp - 0x6c]
call fcn.10030a80
call fcn.1002f500
push eax
push 0x100736d4
lea ecx, [ebp - 0x50]
call fcn.10002330
call fcn.1002ff60
push eax
push 0x100736e0
lea ecx, [ebp - 0x50]
call fcn.10002330
call fcn.1002ff00
push eax
push 0x100736ec
lea ecx, [ebp - 0x50]
call fcn.10002330
call fcn.10017780
push eax
push 0x100736f8
lea ecx, [ebp - 0x50]
call fcn.10002330
lea ecx, [ebp - 0x14]
call fcn.10025f80
push eax
push 0x64b
push 0x1007370c
push 0x10073714
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x294], eax
mov eax, dword [ebp - 0x294]
push eax
push 0x1007371c
lea ecx, [ebp - 0x50]
call fcn.10002330
lea ecx, [ebp - 0x34]
call fcn.100016b0
lea ecx, [ebp - 0x34]
push ecx
call fcn.100304c0
add esp, 4
lea ecx, [ebp - 0x34]
call fcn.10025f80
push eax
lea ecx, [ebp - 0x3ac]
call fcn.10025e60
mov ecx, eax
call fcn.10025f80
push eax
lea ecx, [ebp - 0x58]
call fcn.10025be0
lea ecx, [ebp - 0x3ac]
call fcn.10025e90
lea ecx, [ebp - 0x58]
call fcn.10025f80
push eax
push 0x10073728
lea ecx, [ebp - 0x50]
call fcn.100022f0
mov edx, dword [ebp - 0x5c]
imul edx, edx, 0xa
add edx, dword [ebp - 0x20]
push edx
push 0x10073734
lea ecx, [ebp - 0x50]
call fcn.10002330
mov byte [ebp - 0xd], 0
call fcn.1002fa50
test eax, eax
je 0x10017c13
mov byte [ebp - 0xd], 1
jmp 0x10017c17
mov byte [ebp - 0xd], 2
movzx eax, byte [ebp - 0xd]
push eax
push 0x10073744
lea ecx, [ebp - 0x50]
call fcn.10002330
mov ecx, dword [ebp - 4]
push ecx
push 0x1007374c
lea ecx, [ebp - 0x50]
call fcn.10002330
mov edx, dword [ebp - 0x18]
push edx
push 0x10073764
lea ecx, [ebp - 0x50]
call fcn.10002330
lea ecx, [ebp - 0x1c]
call fcn.10025f80
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x78], 0
jne 0x10017c68
mov dword [ebp - 0x3b8], 0
jmp 0x10017cc7
mov eax, dword [ebp - 0x78]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
add eax, 1
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0x3fffffff
jle 0x10017c8d
mov dword [ebp - 0x3bc], 0
jmp 0x10017cbb
mov eax, dword [ebp - 0xc]
shl eax, 1
call fcn.10041b20
mov dword [ebp - 0x3c0], esp
mov ecx, dword [ebp - 0x70]
push ecx
mov edx, dword [ebp - 0xc]
push edx
mov eax, dword [ebp - 0x78]
push eax
mov ecx, dword [ebp - 0x3c0]
push ecx
call fcn.10001610
mov dword [ebp - 0x3bc], eax
mov edx, dword [ebp - 0x3bc]
mov dword [ebp - 0x3b8], edx
mov eax, dword [ebp - 0x3b8]
push eax
push 0x10073778
lea ecx, [ebp - 0x50]
call fcn.100022f0
lea ecx, [ebp - 0x60]
call fcn.100016b0
push ecx
mov ecx, esp
mov dword [ebp - 0x3b0], esp
lea edx, [ebp - 0x60]
push edx
call fcn.10002cc0
call fcn.1001c670
add esp, 4
lea ecx, [ebp - 0x50]
call fcn.10002420
test eax, eax
jne 0x10017d13
push 0
lea ecx, [ebp - 0x50]
call fcn.100024b0
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x3b4], eax
lea ecx, [ebp - 0x60]
call fcn.100016d0
lea ecx, [ebp - 0x58]
call fcn.100016d0
lea ecx, [ebp - 0x34]
call fcn.100016d0
lea ecx, [ebp - 0x74]
call fcn.100016d0
lea ecx, [ebp - 0x6c]
call fcn.100309c0
lea ecx, [ebp - 0x48]
call fcn.10006450
lea ecx, [ebp - 0x50]
call fcn.10002280
lea ecx, [ebp - 0x1c]
call fcn.100016d0
lea ecx, [ebp - 0x28]
call fcn.100016d0
lea ecx, [ebp - 0x54]
call fcn.100016d0
lea ecx, [ebp - 0x2c]
call fcn.100016d0
lea ecx, [ebp - 0x14]
call fcn.100016d0
mov eax, dword [ebp - 0x3b4]
lea esp, [ebp - 0x3c0]
mov ecx, dword [ebp - 0x7c]
xor ecx, ebp
call fcn.10041acb
mov esp, ebp
pop ebp
ret