Function at 0x4052d0
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x38bc
call fcn.00458680
push ebx
push ebp
push esi
push edi
mov ebp, ecx
call fcn.00406ae0
mov dl, byte [0x494b70]
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0x3d]
mov byte [esp + 0x3c], dl
mov byte [esp + 0x3b8], dl
rep stosd dword es:[edi], eax
mov ecx, 0x41
lea edi, [esp + 0x3b9]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x3b8]
push 0x105
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea ecx, [esp + 0x3b8]
push 0x5c
push ecx
call fcn.00458e20
lea edx, [esp + 0x3c0]
mov byte [eax], 0
push edx
lea eax, [esp + 0x48]
push str._sAccInfo.ini
push eax
call fcn.004585a3
mov cl, byte [0x494b70]
add esp, 0x14
lea edx, [esp + 0x3c]
xor eax, eax
mov byte [esp + 0x4c0], cl
push edx
mov ecx, 0x400
lea edi, [esp + 0x4c5]
push eax
push str.UserCount
rep stosd dword es:[edi], eax
push str.System
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0x122f8]
test eax, eax
jne 0x405397
xor esi, esi
jmp 0x4053b2
mov ecx, dword [ebp + 0x122fc]
sub ecx, eax
mov eax, 0x60f25deb
imul ecx
sar edx, 8
mov eax, edx
shr eax, 0x1f
add edx, eax
mov esi, edx
push esi
lea ecx, [esp + 0x4c4]
push 0x48e2ec
push ecx
mov dword [esp + 0x2c], esi
call fcn.004585a3
mov ebx, dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
add esp, 0xc
lea edx, [esp + 0x3c]
lea eax, [esp + 0x4c0]
push edx
push eax
push str.UserCount
push str.System
call ebx
mov cl, byte [0x494b70]
xor eax, eax
mov byte [esp + 0x144], cl
mov ecx, 0x41
lea edi, [esp + 0x145]
test esi, esi
rep stosd dword es:[edi], eax
jle 0x4059ad
mov esi, 1
mov dword [esp + 0x1c], eax
mov dword [esp + 0x10], esi
jmp 0x405423
mov esi, dword [esp + 0x10]
push esi
lea edx, [esp + 0x148]
push str.User_03d
push edx
call fcn.004585a3
add esp, 0xc
cmp esi, 0x3e8
jl 0x405457
push esi
lea eax, [esp + 0x148]
push str.User_d
push eax
call fcn.004585a3
add esp, 0xc
mov esi, dword [esp + 0x1c]
mov eax, dword [ebp + 0x122f8]
mov edx, esi
lea ecx, [esp + 0x3c]
add edx, eax
push ecx
push edx
lea eax, [esp + 0x14c]
push str.UserName
push eax
call ebx
mov ecx, dword [ebp + 0x122f8]
xor eax, eax
lea edx, [esp + 0x4c0]
lea edi, [esi + ecx + 0x101]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
mov dword [esp + 0x14], eax
rep movsb byte es:[edi], byte [esi]
mov cl, byte [0x494b70]
lea edi, [esp + 0x18c5]
mov byte [esp + 0x18c4], cl
mov ecx, 0x400
rep stosd dword es:[edi], eax
lea edi, [esp + 0x4c0]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
test ecx, ecx
jle 0x405557
mov edx, dword [esp + 0x14]
mov ecx, 0x3e7
movsx eax, byte [esp + edx + 0x4c0]
sub ecx, eax
lea edx, [esp + 0x14c4]
push ecx
push 0x48e490
push edx
call fcn.004585a3
lea edi, [esp + 0x14d0]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x18c4]
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov edx, dword [esp + 0x14]
and ecx, 3
inc edx
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x4c0]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x14], edx
cmp edx, ecx
jl 0x4054df
lea edi, [esp + 0x18c4]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x4c0]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x4c0]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [esp + 0x144]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x3c]
push ecx
push edx
push 0x48e420
push eax
call ebx
mov edx, dword [ebp + 0x122f8]
mov esi, dword [esp + 0x1c]
lea ecx, [esp + 0x3c]
lea eax, [esi + edx + 0x138]
push ecx
push eax
lea ecx, [esp + 0x14c]
push str.MACAddress
push ecx
call ebx
mov edx, dword [ebp + 0x122f8]
mov edi, dword [sym.imp.WS2_32.dll_inet_ntoa]
mov eax, dword [esi + edx + 0x14c]
push eax
call edi
push eax
lea eax, [esp + 0x4c4]
push 0x48e48c
push eax
call fcn.004585a3
add esp, 0xc
lea ecx, [esp + 0x3c]
lea edx, [esp + 0x4c0]
lea eax, [esp + 0x144]
push ecx
push edx
push str.IPAddressLow
push eax
call ebx
mov ecx, dword [ebp + 0x122f8]
mov eax, dword [esi + ecx + 0x150]
push eax
call edi
push eax
lea edx, [esp + 0x4c4]
push 0x48e48c
push edx
call fcn.004585a3
add esp, 0xc
lea eax, [esp + 0x3c]
lea ecx, [esp + 0x4c0]
lea edx, [esp + 0x144]
push eax
push ecx
push str.IPAddressHigh
push edx
call ebx
mov eax, dword [ebp + 0x122f8]
lea edx, [esp + 0x4c0]
mov ecx, dword [esi + eax + 0x158]
push ecx
push 0x48e488
push edx
call fcn.004585a3
add esp, 0xc
lea eax, [esp + 0x3c]
lea ecx, [esp + 0x4c0]
push eax
push ecx
lea edx, [esp + 0x14c]
push str.ServiceMask
push edx
call ebx
mov eax, dword [ebp + 0x122f8]
push str._blacklist
add esi, eax
push esi
call fcn.0045d2f0
add esp, 8
test eax, eax
jne 0x4056ca
mov eax, dword [ebp + 0x122f8]
mov esi, dword [esp + 0x1c]
add eax, esi
mov ecx, dword [eax + 0x150]
mov edx, dword [eax + 0x14c]
push ecx
push edx
mov ecx, ebp
call fcn.00406ad0
jmp 0x4056ce
mov esi, dword [esp + 0x1c]
mov eax, dword [ebp + 0x122f8]
lea edx, [esp + 0x4c0]
mov ecx, dword [esi + eax + 0x15c]
push ecx
push 0x48e2ec
push edx
call fcn.004585a3
add esp, 0xc
lea eax, [esp + 0x3c]
lea ecx, [esp + 0x4c0]
lea edx, [esp + 0x144]
push eax
push ecx
push str.MaxConn
push edx
call ebx
mov eax, dword [ebp + 0x122f8]
lea edx, [esp + 0x4c0]
mov ecx, dword [esi + eax + 0x160]
push ecx
push 0x48e2ec
push edx
call fcn.004585a3
add esp, 0xc
lea eax, [esp + 0x3c]
lea ecx, [esp + 0x4c0]
lea edx, [esp + 0x144]
push eax
push ecx
push str.BandWidth
push edx
call ebx
mov eax, dword [ebp + 0x122f8]
lea edx, [esp + 0x4c0]
mov ecx, dword [esi + eax + 0x164]
push ecx
push 0x48e2ec
push edx
call fcn.004585a3
add esp, 0xc
lea eax, [esp + 0x3c]
lea ecx, [esp + 0x4c0]
lea edx, [esp + 0x144]
push eax
push ecx
push str.WebFilter
push edx
call ebx
mov eax, dword [ebp + 0x122f8]
lea edx, [esp + 0x4c0]
mov ecx, dword [esi + eax + 0x168]
push ecx
push 0x48e2ec
push edx
call fcn.004585a3
add esp, 0xc
lea eax, [esp + 0x3c]
lea ecx, [esp + 0x4c0]
lea edx, [esp + 0x144]
push eax
push ecx
push str.TimeSchedule
push edx
call ebx
mov eax, dword [ebp + 0x122f8]
lea edx, [esp + 0x4c0]
mov ecx, dword [esi + eax + 0x134]
push ecx
push 0x48e2ec
push edx
call fcn.004585a3
add esp, 0xc
lea eax, [esp + 0x3c]
lea ecx, [esp + 0x4c0]
lea edx, [esp + 0x144]
push eax
push ecx
push str.EnableUserPassword
push edx
call ebx
mov eax, dword [ebp + 0x122f8]
mov ecx, dword [esi + eax + 0x154]
lea edx, [esp + 0x4c0]
push ecx
push 0x48e2ec
push edx
call fcn.004585a3
add esp, 0xc
lea eax, [esp + 0x3c]
lea ecx, [esp + 0x4c0]
lea edx, [esp + 0x144]
push eax
push ecx
push str.EnableIPAddress
push edx
call ebx
mov eax, dword [ebp + 0x122f8]
lea edx, [esp + 0x4c0]
mov ecx, dword [esi + eax + 0x148]
push ecx
push 0x48e2ec
push edx
call fcn.004585a3
add esp, 0xc
lea eax, [esp + 0x3c]
lea ecx, [esp + 0x4c0]
lea edx, [esp + 0x144]
push eax
push ecx
push str.EnableMACAddress
push edx
call ebx
mov eax, dword [ebp + 0x122f8]
mov ecx, dword [esi + eax + 0x17c]
mov eax, 0x48e484
test ecx, ecx
jne 0x4058a2
mov eax, 0x48e480
lea ecx, [esp + 0x3c]
lea edx, [esp + 0x144]
push ecx
push eax
push 0x48e368
push edx
call ebx
mov eax, dword [ebp + 0x122f8]
mov ecx, dword [esi + eax + 0x180]
mov eax, 0x48e484
test ecx, ecx
jne 0x4058d2
mov eax, 0x48e480
lea ecx, [esp + 0x3c]
lea edx, [esp + 0x144]
push ecx
push eax
push str.BelongsGroup
push edx
call ebx
mov ecx, dword [ebp + 0x122f8]
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x148]
lea edx, [esi + ecx + 0x184]
push edx
push str.BelongsGroupName
push eax
call ebx
mov ecx, dword [ebp + 0x122f8]
mov eax, dword [esi + ecx + 0x288]
test eax, eax
mov eax, 0x48e484
jne 0x405924
mov eax, 0x48e480
lea edx, [esp + 0x3c]
push edx
push eax
lea eax, [esp + 0x14c]
push str.IsGroup
push eax
call ebx
mov ecx, dword [ebp + 0x122f8]
mov eax, dword [esi + ecx + 0x28c]
test eax, eax
mov eax, 0x48e484
jne 0x405954
mov eax, 0x48e480
lea edx, [esp + 0x3c]
push edx
push eax
lea eax, [esp + 0x14c]
push str.AutoDisable
push eax
call ebx
mov edx, dword [ebp + 0x122f8]
lea ecx, [esp + 0x3c]
push ecx
lea ecx, [esp + 0x148]
lea eax, [esi + edx + 0x290]
push eax
push str.DisableDateTime
push ecx
call ebx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x20]
inc eax
add esi, 0x2a4
mov dword [esp + 0x10], eax
dec eax
cmp eax, ecx
mov dword [esp + 0x1c], esi
jl 0x40541f
mov esi, ecx
mov edi, dword [esp + 0x18]
cmp esi, edi
jge 0x405a02
inc esi
push esi
lea edx, [esp + 0x148]
push str.User_03d
push edx
call fcn.004585a3
add esp, 0xc
cmp esi, 0x64
jl 0x4059e7
push esi
lea eax, [esp + 0x148]
push str.User_d
push eax
call fcn.004585a3
add esp, 0xc
lea ecx, [esp + 0x3c]
lea edx, [esp + 0x144]
push ecx
push 0
push 0
push edx
call ebx
inc esi
lea eax, [esi - 1]
cmp eax, edi
jl 0x4059b6
mov ecx, dword [ebp + 0x12324]
lea edx, [esp + 0x4c0]
push ecx
push 0x48e2ec
push edx
call fcn.004585a3
add esp, 0xc
lea eax, [esp + 0x3c]
lea ecx, [esp + 0x4c0]
push eax
push ecx
push str.AuthModel
push str.System
call ebx
mov edx, dword [ebp + 0x12328]
lea eax, [esp + 0x4c0]
push edx
push 0x48e2ec
push eax
call fcn.004585a3
add esp, 0xc
lea ecx, [esp + 0x3c]
lea edx, [esp + 0x4c0]
push ecx
push edx
push str.AuthType
push str.System
call ebx
lea eax, [esp + 0x3c]
push eax
push 0
push str.TimeScheduleCount
push str.System
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0x12308]
test eax, eax
jne 0x405a95
xor esi, esi
jmp 0x405ab2
mov ecx, dword [ebp + 0x1230c]
sub ecx, eax
mov eax, 0x91dbbfc3
imul ecx
add edx, ecx
sar edx, 0xe
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov esi, edx
push esi
lea edx, [esp + 0x4c4]
push 0x48e2ec
push edx
mov dword [esp + 0x1c], esi
call fcn.004585a3
add esp, 0xc
lea eax, [esp + 0x3c]
lea ecx, [esp + 0x4c0]
push eax
push ecx
push str.TimeScheduleCount
push str.System
call ebx
mov dl, byte [0x494b70]
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0x24d]
mov byte [esp + 0x24c], dl
test esi, esi
rep stosd dword es:[edi], eax
jle 0x405c87
mov edi, 1
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], edi
push edi
lea eax, [esp + 0x250]
push str.Time_03d
push eax
call fcn.004585a3
add esp, 0xc
cmp edi, 0x3e8
jl 0x405b4b
push edi
lea ecx, [esp + 0x250]
push str.Time_d
push ecx
call fcn.004585a3
add esp, 0xc
mov edi, dword [esp + 0x14]
mov esi, dword [ebp + 0x12308]
mov eax, edi
lea edx, [esp + 0x3c]
add eax, esi
push edx
push eax
lea ecx, [esp + 0x254]
push str.Name
push ecx
call ebx
xor esi, esi
add edi, 0x7038
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], edi
mov dl, byte [0x494b70]
xor eax, eax
mov dword [esp + 0x29], eax
push esi
lea ecx, [esp + 0x2c]
mov dword [esp + 0x31], eax
push 0x48e2ec
push ecx
mov byte [esp + 0x34], dl
mov byte [esp + 0x3d], al
call fcn.004585a3
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x2c]
add esp, 0xc
lea edx, [esp + 0x3c]
add eax, ecx
lea ecx, [esp + 0x28]
push edx
mov edx, dword [ebp + 0x12308]
lea eax, [eax + edx + 0x31]
lea edx, [esp + 0x250]
push eax
push ecx
push edx
call ebx
push esi
lea eax, [esp + 0x2c]
push str.Mask_d
push eax
call fcn.004585a3
mov cl, byte [0x494b70]
xor eax, eax
mov byte [esp + 0x360], cl
mov ecx, 0x18
lea edi, [esp + 0x361]
mov edx, dword [ebp + 0x12308]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov edi, dword [esp + 0x30]
lea ecx, [esp + 0x360]
mov eax, dword [edi + edx]
push eax
push 0x48e488
push ecx
call fcn.004585a3
add esp, 0x18
lea edx, [esp + 0x3c]
lea eax, [esp + 0x354]
lea ecx, [esp + 0x28]
push edx
push eax
lea edx, [esp + 0x254]
push ecx
push edx
call ebx
mov eax, dword [esp + 0x20]
inc esi
add eax, 0x1001
add edi, 4
cmp eax, 0x7007
mov dword [esp + 0x24], edi
mov dword [esp + 0x20], eax
jl 0x405b7e
mov edi, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
inc edi
add edx, 0x7054
mov dword [esp + 0x1c], edi
lea eax, [edi - 1]
mov dword [esp + 0x14], edx
cmp eax, esi
jl 0x405b17
mov eax, dword [esp + 0x18]
cmp esi, eax
jge 0x405ce3
lea edi, [esi + 1]
mov esi, eax
push edi
lea ecx, [esp + 0x250]
push str.Time_03d
push ecx
call fcn.004585a3
add esp, 0xc
cmp edi, 0x3e8
jl 0x405cc8
push edi
lea edx, [esp + 0x250]
push str.Time_d
push edx
call fcn.004585a3
add esp, 0xc
lea eax, [esp + 0x3c]
lea ecx, [esp + 0x24c]
push eax
push 0
push 0
push ecx
call ebx
inc edi
lea edx, [edi - 1]
cmp edx, esi
jl 0x405c94
lea eax, [esp + 0x3c]
push eax
push 0
push str.WebFilterCount
push str.System
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov edi, eax
mov eax, dword [ebp + 0x12318]
test eax, eax
mov dword [esp + 0x38], edi
jne 0x405d0e
xor esi, esi
jmp 0x405d29
mov ecx, dword [ebp + 0x1231c]
sub ecx, eax
mov eax, 0xa99e1b
imul ecx
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov esi, edx
push esi
lea edx, [esp + 0x4c4]
push 0x48e2ec
push edx
mov dword [esp + 0x30], esi
call fcn.004585a3
add esp, 0xc
lea eax, [esp + 0x3c]
lea ecx, [esp + 0x4c0]
push eax
push ecx
push str.WebFilterCount
push str.System
call ebx
test esi, esi
jle 0x406485
xor esi, esi
mov edi, 1
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], edi
push edi
lea edx, [esp + 0x250]
push str.Filter_03d
push edx
call fcn.004585a3
add esp, 0xc
cmp edi, 0x3e8
jl 0x405da7
push edi
lea eax, [esp + 0x250]
push str.Filter_d
push eax
call fcn.004585a3
add esp, 0xc
lea ecx, [esp + 0x3c]
mov edx, esi
push ecx
mov ecx, dword [ebp + 0x12318]
add edx, ecx
lea eax, [esp + 0x250]
push edx
push str.Name
push eax
call ebx
mov ecx, dword [ebp + 0x12318]
lea eax, [esp + 0x4c0]
mov edx, dword [esi + ecx + 0x3040]
push edx
push 0x48e2ec
push eax
call fcn.004585a3
add esp, 0xc
lea ecx, [esp + 0x3c]
lea edx, [esp + 0x4c0]
lea eax, [esp + 0x24c]
push ecx
push edx
push str.EnableContentFilter
push eax
call ebx
mov ecx, dword [ebp + 0x12318]
lea eax, [esp + 0x4c0]
mov edx, dword [esi + ecx + 0x303c]
push edx
push 0x48e2ec
push eax
call fcn.004585a3
add esp, 0xc
lea ecx, [esp + 0x3c]
lea edx, [esp + 0x4c0]
lea eax, [esp + 0x24c]
push ecx
push edx
push str.EnableSiteFilter
push eax
call ebx
mov ecx, dword [ebp + 0x12318]
lea eax, [esp + 0x4c0]
mov edx, dword [esi + ecx + 0x3044]
push edx
push 0x48e2ec
push eax
call fcn.004585a3
add esp, 0xc
lea ecx, [esp + 0x3c]
lea edx, [esp + 0x4c0]
lea eax, [esp + 0x24c]
push ecx
push edx
push str.EnableURLFilter
push eax
call ebx
mov ecx, dword [ebp + 0x12318]
lea eax, [esp + 0x4c0]
mov edx, dword [esi + ecx + 0x3048]
push edx
push 0x48e2ec
push eax
call fcn.004585a3
add esp, 0xc
lea ecx, [esp + 0x3c]
lea edx, [esp + 0x4c0]
lea eax, [esp + 0x24c]
push ecx
push edx
push str.SiteFilterModel
push eax
call ebx
mov edx, dword [ebp + 0x12318]
lea ecx, [esp + 0x3c]
push ecx
lea ecx, [esp + 0x250]
lea eax, [esi + edx + 0x1038]
push eax
push str.ContentFilter
push ecx
call ebx
mov eax, dword [ebp + 0x12318]
lea edx, [esp + 0x3c]
push edx
lea edx, [esp + 0x250]
lea ecx, [esi + eax + 0x31]
push ecx
push str.SiteFilter
push edx
call ebx
mov ecx, dword [ebp + 0x12318]
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x250]
lea edx, [esi + ecx + 0x2039]
push edx
push str.URLFilter
push eax
call ebx
mov eax, dword [ebp + 0x12318]
mov cl, byte [esi + eax + 0x31]
test cl, cl
je 0x406461
lea ecx, [esi + eax + 0x31]
push 0x48e248
push ecx
call fcn.00458d74
mov edi, eax
add esp, 8
test edi, edi
mov dword [esp + 0x34], edi
je 0x4063d4
push 2
push 0
push edi
call fcn.00458c8a
push edi
call fcn.00458b07
mov edx, dword [ebp + 0x12318]
mov dword [esp + 0x28], eax
add esp, 0x10
mov eax, dword [esi + edx + 0x1034]
test eax, eax
je 0x405f99
push eax
call fcn.0046eff2
mov eax, dword [ebp + 0x12318]
add esp, 4
mov dword [esi + eax + 0x1034], 0
mov ecx, dword [esp + 0x18]
lea edx, [ecx + ecx + 1]
push edx
call fcn.0046efc9
mov ecx, dword [ebp + 0x12318]
push 0
push 0
push edi
mov dword [esi + ecx + 0x1034], eax
mov edx, dword [ebp + 0x12318]
mov eax, dword [esi + edx + 0x1034]
mov byte [eax], 0
mov byte [esp + 0x4d0], 0
call fcn.00458c8a
push edi
lea ecx, [esp + 0x4d4]
push 0x1001
push ecx
call fcn.00458aa5
add esp, 0x1c
test eax, eax
je 0x4063c6
mov al, byte [0x494b70]
mov ecx, 0x400
mov byte [esp + 0x18c4], al
xor eax, eax
lea edi, [esp + 0x18c5]
lea edx, [esp + 0x4c0]
rep stosd dword es:[edi], eax
lea edi, [esp + 0x4c0]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x14], edx
cmp ecx, 0x1000
mov dword [esp + 0x18], eax
jbe 0x406060
lea edi, [esp + 0x4c0]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea ecx, [ecx + ecx + 1]
push ecx
call fcn.0046efc9
add esp, 4
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], 1
jmp 0x40606b
lea eax, [esp + 0x18c4]
mov dword [esp + 0x10], eax
mov byte [eax], 0
mov edx, dword [esp + 0x14]
push 0x48e244
push edx
call fcn.00458600
add esp, 8
test eax, eax
je 0x40610a
mov edi, dword [esp + 0x14]
mov byte [eax], 0
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, dword [esp + 0x10]
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x48e240
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, dword [esp + 0x10]
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov edx, dword [esp + 0x14]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, 0x48e244
mov esi, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
add ecx, edx
add ecx, esi
mov dword [esp + 0x14], ecx
jmp 0x40606e
mov edi, dword [esp + 0x14]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, dword [esp + 0x10]
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea edx, [esp + 0x4c0]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [esp + 0x10]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0x18]
and ecx, 3
test eax, eax
rep movsb byte es:[edi], byte [esi]
je 0x406170
mov ecx, dword [esp + 0x10]
push ecx
call fcn.0046eff2
add esp, 4
mov al, byte [0x494b70]
mov ecx, 0x400
mov byte [esp + 0x28c8], al
xor eax, eax
lea edi, [esp + 0x28c9]
lea edx, [esp + 0x4c0]
rep stosd dword es:[edi], eax
lea edi, [esp + 0x4c0]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x14], edx
cmp ecx, 0x1000
mov dword [esp + 0x18], eax
jbe 0x4061dc
lea edi, [esp + 0x4c0]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea ecx, [ecx + ecx + 1]
push ecx
call fcn.0046efc9
add esp, 4
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], 1
jmp 0x4061e7
lea edx, [esp + 0x28c8]
mov dword [esp + 0x10], edx
mov eax, dword [esp + 0x10]
mov byte [eax], 0
mov ecx, dword [esp + 0x14]
push 0x48e240
push ecx
call fcn.00458600
add esp, 8
test eax, eax
je 0x40628a
mov edi, dword [esp + 0x14]
mov byte [eax], 0
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, dword [esp + 0x10]
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x48e23c
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, dword [esp + 0x10]
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov edx, dword [esp + 0x14]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, 0x48e240
mov esi, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
add ecx, edx
add ecx, esi
mov dword [esp + 0x14], ecx
jmp 0x4061ee
mov edi, dword [esp + 0x14]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, dword [esp + 0x10]
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea edx, [esp + 0x4c0]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [esp + 0x10]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0x18]
and ecx, 3
test eax, eax
rep movsb byte es:[edi], byte [esi]
je 0x4062f0
mov ecx, dword [esp + 0x10]
push ecx
call fcn.0046eff2
add esp, 4
mov al, byte [esp + 0x4c0]
test al, al
je 0x4063a0
lea edi, [esp + 0x4c0]
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [ebp + 0x12318]
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x18], edx
not ecx
sub edi, ecx
mov edx, ecx
mov ecx, dword [esp + 0x18]
mov esi, edi
mov edi, dword [eax + ecx + 0x1034]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x4c0]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp byte [esp + ecx + 0x4bf], 0x3b
je 0x4063a0
mov edi, 0x48e23c
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [ebp + 0x12318]
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x18], edx
not ecx
sub edi, ecx
mov edx, ecx
mov ecx, dword [esp + 0x18]
mov esi, edi
mov edi, dword [eax + ecx + 0x1034]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [esp + 0x34]
lea edx, [esp + 0x4c0]
push edi
push 0x1001
push edx
call fcn.00458aa5
add esp, 0xc
test eax, eax
jne 0x405ff4
mov esi, dword [esp + 0x1c]
push edi
call fcn.00458a28
add esp, 4
jmp 0x40645d
mov eax, dword [ebp + 0x12318]
mov eax, dword [esi + eax + 0x1034]
test eax, eax
je 0x4063ff
push eax
call fcn.0046eff2
mov ecx, dword [ebp + 0x12318]
add esp, 4
mov dword [esi + ecx + 0x1034], 0
mov eax, dword [ebp + 0x12318]
mov esi, dword [esp + 0x1c]
or ecx, 0xffffffff
lea edi, [esi + eax + 0x31]
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
push ecx
call fcn.0046efc9
mov edx, dword [ebp + 0x12318]
or ecx, 0xffffffff
add esp, 4
mov dword [esi + edx + 0x1034], eax
mov eax, dword [ebp + 0x12318]
lea edx, [esi + eax]
xor eax, eax
lea edi, [edx + 0x31]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, dword [edx + 0x1034]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
inc edi
add esi, 0x304c
mov dword [esp + 0x20], edi
lea ecx, [edi - 1]
mov dword [esp + 0x1c], esi
cmp ecx, eax
jl 0x405d73
mov edi, dword [esp + 0x38]
mov esi, eax
cmp esi, edi
jge 0x4064d9
inc esi
push esi
lea edx, [esp + 0x250]
push str.Filter_03d
push edx
call fcn.004585a3
add esp, 0xc
cmp esi, 0x3e8
jl 0x4064be
push esi
lea eax, [esp + 0x250]
push str.Filter_d
push eax
call fcn.004585a3
add esp, 0xc
lea ecx, [esp + 0x3c]
lea edx, [esp + 0x24c]
push ecx
push 0
push 0
push edx
call ebx
inc esi
lea eax, [esi - 1]
cmp eax, edi
jl 0x40648a
mov ecx, 0x4cb650
call fcn.00442a10
mov ecx, dword [ebp + 0x1232c]
lea edx, [esp + 0x4c0]
push ecx
push 0x48e2ec
push edx
call fcn.004585a3
add esp, 0xc
lea eax, [esp + 0x4c0]
push 0x494f68
push eax
push str.NTUserAuth
push str.System
call ebx
add ebp, 0x112f0
push 0x494f68
push ebp
push str.NTDomain
push str.System
call ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38bc
ret