Function at 0x401130
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x474
xor eax, eax
push ebx
push esi
push edi
mov ecx, 0x41
lea edi, [esp + 0x378]
rep stosd dword es:[edi], eax
mov ecx, 0x10
lea edi, [esp + 0x128]
rep stosd dword es:[edi], eax
mov ecx, 0x10
lea edi, [esp + 0xe8]
rep stosd dword es:[edi], eax
mov ecx, 0x10
lea edi, [esp + 0xa8]
rep stosd dword es:[edi], eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov ecx, 0x1e
lea edi, [esp + 0x30]
rep stosd dword es:[edi], eax
mov ecx, 0x41
lea edi, [esp + 0x270]
rep stosd dword es:[edi], eax
mov ecx, 0x41
lea edi, [esp + 0x168]
rep stosd dword es:[edi], eax
push 0x104
lea ecx, [esp + 0x274]
push ecx
push eax
mov dword [esp + 0x38], eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea eax, [esp + 0x270]
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4011e0
mov ebx, dword [ebp + 8]
sub eax, edx
lea ecx, [eax - 0x12]
mov edx, ecx
shr ecx, 2
lea esi, [esp + 0x270]
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
push ebx
mov ecx, edx
lea eax, [esp + 0x34]
and ecx, 3
push str._sInstallCount.ini
push eax
rep movsb byte es:[edi], byte [esi]
call fcn.00401728
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
add esp, 0xc
lea ecx, [esp + 0x30]
push ecx
push 0x100
lea edx, [esp + 0x380]
push edx
push 0x4071c4
push 0x4071c0
push str.InstallSend
call esi
test eax, eax
ja 0x40124f
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [esp + 0x30]
push eax
push 0x3c
lea ecx, [esp + 0x130]
push ecx
push 0x4071c4
push 0x4071b0
push str.InstallSend
call esi
lea edx, [esp + 0x30]
push edx
push 0x3c
lea eax, [esp + 0xf0]
push eax
push 0x4071c4
push str.VALUE
push str.InstallSend
call esi
lea ecx, [esp + 0x30]
push ecx
push 0x3c
lea edx, [esp + 0xb0]
push edx
push 0x4071c4
push 0x4071a4
push str.InstallSend
call esi
lea eax, [esp + 0x128]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4012c0
sub eax, edx
mov dword [esp + 0xc], eax
je 0x40131e
lea eax, [esp + 0xe8]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4012e0
sub eax, edx
mov dword [esp + 0xc], eax
je 0x40131e
lea eax, [esp + 0xe8]
push eax
lea ecx, [esp + 0x12c]
push ecx
lea edx, [esp + 0x380]
push edx
lea eax, [esp + 0x174]
push str._s_idsdfadfg_s_s
push eax
call fcn.00401728
add esp, 0x14
jmp 0x40133b
lea ecx, [esp + 0x378]
push ecx
lea edx, [esp + 0x16c]
push str._sidsdfadfg
push edx
call fcn.00401728
add esp, 0xc
lea eax, [esp + 0xa8]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x401345
sub eax, edx
mov dword [esp + 0xc], eax
je 0x4013a7
lea eax, [esp + 0x10]
push eax
call fcn.00401000
add esp, 4
test al, al
je 0x4013a7
lea eax, [esp + 0x10]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x401370
sub eax, edx
mov dword [esp + 0xc], eax
je 0x4013a7
lea ecx, [esp + 0x10]
push ecx
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0xac]
push edx
lea eax, [esp + 0x170]
push eax
push str._s_s_s
push ecx
call fcn.00401728
add esp, 0x14
jmp 0x4013bb
mov eax, dword [ebp + 0xc]
lea edx, [esp + 0x168]
push edx
push eax
call fcn.00401728
add esp, 8
mov edx, dword [ebp + 0x10]
lea ecx, [esp + 0x30]
push ecx
push 0x3c
push edx
push 0x4071c4
push str.GameType
push str.RegInfo
call esi
mov ecx, dword [ebp + 0x14]
lea eax, [esp + 0x30]
push eax
push 0x3c
push ecx
push 0x4071c4
push str.PingTaiType
push str.RegInfo
call esi
mov eax, dword [ebp + 0x18]
lea edx, [esp + 0x30]
push edx
push 0x3c
push eax
push 0x4071c4
push str.CallFileName
push str.RegInfo
call esi
push str..cscscs.ini
push ebx
push 0x407130
push 0x407130
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
pop edi
pop esi
mov al, 1
pop ebx
mov esp, ebp
pop ebp
ret