Function at 0x402a40
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4af671
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x3b0
mov ecx, dword [0x4c6160]
mov eax, dword [0x4c51e0]
push ebx
xor ebx, ebx
cmp ecx, ebx
push esi
mov dword [esp + 0x3b0], eax
push edi
je 0x402c0f
call fcn.004011e0
cmp eax, 1
ja 0x402c0f
mov ecx, dword [0x4c6160]
push ebx
call fcn.00403f70
push eax
push str.update
push 0x4b0270
lea eax, [esp + 0x1b4]
push 0x104
push eax
call fcn.00401340
push ebx
push ebx
lea ecx, [esp + 0x1c4]
push ecx
lea edx, [esp + 0xf0]
push edx
call fcn.00404750
add esp, 0x24
cmp eax, ebx
je 0x402b2b
push eax
lea eax, [esp + 0x1ac]
push eax
push 0xdd16
call fcn.004a18b0
add esp, 4
push eax
lea ecx, [esp + 0x2bc]
push 0x100
push ecx
call fcn.00401340
add esp, 0x14
push ebx
push 0xdd17
call fcn.004a18b0
add esp, 4
push eax
mov eax, dword [0x4c6164]
lea edx, [esp + 0x2b8]
push edx
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
jmp 0x402dc1
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0xd8]
push str.data_Login.ini
push eax
call fcn.00404ee0
add esp, 0x10
test eax, eax
jne 0x402bff
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
push 0x4b0324
push str.temp.ini
mov byte [eax + edx], bl
call fcn.004a281f
mov esi, eax
add esp, 8
cmp esi, ebx
je 0x402c0f
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
push esi
push ecx
push 1
push edx
call fcn.004a2777
push esi
call fcn.004a261f
xor eax, eax
mov byte [esp + 0x154], bl
mov ecx, 0x18
lea edi, [esp + 0x155]
rep stosd dword es:[edi], eax
add esp, 0x14
stosw word es:[edi], ax
push str.._temp.ini
push 0x64
stosb byte es:[edi], al
lea eax, [esp + 0x148]
push eax
push 0x4b0308
push 0x4b0304
push str.VERSION
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push str.._temp.ini
call fcn.004a28c6
lea ecx, [esp + 0x10]
push ecx
lea edx, [esp + 0x24]
push edx
lea eax, [esp + 0xdc]
push str.matchver.txt
push eax
call fcn.00404ee0
add esp, 0x14
test eax, eax
je 0x402c19
lea ecx, [esp + 0xd0]
push ecx
call fcn.00404e40
add esp, 4
mov eax, 1
jmp 0x402dc1
mov edx, dword [esp + 0xc]
inc edx
push edx
call fcn.004a1b2e
mov ecx, dword [esp + 0x10]
inc ecx
mov edx, ecx
mov esi, eax
shr ecx, 2
xor eax, eax
mov edi, esi
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x20]
push eax
push ecx
push esi
call fcn.004a2ac0
add esp, 0x10
push str.._data_login.ini
mov byte [esp + 0x6c], bl
xor eax, eax
mov ecx, 0x18
lea edi, [esp + 0x6d]
rep stosd dword es:[edi], eax
push 0x64
lea edx, [esp + 0x70]
push edx
push 0x4b0308
stosw word es:[edi], ax
push 0x4b0304
push str.VERSION
mov dword [esp + 0x2c], ebx
stosb byte es:[edi], al
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [esp + 0x140]
push eax
lea ecx, [esp + 0x50]
call fcn.004024b0
mov dword [esp + 0x3c4], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
push 0xffffffffffffffff
push 0x4b02d4
lea ecx, [esp + 0x28]
push esi
push ecx
mov byte [esp + 0x3d4], 1
call fcn.004a02f0
add esp, 0x10
lea ecx, [esp + 0x20]
xor edi, edi
call fcn.004011e0
test eax, eax
jle 0x402d8a
lea ecx, [ecx]
mov edx, dword [esp + 0x24]
lea eax, [ebx + edx]
push eax
lea ecx, [esp + 0x34]
call fcn.00402420
lea eax, [esp + 0x68]
push eax
lea ecx, [esp + 0x34]
push ecx
mov byte [esp + 0x3cc], 2
call fcn.00401880
add esp, 8
test al, al
je 0x402d25
lea edx, [esp + 0x4c]
push edx
lea eax, [esp + 0x6c]
push eax
call fcn.004018c0
add esp, 8
test al, al
jne 0x402d79
lea ecx, [esp + 0x68]
push ecx
lea edx, [esp + 0x50]
push edx
call fcn.00401880
add esp, 8
test al, al
je 0x402d51
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x6c]
push ecx
call fcn.004018c0
add esp, 8
test al, al
jne 0x402d79
lea ecx, [esp + 0x30]
mov byte [esp + 0x3c4], 1
call fcn.00401900
lea ecx, [esp + 0x20]
inc edi
add ebx, 0x1c
call fcn.004011e0
cmp edi, eax
jl 0x402ce0
jmp 0x402d8a
lea ecx, [esp + 0x30]
mov dword [esp + 0x14], 1
call fcn.00401900
lea edx, [esp + 0xd0]
push edx
call fcn.00404e40
push esi
call fcn.004a2abb
add esp, 8
lea ecx, [esp + 0x20]
call fcn.004029b0
cmp dword [esp + 0x64], 0x10
jb 0x402dbd
mov eax, dword [esp + 0x50]
push eax
call fcn.004a206d
add esp, 4
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x3bc]
mov dword fs:[0], ecx
mov ecx, dword [esp + 0x3b4]
call fcn.004a256f
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret