Function at 0x402104
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x40a3d0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x540
push edi
mov dword [ebp - 0x54c], ecx
mov word [ebp - 0x21c], 0
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x21a]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0x103
lea eax, [ebp - 0x21c]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0x5c
lea ecx, [ebp - 0x21c]
push ecx
call fcn.004025b0
add esp, 8
mov dword [ebp - 0x43c], eax
cmp dword [ebp - 0x43c], 0
jne 0x40218e
push 0x2f
lea edx, [ebp - 0x21c]
push edx
call fcn.004025b0
add esp, 8
mov dword [ebp - 0x43c], eax
mov eax, dword [ebp - 0x43c]
mov word [eax], 0
mov word [ebp - 0x434], 0
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x432]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0x103
lea ecx, [ebp - 0x434]
push ecx
mov edx, dword [0x40f884]
push edx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov dword [ebp - 0x22c], 0
jmp 0x4021e7
mov eax, dword [ebp - 0x22c]
add eax, 1
mov dword [ebp - 0x22c], eax
cmp dword [ebp - 0x22c], 2
jge 0x402234
push 0x5c
lea ecx, [ebp - 0x434]
push ecx
call fcn.004025b0
add esp, 8
mov dword [ebp - 0x548], eax
cmp dword [ebp - 0x548], 0
jne 0x402227
push 0x2f
lea edx, [ebp - 0x434]
push edx
call fcn.004025b0
add esp, 8
mov dword [ebp - 0x548], eax
mov eax, dword [ebp - 0x548]
mov word [eax], 0
jmp 0x4021d8
push str..config.ini
push 0
push 0x40f13c
push 0x40f144
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
xor edx, edx
mov ecx, 0xf4240
div ecx
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x10]
xor edx, edx
mov ecx, 0xf4240
div ecx
mov eax, edx
xor edx, edx
mov ecx, 0x2710
div ecx
mov dword [ebp - 0x228], eax
mov eax, dword [ebp - 0x10]
xor edx, edx
mov ecx, 0x2710
div ecx
mov dword [ebp - 0x544], edx
lea edx, [ebp - 0x434]
push edx
push 0xffffffffffffffff
push 0
push 0x804
push 1
push 1
mov eax, dword [ebp - 0x544]
push eax
mov cx, word [ebp - 0x228]
push ecx
mov dx, word [ebp - 0x220]
push edx
mov eax, dword [ebp - 0x43c]
add eax, 2
push eax
lea ecx, [ebp - 0x21c]
push ecx
mov edx, dword [ebp - 0x43c]
add edx, 2
push edx
push str.QQGame
call fcn.00407c00
add esp, 0x34
lea eax, [ebp - 0x434]
push eax
lea ecx, [ebp - 0x224]
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 4], 0
mov dword [ebp - 0x14], 0x2710
mov byte [ebp - 0x540], 0
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x53f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0
lea ecx, [ebp - 0x224]
call sub.MFC42.DLL_CString::GetBuffer
push eax
push str._sconfigDynamicInfo.ini
push 0x103
lea ecx, [ebp - 0x540]
push ecx
call dword [sym.imp.MSVCRT.dll__snprintf]
add esp, 0x10
lea edx, [ebp - 0x540]
push edx
mov eax, dword [ebp - 0x14]
push eax
push 0x40f178
push 0x40f184
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x438], eax
push 0
mov ecx, dword [ebp - 0x438]
push ecx
call fcn.004082f0
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x224]
call sub.MFC42.DLL_CString::CString
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
mov esp, ebp
pop ebp
ret