Function at 0x40e870
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x46586c
mov eax, dword fs:[0]
push eax
sub esp, 0x360
mov eax, dword [0x47c5a8]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, dword [ebp + 8]
mov esi, ecx
mov eax, dword [esi + 0x6c]
xor edi, edi
mov dword [ebp - 0x224], ebx
mov dword [ebp - 0x22c], eax
cmp eax, edi
je 0x40eb50
push str.domain
lea ecx, [ebp - 0x36c]
call fcn.00402de0
push str.domain
lea ecx, [ebp - 0x27c]
mov dword [ebp - 4], edi
call fcn.00402de0
push str.domaindetail
lea ecx, [ebp - 0x31c]
mov byte [ebp - 4], 1
call fcn.00402de0
push str.domaindetailItem
lea ecx, [ebp - 0x2cc]
mov byte [ebp - 4], 2
call fcn.00402de0
push ebx
push 0xffffffffffffffff
push str.DomainCount
lea eax, [ebp - 0x31c]
push str.Domain
mov byte [ebp - 4], 3
mov dword [esi + 0x6c], eax
mov dword [ebp - 0x228], edi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
cmp eax, 0xffffffff
je 0x40e938
mov dword [ebp - 0x228], eax
cmp dword [ebp - 0x228], edi
jbe 0x40ea87
jmp 0x40e950
mov ebx, dword [esi + 0x6c]
push 0x105
lea edx, [ebp - 0x118]
lea ecx, [ebp - 0x2cc]
push 0
push edx
mov dword [esi + 0x6c], ecx
call fcn.00440de0
push 0x105
lea eax, [ebp - 0x220]
push 0
push eax
call fcn.00440de0
push edi
push str.DomainName.
lea ecx, [ebp - 0x220]
push 0x46c8f8
push ecx
call fcn.00440e5a
mov edx, dword [ebp - 0x224]
add esp, 0x28
push edx
push 0x104
lea eax, [ebp - 0x118]
push eax
push 0x472d70
lea ecx, [ebp - 0x220]
push ecx
push str.Domain
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea edx, [ebp - 0x118]
push edx
push str.domainName
mov ecx, esi
call fcn.00406e90
push 0x105
lea eax, [ebp - 0x118]
push 0
push eax
call fcn.00440de0
push 0x105
lea ecx, [ebp - 0x220]
push 0
push ecx
call fcn.00440de0
push str..Des
push edi
push str.DomainName.
lea edx, [ebp - 0x220]
push str._s_d_s
push edx
call fcn.00440e5a
mov eax, dword [ebp - 0x224]
add esp, 0x2c
push eax
push 0x104
lea ecx, [ebp - 0x118]
push ecx
push 0x472d70
lea edx, [ebp - 0x220]
push edx
push str.Domain
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x118]
push eax
push str.domainDesp
mov ecx, esi
call fcn.00406e90
lea ecx, [ebp - 0x2cc]
push ecx
mov ecx, ebx
call fcn.00402720
mov ecx, dword [esi + 0x6c]
call fcn.00402620
inc edi
mov dword [esi + 0x6c], ebx
cmp edi, dword [ebp - 0x228]
jb 0x40e950
mov ebx, dword [ebp - 0x224]
lea edx, [ebp - 0x31c]
push edx
lea ecx, [ebp - 0x27c]
call fcn.00402720
mov ecx, dword [esi + 0x6c]
call fcn.00402620
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
push ebx
push 0xffffffffffffffff
push str.DomainDefault
lea eax, [ebp - 0x27c]
push str.Domain
mov dword [esi + 0x6c], eax
call edi
cmp eax, 0xffffffff
je 0x40ead1
push eax
push str.domainDefault
mov ecx, esi
call fcn.00407040
push ebx
push 0xffffffffffffffff
push str.DomainForce
push str.Domain
call edi
cmp eax, 0xffffffff
je 0x40eaf2
push eax
push str.domainForce
mov ecx, esi
call fcn.00407040
mov edi, dword [ebp - 0x22c]
lea ecx, [ebp - 0x27c]
push ecx
mov ecx, edi
call fcn.00402720
mov ecx, dword [esi + 0x6c]
call fcn.00402620
lea ecx, [ebp - 0x2cc]
mov dword [esi + 0x6c], edi
mov byte [ebp - 4], 2
call fcn.00402fa0
lea ecx, [ebp - 0x31c]
mov byte [ebp - 4], 1
call fcn.00402fa0
lea ecx, [ebp - 0x27c]
mov byte [ebp - 4], 0
call fcn.00402fa0
lea ecx, [ebp - 0x36c]
mov dword [ebp - 4], 0xffffffff
call fcn.00402fa0
push 1
mov ecx, esi
call fcn.00407280
movzx eax, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0043fe0a
mov esp, ebp
pop ebp
ret 4