Function at 0x401000
Capabilities:
Read .ini file

Disassembly:
push 0xffffffffffffffff
push 0x41dcdb
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x218
push ebp
push esi
mov esi, ecx
push edi
mov dword [esp + 0xc], esi
call fcn.00408910
mov ecx, 0x6b0
xor eax, eax
lea edi, [esi + 0x40]
mov dword [esi + 0x1b00], 0xffffffff
mov dword [esi + 0x3c], 0
mov dword [esp + 0x22c], 0
rep stosd dword es:[edi], eax
mov ebp, 1
lea edi, [esi + 0x358]
push ebp
lea eax, [esp + 0x1c]
push 0x422058
push eax
call fcn.00413140
add esp, 0xc
lea ecx, [esp + 0x24]
lea edx, [esp + 0x18]
push 0x427278
push 0x200
push ecx
push 0x426bb0
push edx
push 0x422050
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
test eax, eax
je 0x401290
mov al, byte [esp + 0x24]
mov dword [esi + 0x3c], ebp
test al, al
lea esi, [esp + 0x24]
lea ecx, [edi - 0x318]
je 0x4010bf
cmp al, 0x2c
je 0x4010bf
mov byte [ecx], al
mov al, byte [esi + 1]
inc ecx
inc esi
test al, al
jne 0x4010b0
inc esi
mov byte [ecx], 0
movsx eax, byte [esi]
push eax
call fcn.00413110
add esp, 4
test eax, eax
je 0x4010e5
movsx ecx, byte [esi + 1]
inc esi
push ecx
call fcn.00413110
add esp, 4
test eax, eax
jne 0x4010d3
mov al, byte [esi]
lea ecx, [edi - 0x2cb]
test al, al
je 0x401100
cmp al, 0x2c
je 0x401100
mov byte [ecx], al
mov al, byte [esi + 1]
inc ecx
inc esi
test al, al
jne 0x4010f1
inc esi
mov byte [ecx], 0
movsx edx, byte [esi]
push edx
call fcn.00413110
add esp, 4
test eax, eax
je 0x401126
movsx eax, byte [esi + 1]
inc esi
push eax
call fcn.00413110
add esp, 4
test eax, eax
jne 0x401114
mov al, byte [esi]
lea ecx, [edi - 0x2d8]
test al, al
je 0x401141
cmp al, 0x2c
je 0x401141
mov byte [ecx], al
mov al, byte [esi + 1]
inc ecx
inc esi
test al, al
jne 0x401132
inc esi
mov byte [ecx], 0
movsx ecx, byte [esi]
push ecx
call fcn.00413110
add esp, 4
test eax, eax
je 0x401167
movsx edx, byte [esi + 1]
inc esi
push edx
call fcn.00413110
add esp, 4
test eax, eax
jne 0x401155
cmp byte [esi], 0x31
jne 0x401173
mov dword [edi + 0x38], 1
movsx eax, byte [esi + 2]
add esi, 2
push eax
call fcn.00413110
add esp, 4
test eax, eax
je 0x401199
movsx ecx, byte [esi + 1]
inc esi
push ecx
call fcn.00413110
add esp, 4
test eax, eax
jne 0x401187
mov al, byte [esi]
lea ecx, [esp + 0x10]
test al, al
je 0x4011b2
cmp al, 0x2c
je 0x4011b2
mov byte [ecx], al
mov al, byte [esi + 1]
inc ecx
inc esi
test al, al
jne 0x4011a3
lea edx, [esp + 0x10]
mov byte [ecx], 0
push edx
call fcn.00413000
add esp, 4
inc esi
mov dword [edi + 0x3c], eax
movsx eax, byte [esi]
push eax
call fcn.00413110
add esp, 4
test eax, eax
je 0x4011e8
movsx ecx, byte [esi + 1]
inc esi
push ecx
call fcn.00413110
add esp, 4
test eax, eax
jne 0x4011d6
mov al, byte [esi]
lea ecx, [edi - 0x1c7]
test al, al
je 0x401203
cmp al, 0x2c
je 0x401203
mov byte [ecx], al
mov al, byte [esi + 1]
inc ecx
inc esi
test al, al
jne 0x4011f4
inc esi
mov byte [ecx], 0
movsx edx, byte [esi]
push edx
call fcn.00413110
add esp, 4
test eax, eax
je 0x401229
movsx eax, byte [esi + 1]
inc esi
push eax
call fcn.00413110
add esp, 4
test eax, eax
jne 0x401217
mov al, byte [esi]
lea ecx, [edi - 0x147]
test al, al
je 0x401244
cmp al, 0x2c
je 0x401244
mov byte [ecx], al
mov al, byte [esi + 1]
inc ecx
inc esi
test al, al
jne 0x401235
mov byte [ecx], 0
mov al, byte [esi]
test al, al
je 0x40128c
movsx ecx, byte [esi + 1]
inc esi
push ecx
call fcn.00413110
add esp, 4
test eax, eax
je 0x401271
movsx edx, byte [esi + 1]
inc esi
push edx
call fcn.00413110
add esp, 4
test eax, eax
jne 0x40125f
mov al, byte [esi]
test al, al
je 0x40128c
lea ecx, [edi - 0x48]
cmp al, 0x2c
je 0x401289
mov byte [ecx], al
mov al, byte [esi + 1]
inc ecx
inc esi
test al, al
jne 0x40127a
mov byte [ecx], 0
mov esi, dword [esp + 0xc]
inc ebp
add edi, 0x358
cmp ebp, 8
jle 0x40105c
mov ecx, dword [esp + 0x224]
mov eax, esi
pop edi
pop esi
mov dword fs:[0], ecx
pop ebp
add esp, 0x224
ret