Function at 0x40d082
Capabilities:
Read .ini file

Disassembly:
sub esp, 0x50
lea eax, [esp]
push ebx
push ebp
push esi
push edi
push dword [esp + 0x64]
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov ebp, str.Param
mov esi, ecx
push 0x28
push eax
push 0x48046c
push str.TipBlackPgm
push ebp
call edi
mov ebx, dword [sym.imp.MSVCRT.dll__wtol]
lea eax, [esp + 0x10]
push eax
call ebx
pop ecx
mov dword [esi + 0x48], eax
push dword [esp + 0x64]
lea eax, [esp + 0x14]
push 0x28
push eax
push 0x480d30
push 0x480d18
push ebp
call edi
lea eax, [esp + 0x10]
push eax
call ebx
pop ecx
mov dword [esi], eax
push dword [esp + 0x64]
lea eax, [esp + 0x14]
push 0x28
push eax
push 0x480d14
push str.StateARP
push ebp
call edi
lea eax, [esp + 0x10]
push eax
call ebx
pop ecx
mov dword [esi + 4], eax
push dword [esp + 0x64]
lea eax, [esp + 0x14]
push 0x28
push eax
push 0x48046c
push str.AutoARP
push ebp
call edi
lea eax, [esp + 0x10]
push eax
call ebx
pop ecx
mov dword [esi + 8], eax
push dword [esp + 0x64]
lea eax, [esp + 0x14]
push 0x28
push eax
push 0x48046c
push str.StateInARP
push ebp
call edi
lea eax, [esp + 0x10]
push eax
call ebx
pop ecx
mov dword [esi + 0xc], eax
push dword [esp + 0x64]
lea eax, [esp + 0x14]
push 0x28
push eax
push 0x48046c
push str.StateOutAPP
push ebp
call edi
lea eax, [esp + 0x10]
push eax
call ebx
pop ecx
mov dword [esi + 0x10], eax
push dword [esp + 0x64]
lea eax, [esp + 0x14]
push 0x28
push eax
push 0x48046c
push str.StateIPARP
push ebp
call edi
lea eax, [esp + 0x10]
push eax
call ebx
pop ecx
mov dword [esi + 0x14], eax
push dword [esp + 0x64]
lea eax, [esp + 0x14]
push 0x28
push eax
push 0x480d14
push str.CntTotalInARP
push ebp
call edi
lea eax, [esp + 0x10]
push eax
call ebx
pop ecx
mov dword [esi + 0x18], eax
push dword [esp + 0x64]
lea eax, [esp + 0x14]
push 0x28
push eax
push 0x480d14
push str.CntTotalOutARP
push ebp
call edi
lea eax, [esp + 0x10]
push eax
call ebx
pop ecx
mov dword [esi + 0x1c], eax
push dword [esp + 0x64]
lea eax, [esp + 0x14]
push 0x28
push eax
push 0x48046c
push str.TipInARP
push ebp
call edi
lea eax, [esp + 0x10]
push eax
call ebx
pop ecx
mov dword [esi + 0x28], eax
push dword [esp + 0x64]
lea eax, [esp + 0x14]
push 0x28
push eax
push 0x48046c
push str.TipProcOutARP
push ebp
call edi
lea eax, [esp + 0x10]
push eax
call ebx
pop ecx
mov dword [esi + 0x2c], eax
push dword [esp + 0x64]
lea eax, [esp + 0x14]
push 0x28
push eax
push 0x48046c
push str.TipIPConflict
push ebp
call edi
lea eax, [esp + 0x10]
push eax
call ebx
pop ecx
mov dword [esi + 0x30], eax
push dword [esp + 0x64]
lea eax, [esp + 0x14]
push 0x28
push eax
push 0x48046c
push str.LevelURL
push ebp
call edi
lea eax, [esp + 0x10]
push eax
call ebx
cmp eax, 2
pop ecx
mov dword [esi + 0x34], eax
jbe 0x40d26e
mov dword [esi + 0x34], 1
push dword [esp + 0x64]
lea eax, [esp + 0x14]
push 0x28
push eax
push 0x48046c
push str.StateAdURL
push ebp
call edi
lea eax, [esp + 0x10]
push eax
call ebx
pop ecx
mov dword [esi + 0x38], eax
push dword [esp + 0x64]
lea eax, [esp + 0x14]
push 0x28
push eax
push 0x48046c
push str.StateEvURL
push ebp
call edi
lea eax, [esp + 0x10]
push eax
call ebx
pop ecx
mov dword [esi + 0x3c], eax
push dword [esp + 0x64]
lea eax, [esp + 0x14]
push 0x28
push eax
push 0x480d14
push str.CntAdURL
push ebp
call edi
lea eax, [esp + 0x10]
push eax
call ebx
pop ecx
mov dword [esi + 0x40], eax
push dword [esp + 0x64]
lea eax, [esp + 0x14]
push 0x28
push eax
push 0x480d14
push str.CntEvURL
push ebp
call edi
lea eax, [esp + 0x10]
push eax
call ebx
pop ecx
mov dword [esi + 0x44], eax
push dword [esp + 0x64]
lea eax, [esp + 0x14]
push 0x28
push eax
push 0x480d14
push str.CntIPBind
push str.IPBind
call edi
lea eax, [esp + 0x10]
push eax
call ebx
test eax, eax
pop ecx
mov dword [esi + 0x4c], eax
je 0x40d371
lea eax, [eax + eax*2]
shl eax, 3
push eax
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
test eax, eax
pop ecx
mov dword [esi + 0x50], eax
jne 0x40d33e
and dword [esi + 0x4c], eax
jmp 0x40d371
mov ecx, dword [esi + 0x4c]
push dword [esp + 0x64]
lea ecx, [ecx + ecx*2]
shl ecx, 3
push ecx
push eax
push str.IPBindData
push str.IPBind
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStructW]
test eax, eax
jne 0x40d371
push dword [esi + 0x50]
and dword [esi + 0x4c], eax
call fcn.0044b020
and dword [esi + 0x50], 0
pop ecx
push dword [esp + 0x64]
lea eax, [esp + 0x14]
push 0x28
push eax
push 0x480d14
push str.CntIPMAC
push str.IPMAC
call edi
lea eax, [esp + 0x10]
push eax
call ebx
test eax, eax
pop ecx
mov dword [esi + 0x54], eax
je 0x40d3e8
lea eax, [eax + eax*2]
shl eax, 2
push eax
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
test eax, eax
pop ecx
mov dword [esi + 0x58], eax
jne 0x40d3b5
and dword [esi + 0x54], eax
jmp 0x40d3e8
mov ecx, dword [esi + 0x54]
push dword [esp + 0x64]
lea ecx, [ecx + ecx*2]
shl ecx, 2
push ecx
push eax
push str.IPMACData
push str.IPMAC
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStructW]
test eax, eax
jne 0x40d3e8
push dword [esi + 0x58]
and dword [esi + 0x54], eax
call fcn.0044b020
and dword [esi + 0x58], 0
pop ecx
push dword [esp + 0x64]
lea eax, [esp + 0x14]
push 0x28
push eax
push 0x480d14
push 0x480b20
push ebp
call edi
lea eax, [esp + 0x10]
push eax
call ebx
cmp eax, 1
pop ecx
mov dword [esi + 0x60], eax
je 0x40d419
cmp eax, 2
je 0x40d419
and dword [esi + 0x60], 0
push dword [esp + 0x64]
lea eax, [esp + 0x14]
push 0x28
push eax
push 0x480b1c
push str.ActiveDefenseSpeed
push ebp
call edi
lea eax, [esp + 0x10]
push eax
call ebx
cmp eax, 1
pop ecx
mov dword [esi + 0x64], eax
jl 0x40d446
cmp eax, 0x32
jle 0x40d44d
mov dword [esi + 0x64], 5
push 1
pop eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x50
ret 4