Function at 0x402fa0
Capabilities:
Get hostname
Read .ini file
Resolve dns

Disassembly:
sub esp, 0x448
mov eax, dword [0x41a2f0]
xor eax, esp
mov dword [esp + 0x440], eax
push ebx
push esi
push edi
push 0x103
lea eax, [esp + 0x2d]
push 0
push eax
mov byte [esp + 0x34], 0
call fcn.00409500
xor eax, eax
xor ecx, ecx
add esp, 0xc
lea ebx, [esp + 0x28]
mov word [esp + 0x10], cx
mov dword [esp + 0x12], eax
mov dword [esp + 0x16], eax
mov dword [esp + 0x1a], eax
mov word [esp + 0x1e], ax
call fcn.00403250
test eax, eax
je 0x40322b
xor ebx, ebx
cmp byte [esp + 0x28], bl
jne 0x40303a
push 0x104
lea edx, [esp + 0x2c]
push edx
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea eax, [esp + 0x28]
push 0x5c
push eax
call fcn.00408738
push 0x417f90
lea ecx, [esp + 0x34]
push 0x104
push ecx
mov byte [eax + 1], bl
call fcn.00408ebe
add esp, 0x14
push 0x103
lea edx, [esp + 0x23d]
push ebx
push edx
mov byte [esp + 0x244], bl
call fcn.00409500
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x248]
push 0x104
push ecx
call fcn.004087e3
push str.MultiProductT.ini
lea edx, [esp + 0x254]
push 0x104
push edx
call fcn.00408ebe
push 0x103
lea eax, [esp + 0x369]
push ebx
push eax
mov byte [esp + 0x370], bl
call fcn.00409500
push 0x103
lea ecx, [esp + 0x165]
push ebx
push ecx
mov byte [esp + 0x16c], bl
call fcn.00409500
add esp, 0x3c
lea edx, [esp + 0x24]
push edx
lea eax, [esp + 0x134]
push eax
mov dword [esp + 0x2c], 0x104
call dword [sym.imp.KERNEL32.dll_GetComputerNameA]
lea ecx, [esp + 0x130]
push ecx
call dword [sym.imp.WS2_32.dll_gethostbyname]
mov esi, eax
cmp esi, ebx
je 0x40322b
lea edx, [esp + 0x238]
push edx
push ebx
push str.count
push str.times
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov edi, eax
cmp edi, 1
jle 0x40322b
mov eax, dword [esi + 0xc]
mov ecx, dword [eax]
movzx eax, byte [ecx + 3]
cdq
idiv edi
mov esi, edx
lea edx, [esp + 0x10]
push edx
inc esi
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx eax, word [esp + 0x16]
add eax, esi
cdq
idiv edi
mov edi, dword [sym.imp.USER32.dll_wsprintfA]
lea eax, [esp + 0x130]
mov esi, edx
inc esi
push esi
push 0x417fb8
push eax
call edi
add esp, 0xc
lea ecx, [esp + 0x238]
push ecx
lea edx, [esp + 0x134]
push edx
push str.local
push str.times
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
push esi
lea eax, [esp + 0x134]
push str.time_d
push eax
call edi
add esp, 0xc
lea ecx, [esp + 0x238]
push ecx
push 0x104
lea edx, [esp + 0x348]
push edx
push 0x417d20
lea eax, [esp + 0x140]
push eax
push str.times
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
cmp byte [esp + 0x340], bl
je 0x40322b
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x344]
push 0x417fcc
push edx
call fcn.00407ea1
push eax
call fcn.004081f4
mov esi, eax
lea eax, [esp + 0x30]
push eax
push 0x417fcc
push ebx
call fcn.00407ea1
add esp, 0x1c
cmp eax, ebx
je 0x4031fa
push eax
call fcn.004081f4
add esp, 4
jmp 0x4031fc
xor eax, eax
movzx ecx, word [esp + 0x18]
cmp ecx, esi
jne 0x40322b
movzx edx, word [esp + 0x1a]
cmp edx, eax
jne 0x40322b
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x440]
xor ecx, esp
call fcn.004075fb
add esp, 0x448
ret
mov ecx, dword [esp + 0x44c]
pop edi
pop esi
pop ebx
xor ecx, esp
xor eax, eax
call fcn.004075fb
add esp, 0x448
ret