Function at 0x403678
Capabilities:
Read .ini file

Disassembly:
push ebx
push esi
push edi
push ebp
mov ebx, 0x54a8ac
mov esi, 0x57c4a0
mov ebp, str.mirc.ini
mov edi, 0x553524
push ebp
push 0x3e7
push esi
lea eax, [ebx + 0xf]
push eax
lea edx, [ebx + 7]
push edx
push ebx
call sub.KERNEL32.dll_GetPrivateProfileStringA
mov dword [edi], esi
push 0
call fcn.00498f25
mov dword [0x54a620], eax
push 0
call fcn.00498f25
mov dword [0x54a624], eax
push 0
call fcn.00498f25
mov dword [0x54a628], eax
push ebp
push 0x3e7
push esi
lea ecx, [ebx + 0x20]
push ecx
lea eax, [ebx + 0x1a]
push eax
lea edx, [ebx + 0x13]
push edx
call sub.KERNEL32.dll_GetPrivateProfileStringA
mov byte [esi + 0x5a], 0
push esi
push edi
mov edi, esi
mov esi, 0x54a62c
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
cmp byte [0x54a62c], 0
jne 0x403728
push esi
push edi
lea esi, [ebx + 0x24]
mov edi, 0x54a62c
mov eax, edi
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
pop esi
push ebp
push 0x3e7
push esi
lea edx, [ebx + 0x3d]
push edx
lea ecx, [ebx + 0x34]
push ecx
lea eax, [ebx + 0x2d]
push eax
call sub.KERNEL32.dll_GetPrivateProfileStringA
mov dword [edi], esi
push 1
call fcn.00498f25
mov dword [0x54a690], eax
push 1
call fcn.00498f25
mov dword [0x54a694], eax
push 1
call fcn.00498f25
mov dword [0x54a698], eax
push 0x64
call fcn.00498f25
mov dword [0x54a6a0], eax
push 0
call fcn.00498f25
mov dword [0x54a69c], eax
push ebp
push 0x3e7
push esi
lea edx, [ebx + 0x50]
push edx
lea ecx, [ebx + 0x48]
push ecx
lea eax, [ebx + 0x41]
push eax
call sub.KERNEL32.dll_GetPrivateProfileStringA
mov dword [edi], esi
push 0x96
call fcn.00498f25
mov dword [0x54a6ac], eax
push 0x3c
call fcn.00498f25
mov dword [0x54a6b0], eax
push 0x64
call fcn.00498f25
mov dword [0x54a6b4], eax
push 1
call fcn.00498f25
mov dword [0x54a6b8], eax
push 0xb4
call fcn.00498f25
mov dword [0x54a6bc], eax
push 0xa
call fcn.00498f25
mov dword [0x54a6c0], eax
push 0x32
call fcn.00498f25
mov dword [0x54a6c4], eax
push 1
call fcn.00498f25
mov dword [0x54a71c], eax
push 1
call fcn.00498f25
mov dword [0x54a720], eax
push 1
call fcn.00498f25
mov dword [0x54a724], eax
push 0
call fcn.00498f25
mov dword [0x54a72c], eax
push 0x32
call fcn.00498f25
mov dword [0x54a730], eax
push 1
call fcn.00498f25
mov dword [0x54a6c8], eax
push ebp
push 0x3e7
push esi
lea edx, [ebx + 0x64]
push edx
lea ecx, [ebx + 0x5b]
push ecx
lea eax, [ebx + 0x54]
push eax
call sub.KERNEL32.dll_GetPrivateProfileStringA
mov dword [edi], esi
push 1
call fcn.00498f25
mov dword [0x54a6d0], eax
push 1
call fcn.00498f25
mov dword [0x54a6d4], eax
push 1
call fcn.00498f25
mov dword [0x54a6d8], eax
push 1
call fcn.00498f25
mov dword [0x54a6dc], eax
push 1
call fcn.00498f25
mov dword [0x54a6e0], eax
push 1
call fcn.00498f25
mov dword [0x54a6e4], eax
push 1
call fcn.00498f25
mov dword [0x54a6e8], eax
push 1
call fcn.00498f25
mov dword [0x54a6ec], eax
push 1
call fcn.00498f25
mov dword [0x54a6f0], eax
push ebp
push 0x3e7
push esi
lea edx, [ebx + 0x78]
push edx
lea ecx, [ebx + 0x6f]
push ecx
lea eax, [ebx + 0x68]
push eax
call sub.KERNEL32.dll_GetPrivateProfileStringA
mov dword [edi], esi
push 1
call fcn.00498f25
mov dword [0x54a6f4], eax
push 1
call fcn.00498f25
mov dword [0x54a6f8], eax
push 1
call fcn.00498f25
mov dword [0x54a6fc], eax
push 1
call fcn.00498f25
mov dword [0x54a700], eax
push ebp
push 0x3e7
push esi
lea edx, [ebx + 0x8a]
push edx
lea ecx, [ebx + 0x83]
push ecx
lea eax, [ebx + 0x7c]
push eax
call sub.KERNEL32.dll_GetPrivateProfileStringA
mov dword [edi], esi
push 1
call fcn.00498f25
mov dword [0x54a704], eax
push 1
call fcn.00498f25
mov dword [0x54a708], eax
push 1
call fcn.00498f25
mov dword [0x54a70c], eax
push 1
call fcn.00498f25
mov dword [0x54a710], eax
push 1
call fcn.00498f25
mov dword [0x54a714], eax
push 1
call fcn.00498f25
mov dword [0x54a718], eax
push 1
call fcn.00498f25
mov dword [0x54a728], eax
push ebp
push 0x3e7
push esi
lea edx, [ebx + 0x9a]
push edx
lea ecx, [ebx + 0x95]
push ecx
lea eax, [ebx + 0x8e]
push eax
call sub.KERNEL32.dll_GetPrivateProfileStringA
mov dword [edi], esi
push 0x14
call fcn.00498f25
mov dword [0x54a6a4], eax
push 0x14
call fcn.00498f25
mov dword [0x54a6a8], eax
xor edi, edi
xor eax, eax
mov dword [0x54a6cc], eax
push edi
lea edx, [ebx + 0x9e]
push edx
push 0x57c887
call sub.USER32.dll_wsprintfA
add esp, 0xc
push ebp
push 0x3e7
push esi
lea ecx, [ebx + 0xac]
push ecx
push 0x57c887
lea eax, [ebx + 0xa3]
push eax
call sub.KERNEL32.dll_GetPrivateProfileStringA
cmp byte [esi], 0
je 0x403a26
push 0x2c
push esi
call fcn.005396bd
add esp, 8
test eax, eax
je 0x403a23
push 0
push 0
push esi
push dword [0x54a6cc]
call fcn.004b0c4c
test eax, eax
je 0x403a26
mov dword [0x54a6cc], eax
inc edi
jmp 0x4039c2
pop ebp
pop edi
pop esi
pop ebx
ret