Function at 0x45e9b4
Capabilities:
Read .ini file

Disassembly:
push ebx
push esi
push edi
push ebp
push ecx
mov ebx, 0x4cf204
mov esi, str.mirc.ini
mov edi, 0x4e2a53
mov ebp, 0x4e266c
push esi
push 0x64
push 0x4d17b4
lea eax, [ebx + 0x280]
push eax
lea edx, [ebx + 0x27a]
push edx
lea ecx, [ebx + 0x274]
push ecx
call sub.KERNEL32.dll_GetPrivateProfileStringA
push esi
push 0x64
push 0x4d1818
lea eax, [ebx + 0x291]
push eax
lea edx, [ebx + 0x28a]
push edx
lea ecx, [ebx + 0x284]
push ecx
call sub.KERNEL32.dll_GetPrivateProfileStringA
cmp byte [0x4d16e8], 0
jne 0x45ea3c
push esi
push 0x64
push 0x4d16e8
lea eax, [ebx + 0x2a1]
push eax
lea edx, [ebx + 0x29b]
push edx
lea ecx, [ebx + 0x295]
push ecx
call sub.KERNEL32.dll_GetPrivateProfileStringA
cmp byte [0x4d174c], 0
jne 0x45ea67
push esi
push 0x64
push 0x4d174c
lea eax, [ebx + 0x2b2]
push eax
lea edx, [ebx + 0x2ab]
push edx
lea ecx, [ebx + 0x2a5]
push ecx
call sub.KERNEL32.dll_GetPrivateProfileStringA
push esi
push 0x3e7
push edi
lea eax, [ebx + 0x2c2]
push eax
lea edx, [ebx + 0x2bc]
push edx
lea ecx, [ebx + 0x2b6]
push ecx
call sub.KERNEL32.dll_GetPrivateProfileStringA
push edi
call fcn.004a0a14
cmp byte [0x4d1a70], 0
jne 0x45eac2
push esi
push edi
mov esi, 0x4d1a70
mov edi, 0x4d19a8
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
push esi
push 0x64
push 0x4d1ad6
lea eax, [ebx + 0x2d4]
push eax
lea edx, [ebx + 0x2cd]
push edx
lea ecx, [ebx + 0x2c6]
push ecx
call sub.KERNEL32.dll_GetPrivateProfileStringA
push esi
push 0x64
push 0x4d1b3a
lea eax, [ebx + 0x2e8]
push eax
lea edx, [ebx + 0x2df]
push edx
lea ecx, [ebx + 0x2d8]
push ecx
call sub.KERNEL32.dll_GetPrivateProfileStringA
push esi
push 0x3e7
push edi
lea eax, [ebx + 0x2fb]
push eax
lea edx, [ebx + 0x2f3]
push edx
lea ecx, [ebx + 0x2ec]
push ecx
call sub.KERNEL32.dll_GetPrivateProfileStringA
cmp byte [edi], 0
je 0x45eb43
push 0xa
lea eax, [esp + 4]
push eax
push edi
call fcn.004c61dc
add esp, 0xc
mov dword [0x4d1ba4], eax
jmp 0x45eb4b
xor edx, edx
mov dword [0x4d1ba4], edx
push esi
push 0x3e7
push edi
lea ecx, [ebx + 0x30e]
push ecx
lea eax, [ebx + 0x306]
push eax
lea edx, [ebx + 0x2ff]
push edx
call sub.KERNEL32.dll_GetPrivateProfileStringA
lea ecx, [ebx + 0x312]
push ecx
push edi
call fcn.004bcfe4
add esp, 8
test eax, eax
jne 0x45eb8c
mov dword [0x4ce564], 1
jmp 0x45eb93
xor eax, eax
mov dword [0x4ce564], eax
push esi
push 0x64
push 0x4ce572
lea edx, [ebx + 0x326]
push edx
lea ecx, [ebx + 0x31e]
push ecx
lea eax, [ebx + 0x317]
push eax
call sub.KERNEL32.dll_GetPrivateProfileStringA
cmp byte [0x4ce572], 0
je 0x45ebdc
push 0x20
push 0x4ce572
call fcn.004bce0c
add esp, 8
mov dword [esp], eax
cmp dword [esp], 0
je 0x45ebdc
mov edx, dword [esp]
mov byte [edx], 0
cmp byte [0x4ce572], 0
jne 0x45ebed
xor ecx, ecx
mov dword [0x4ce564], ecx
push esi
push 0x32
push 0x4ce5d6
lea eax, [ebx + 0x339]
push eax
lea edx, [ebx + 0x331]
push edx
lea ecx, [ebx + 0x32a]
push ecx
call sub.KERNEL32.dll_GetPrivateProfileStringA
push esi
push 0x3e7
push edi
lea eax, [ebx + 0x34c]
push eax
lea edx, [ebx + 0x346]
push edx
lea ecx, [ebx + 0x33f]
push ecx
call sub.KERNEL32.dll_GetPrivateProfileStringA
cmp byte [edi], 0
je 0x45ec44
push edi
call fcn.004c4ccc
pop ecx
mov word [0x4ce570], ax
jmp 0x45ec4d
mov word [0x4ce570], 0x71
cmp word [0x4ce570], 0
ja 0x45ec60
mov word [0x4ce570], 0x71
push esi
push 0x180
push 0x4ec8f4
lea eax, [ebx + 0x363]
push eax
lea edx, [ebx + 0x35a]
push edx
lea ecx, [ebx + 0x353]
push ecx
call sub.KERNEL32.dll_GetPrivateProfileStringA
push 1
lea eax, [ebx + 0x374]
push eax
lea edx, [ebx + 0x367]
push edx
push 0x4ec8f4
call fcn.0045e860
push esi
push 0x180
push str.urls.ini
lea ecx, [ebx + 0x38a]
push ecx
lea eax, [ebx + 0x384]
push eax
lea edx, [ebx + 0x37d]
push edx
call sub.KERNEL32.dll_GetPrivateProfileStringA
push 1
lea ecx, [ebx + 0x398]
push ecx
lea eax, [ebx + 0x38e]
push eax
push str.urls.ini
call fcn.0045e860
push 2
lea edx, [ebx + 0x39e]
push edx
push str.urls.ini
call fcn.004443a8
mov dword [0x4d3e2c], eax
push esi
push 0x3e7
push edi
lea ecx, [ebx + 0x3af]
push ecx
lea eax, [ebx + 0x3ab]
push eax
lea edx, [ebx + 0x3a6]
push edx
call sub.KERNEL32.dll_GetPrivateProfileStringA
test eax, eax
jbe 0x45ed70
cmp dword [0x4d3e2c], 0
je 0x45ed37
push esi
push 0
push 0
lea ecx, [ebx + 0x3b3]
push ecx
call fcn.0045cffc
jmp 0x45ed70
push 2
push esi
mov eax, dword [0x4d3e2c]
push eax
lea edx, [ebx + 0x3bd]
push edx
lea ecx, [ebx + 0x3b8]
push ecx
call fcn.0045d160
mov dword [0x4d3e2c], eax
push esi
push 0
push 0
lea eax, [ebx + 0x3c0]
push eax
call fcn.0045cffc
push 0
call fcn.004b1134
push esi
push 0x100
push 0x4d7714
lea edx, [ebx + 0x3d4]
push edx
lea ecx, [ebx + 0x3cc]
push ecx
lea eax, [ebx + 0x3c5]
push eax
call sub.KERNEL32.dll_GetPrivateProfileStringA
cmp byte [0x4d7714], 0
jne 0x45edd7
push 0x4e23ec
lea edx, [ebx + 0x3d8]
push edx
push 0x4d7714
call sub.USER32.dll_wsprintfA
add esp, 0xc
call fcn.0040218c
push esi
lea ecx, [ebx + 0x3f5]
push ecx
lea eax, [ebx + 0x3ed]
push eax
lea edx, [ebx + 0x3e6]
push edx
call fcn.0045cffc
push ebp
push 0x4d7714
call fcn.0040b1d4
push esi
push 0x100
push 0x4e8808
lea ecx, [ebx + 0x413]
push ecx
lea eax, [ebx + 0x407]
push eax
lea edx, [ebx + 0x401]
push edx
call sub.KERNEL32.dll_GetPrivateProfileStringA
cmp byte [0x4e8808], 0
je 0x45ee41
push esi
push 0x4e8808
lea ecx, [ebx + 0x41e]
push ecx
lea eax, [ebx + 0x417]
push eax
call fcn.0045cffc
push esi
push 0
lea edx, [ebx + 0x42d]
push edx
lea ecx, [ebx + 0x427]
push ecx
call fcn.0045cffc
jmp 0x45ee66
push esi
push 0x100
push 0x4e8808
lea eax, [ebx + 0x449]
push eax
lea edx, [ebx + 0x440]
push edx
lea ecx, [ebx + 0x439]
push ecx
call sub.KERNEL32.dll_GetPrivateProfileStringA
cmp byte [0x4e8808], 0
je 0x45ee7a
push ebp
push 0x4e8808
call fcn.0040b1d4
push esi
push 0x100
push 0x4d7814
lea eax, [ebx + 0x45d]
push eax
lea edx, [ebx + 0x454]
push edx
lea ecx, [ebx + 0x44d]
push ecx
call sub.KERNEL32.dll_GetPrivateProfileStringA
push 0x4d7814
call fcn.0049431c
push esi
push 0x100
push 0x4ef2c8
lea eax, [ebx + 0x472]
push eax
lea edx, [ebx + 0x468]
push edx
lea ecx, [ebx + 0x461]
push ecx
call sub.KERNEL32.dll_GetPrivateProfileStringA
cmp byte [0x4ef2c8], 0
je 0x45eee2
push ebp
push 0x4ef2c8
call fcn.0040b1d4
push esi
push 0x100
push 0x4dfd3c
lea eax, [ebx + 0x488]
push eax
lea edx, [ebx + 0x47c]
push edx
lea ecx, [ebx + 0x476]
push ecx
call sub.KERNEL32.dll_GetPrivateProfileStringA
cmp byte [0x4dfd3c], 0
je 0x45ef41
push esi
push 0x4dfd3c
lea eax, [ebx + 0x493]
push eax
lea edx, [ebx + 0x48c]
push edx
call fcn.0045cffc
push esi
push 0
lea ecx, [ebx + 0x4a1]
push ecx
lea eax, [ebx + 0x49b]
push eax
call fcn.0045cffc
jmp 0x45ef88
push esi
push 0x100
push 0x4dfd3c
lea edx, [ebx + 0x4bc]
push edx
lea ecx, [ebx + 0x4b4]
push ecx
lea eax, [ebx + 0x4ad]
push eax
call sub.KERNEL32.dll_GetPrivateProfileStringA
cmp byte [0x4dfd3c], 0
jne 0x45ef88
push 0x4e23ec
lea edx, [ebx + 0x4c0]
push edx
push 0x4dfd3c
call sub.USER32.dll_wsprintfA
add esp, 0xc
push ebp
push 0x4dfd3c
call fcn.0040b1d4
push esi
push 0x3e7
push edi
lea ecx, [ebx + 0x4df]
push ecx
lea eax, [ebx + 0x4d4]
push eax
lea edx, [ebx + 0x4ce]
push edx
call sub.KERNEL32.dll_GetPrivateProfileStringA
push edi
call fcn.0040afec
cmp dword [0x4ca88c], 0
jne 0x45efcb
xor ecx, ecx
mov dword [0x4ca890], ecx
push esi
push 0x3c
push 0x4dd5e4
lea eax, [ebx + 0x4f4]
push eax
lea edx, [ebx + 0x4e9]
push edx
lea ecx, [ebx + 0x4e3]
push ecx
call sub.KERNEL32.dll_GetPrivateProfileStringA
push esi
push 0x180
push 0x4e6c8c
lea eax, [ebx + 0x507]
push eax
lea edx, [ebx + 0x4fe]
push edx
lea ecx, [ebx + 0x4f8]
push ecx
call sub.KERNEL32.dll_GetPrivateProfileStringA
push esi
push 4
push 0x4d1c54
lea eax, [ebx + 0x51e]
push eax
lea edx, [ebx + 0x511]
push edx
lea ecx, [ebx + 0x50b]
push ecx
call sub.KERNEL32.dll_GetPrivateProfileStringA
push esi
push 0x1e
push 0x4e700c
lea eax, [ebx + 0x530]
push eax
lea edx, [ebx + 0x527]
push edx
lea ecx, [ebx + 0x521]
push ecx
call sub.KERNEL32.dll_GetPrivateProfileStringA
lea eax, [ebx + 0x533]
push eax
push 0x4e700c
call fcn.004bcfe4
add esp, 8
test eax, eax
jne 0x45f077
mov byte [0x4e700c], 0
jmp 0x45f0a2
lea edx, [ebx + 0x539]
push edx
push 0x4e700c
call fcn.004bcfe4
add esp, 8
test eax, eax
jne 0x45f0a2
push esi
push edi
lea esi, [ebx + 0x540]
mov edi, 0x4e700c
mov eax, edi
movsw word es:[edi], word [esi]
pop edi
pop esi
push esi
push 0x100
push 0x4e6e0c
lea edx, [ebx + 0x551]
push edx
lea ecx, [ebx + 0x549]
push ecx
lea eax, [ebx + 0x543]
push eax
call sub.KERNEL32.dll_GetPrivateProfileStringA
push esi
push 0x100
push 0x4e6f0c
lea edx, [ebx + 0x561]
push edx
lea ecx, [ebx + 0x55b]
push ecx
lea eax, [ebx + 0x555]
push eax
call sub.KERNEL32.dll_GetPrivateProfileStringA
push esi
push 0x100
push 0x4cc60c
lea edx, [ebx + 0x57a]
push edx
lea ecx, [ebx + 0x571]
push ecx
lea eax, [ebx + 0x565]
push eax
call sub.KERNEL32.dll_GetPrivateProfileStringA
push ebp
push 0x4cc60c
call fcn.0040b1d4
push 0x4cc60c
call fcn.004bceac
pop ecx
test eax, eax
jle 0x45f13b
cmp byte [eax + 0x4cc60b], 0x5c
jne 0x45f13b
mov byte [eax + 0x4cc60b], 0
push esi
push 0x100
push 0x4cc70c
lea edx, [ebx + 0x593]
push edx
lea ecx, [ebx + 0x58a]
push ecx
lea eax, [ebx + 0x57e]
push eax
call sub.KERNEL32.dll_GetPrivateProfileStringA
push ebp
push 0x4cc70c
call fcn.0040b1d4
push esi
push 0x3e7
push edi
lea edx, [ebx + 0x5a5]
push edx
lea ecx, [ebx + 0x59d]
push ecx
lea eax, [ebx + 0x597]
push eax
call sub.KERNEL32.dll_GetPrivateProfileStringA
cmp byte [edi], 0
je 0x45f1c1
lea edx, [ebx + 0x5a9]
push edx
push edi
call fcn.004bcfe4
add esp, 8
test eax, eax
jne 0x45f1b2
xor ecx, ecx
mov dword [0x4ccde4], ecx
jmp 0x45f261
mov dword [0x4ccde4], 1
jmp 0x45f261
push esi
push 0x3e7
push edi
lea eax, [ebx + 0x5c3]
push eax
lea edx, [ebx + 0x5ba]
push edx
lea ecx, [ebx + 0x5ae]
push ecx
call sub.KERNEL32.dll_GetPrivateProfileStringA
lea eax, [ebx + 0x5c7]
push eax
push edi
call fcn.004bcfe4
add esp, 8
test eax, eax
jne 0x45f200
xor edx, edx
mov dword [0x4ccde4], edx
jmp 0x45f20a
mov dword [0x4ccde4], 1
cmp dword [0x4ccde4], 0
je 0x45f230
push esi
lea ecx, [ebx + 0x5da]
push ecx
lea eax, [ebx + 0x5d2]
push eax
lea edx, [ebx + 0x5cc]
push edx
call fcn.0045cffc
jmp 0x45f24b
push esi
lea ecx, [ebx + 0x5ec]
push ecx
lea eax, [ebx + 0x5e4]
push eax
lea edx, [ebx + 0x5de]
push edx
call fcn.0045cffc
push esi
push 0
lea ecx, [ebx + 0x5fd]
push ecx
lea eax, [ebx + 0x5f1]
push eax
call fcn.0045cffc
push esi
push 0x3e7
push edi
lea edx, [ebx + 0x611]
push edx
lea ecx, [ebx + 0x60c]
push ecx
lea eax, [ebx + 0x606]
push eax
call sub.KERNEL32.dll_GetPrivateProfileStringA
lea edx, [ebx + 0x615]
push edx
push edi
call fcn.004bcfe4
add esp, 8
test eax, eax
jne 0x45f2a0
xor ecx, ecx
mov dword [0x4ccdf4], ecx
jmp 0x45f2aa
mov dword [0x4ccdf4], 1
push esi
push 0x3e7
push edi
lea eax, [ebx + 0x62b]
push eax
lea edx, [ebx + 0x622]
push edx
lea ecx, [ebx + 0x61a]
push ecx
call sub.KERNEL32.dll_GetPrivateProfileStringA
cmp byte [edi], 0
je 0x45f2de
push edi
call fcn.004c4ccc
pop ecx
mov dword [0x4ccde8], eax
jmp 0x45f2e5
xor eax, eax
mov dword [0x4ccde8], eax
push esi
push 0x180
push 0x4eb38a
lea edx, [ebx + 0x63e]
push edx
lea ecx, [ebx + 0x635]
push ecx
lea eax, [ebx + 0x62f]
push eax
call sub.KERNEL32.dll_GetPrivateProfileStringA
push 0x4eb38a
call fcn.0045e744
push esi
push 0x100
push 0x4e4758
lea edx, [ebx + 0x650]
push edx
lea ecx, [ebx + 0x648]
push ecx
lea eax, [ebx + 0x642]
push eax
call sub.KERNEL32.dll_GetPrivateProfileStringA
push 0x4e4758
call fcn.0045e744
push esi
push 0x100
push 0x4e6a8c
lea edx, [ebx + 0x661]
push edx
lea ecx, [ebx + 0x65a]
push ecx
lea eax, [ebx + 0x654]
push eax
call sub.KERNEL32.dll_GetPrivateProfileStringA
push 0x4e6a8c
call fcn.0045e744
push esi
push 0x100
push 0x4e6b8c
lea edx, [ebx + 0x672]
push edx
lea ecx, [ebx + 0x66b]
push ecx
lea eax, [ebx + 0x665]
push eax
call sub.KERNEL32.dll_GetPrivateProfileStringA
cmp byte [0x4e6b8c], 0
jne 0x45f3cb
push esi
push edi
mov esi, 0x4e6b8c
mov edi, 0x4e6a8c
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
push 0x4e6b8c
call fcn.0045e744
push esi
push 0x100
push 0x4d9928
lea eax, [ebx + 0x682]
push eax
lea edx, [ebx + 0x67c]
push edx
lea ecx, [ebx + 0x676]
push ecx
call sub.KERNEL32.dll_GetPrivateProfileStringA
push 0x4d9928
call fcn.0045e744
push 0x4e23ec
lea eax, [ebx + 0x686]
push eax
push ebp
call sub.USER32.dll_wsprintfA
add esp, 0xc
push ebp
push 0x3e7
push edi
lea edx, [ebx + 0x6a1]
push edx
lea ecx, [ebx + 0x69c]
push ecx
lea eax, [ebx + 0x696]
push eax
call sub.KERNEL32.dll_GetPrivateProfileStringA
cmp byte [edi], 0
je 0x45f4cb
push esi
push edi
lea edx, [ebx + 0x6af]
push edx
lea ecx, [ebx + 0x6a5]
push ecx
call fcn.0045cffc
push ebp
push 0x3e7
push edi
lea eax, [ebx + 0x6bf]
push eax
lea edx, [ebx + 0x6ba]
push edx
lea ecx, [ebx + 0x6b4]
push ecx
call sub.KERNEL32.dll_GetPrivateProfileStringA
push esi
push edi
lea eax, [ebx + 0x6cd]
push eax
lea edx, [ebx + 0x6c3]
push edx
call fcn.0045cffc
push ebp
push 0x3e7
push edi
lea ecx, [ebx + 0x6dd]
push ecx
lea eax, [ebx + 0x6d8]
push eax
lea edx, [ebx + 0x6d2]
push edx
call sub.KERNEL32.dll_GetPrivateProfileStringA
push esi
push edi
lea ecx, [ebx + 0x6eb]
push ecx
lea eax, [ebx + 0x6e1]
push eax
call fcn.0045cffc
push ebp
call fcn.004c0cdc
pop ecx
push esi
push 0x100
push 0x4d9fb0
lea edx, [ebx + 0x702]
push edx
lea ecx, [ebx + 0x6fe]
push ecx
lea eax, [ebx + 0x6f0]
push eax
call sub.KERNEL32.dll_GetPrivateProfileStringA
call fcn.004a0588
call fcn.0045da6c
call fcn.0045d310
call fcn.0043522c
call fcn.0047f46c
call fcn.0043d56c
call fcn.0040f254
call fcn.00447fac
call fcn.0048b530
call fcn.0043893c
call fcn.00443a84
call fcn.00414f78
call fcn.0045d980
push 0
push esi
mov edx, dword [0x4cf0a8]
push edx
lea ecx, [ebx + 0x718]
push ecx
lea eax, [ebx + 0x710]
push eax
call fcn.0045d160
mov dword [0x4cf0a8], eax
push 0
push esi
mov edx, dword [0x4ca610]
push edx
lea ecx, [ebx + 0x723]
push ecx
lea eax, [ebx + 0x71b]
push eax
call fcn.0045d160
mov dword [0x4ca610], eax
push 0
push esi
mov edx, dword [0x4d2338]
push edx
lea ecx, [ebx + 0x72f]
push ecx
lea eax, [ebx + 0x726]
push eax
call fcn.0045d160
mov dword [0x4d2338], eax
push 0
push esi
mov edx, dword [0x4cde00]
push edx
lea ecx, [ebx + 0x73a]
push ecx
lea eax, [ebx + 0x732]
push eax
call fcn.0045d160
mov edi, eax
mov dword [0x4cde00], edi
test edi, edi
jne 0x45f5dc
push 0
push esi
push edi
lea eax, [ebx + 0x745]
push eax
lea edx, [ebx + 0x73d]
push edx
call fcn.0045d160
mov dword [0x4cde00], eax
call fcn.0040747c
call fcn.0048bb30
pop edx
pop ebp
pop edi
pop esi
pop ebx
ret