Function at 0x405070
Capabilities:
Read .ini file
Resolve function by parsing pe exports

Disassembly:
mov eax, 0x38bc
call fcn.00457d20
push ebx
push ebp
push esi
push edi
mov ebp, ecx
call fcn.0044cc70
mov dl, byte [0x493b50]
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.004584c0
lea edx, [esp + 0x3c0]
mov byte [eax], 0
push edx
lea eax, [esp + 0x48]
push str._sAccInfo.ini
push eax
call fcn.00457c43
mov cl, byte [0x493b50]
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 + 0x33e8]
test eax, eax
jne 0x405137
xor esi, esi
jmp 0x405152
mov ecx, dword [ebp + 0x33ec]
sub ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov esi, edx
push esi
lea ecx, [esp + 0x4c4]
push 0x48d2ec
push ecx
mov dword [esp + 0x2c], esi
call fcn.00457c43
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 [0x493b50]
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 0x405723
mov esi, 1
mov dword [esp + 0x1c], eax
mov dword [esp + 0x10], esi
jmp 0x4051c3
mov esi, dword [esp + 0x10]
push esi
lea edx, [esp + 0x148]
push str.User_03d
push edx
call fcn.00457c43
add esp, 0xc
cmp esi, 0x3e8
jl 0x4051f7
push esi
lea eax, [esp + 0x148]
push str.User_d
push eax
call fcn.00457c43
add esp, 0xc
mov esi, dword [esp + 0x1c]
mov eax, dword [ebp + 0x33e8]
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 + 0x33e8]
xor eax, eax
lea edx, [esp + 0x4c0]
lea edi, [esi + ecx + 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
xor eax, eax
and ecx, 3
mov dword [esp + 0x14], eax
rep movsb byte es:[edi], byte [esi]
mov cl, byte [0x493b50]
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 0x4052f4
mov edx, dword [esp + 0x14]
mov ecx, 0x3e7
movsx eax, byte [esp + edx + 0x4c0]
sub ecx, eax
lea edx, [esp + 0x14c4]
push ecx
push 0x48d490
push edx
call fcn.00457c43
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 0x40527c
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 0x48d420
push eax
call ebx
mov edx, dword [ebp + 0x33e8]
mov esi, dword [esp + 0x1c]
lea ecx, [esp + 0x3c]
lea eax, [esi + edx + 0x48]
push ecx
push eax
lea ecx, [esp + 0x14c]
push str.MACAddress
push ecx
call ebx
mov edx, dword [ebp + 0x33e8]
mov edi, dword [sym.imp.WS2_32.dll_inet_ntoa]
mov eax, dword [esi + edx + 0x5c]
push eax
call edi
push eax
lea eax, [esp + 0x4c4]
push 0x48d48c
push eax
call fcn.00457c43
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 + 0x33e8]
mov eax, dword [esi + ecx + 0x60]
push eax
call edi
push eax
lea edx, [esp + 0x4c4]
push 0x48d48c
push edx
call fcn.00457c43
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 + 0x33e8]
lea edx, [esp + 0x4c0]
mov ecx, dword [esi + eax + 0x68]
push ecx
push 0x48d488
push edx
call fcn.00457c43
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 + 0x33e8]
push str._blacklist
add esi, eax
push esi
call fcn.0045c970
add esp, 8
test eax, eax
jne 0x405455
mov eax, dword [ebp + 0x33e8]
mov esi, dword [esp + 0x1c]
add eax, esi
mov ecx, dword [eax + 0x60]
mov edx, dword [eax + 0x5c]
push ecx
push edx
mov ecx, ebp
call fcn.00406820
jmp 0x405459
mov esi, dword [esp + 0x1c]
mov eax, dword [ebp + 0x33e8]
lea edx, [esp + 0x4c0]
mov ecx, dword [esi + eax + 0x6c]
push ecx
push 0x48d2ec
push edx
call fcn.00457c43
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 + 0x33e8]
lea edx, [esp + 0x4c0]
mov ecx, dword [esi + eax + 0x70]
push ecx
push 0x48d2ec
push edx
call fcn.00457c43
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 + 0x33e8]
lea edx, [esp + 0x4c0]
mov ecx, dword [esi + eax + 0x74]
push ecx
push 0x48d2ec
push edx
call fcn.00457c43
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 + 0x33e8]
lea edx, [esp + 0x4c0]
mov ecx, dword [esi + eax + 0x78]
push ecx
push 0x48d2ec
push edx
call fcn.00457c43
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 + 0x33e8]
lea edx, [esp + 0x4c0]
mov ecx, dword [esi + eax + 0x44]
push ecx
push 0x48d2ec
push edx
call fcn.00457c43
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 + 0x33e8]
mov ecx, dword [esi + eax + 0x64]
lea edx, [esp + 0x4c0]
push ecx
push 0x48d2ec
push edx
call fcn.00457c43
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 + 0x33e8]
lea edx, [esp + 0x4c0]
mov ecx, dword [esi + eax + 0x58]
push ecx
push 0x48d2ec
push edx
call fcn.00457c43
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 + 0x33e8]
mov ecx, dword [esi + eax + 0x8c]
mov eax, 0x48d484
test ecx, ecx
jne 0x405618
mov eax, 0x48d480
lea ecx, [esp + 0x3c]
lea edx, [esp + 0x144]
push ecx
push eax
push 0x48d368
push edx
call ebx
mov eax, dword [ebp + 0x33e8]
mov ecx, dword [esi + eax + 0x90]
mov eax, 0x48d484
test ecx, ecx
jne 0x405648
mov eax, 0x48d480
lea ecx, [esp + 0x3c]
lea edx, [esp + 0x144]
push ecx
push eax
push str.BelongsGroup
push edx
call ebx
mov ecx, dword [ebp + 0x33e8]
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x148]
lea edx, [esi + ecx + 0x94]
push edx
push str.BelongsGroupName
push eax
call ebx
mov ecx, dword [ebp + 0x33e8]
mov eax, dword [esi + ecx + 0xa4]
test eax, eax
mov eax, 0x48d484
jne 0x40569a
mov eax, 0x48d480
lea edx, [esp + 0x3c]
push edx
push eax
lea eax, [esp + 0x14c]
push str.IsGroup
push eax
call ebx
mov ecx, dword [ebp + 0x33e8]
mov eax, dword [esi + ecx + 0xa8]
test eax, eax
mov eax, 0x48d484
jne 0x4056ca
mov eax, 0x48d480
lea edx, [esp + 0x3c]
push edx
push eax
lea eax, [esp + 0x14c]
push str.AutoDisable
push eax
call ebx
mov edx, dword [ebp + 0x33e8]
lea ecx, [esp + 0x3c]
push ecx
lea ecx, [esp + 0x148]
lea eax, [esi + edx + 0xac]
push eax
push str.DisableDateTime
push ecx
call ebx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x20]
inc eax
add esi, 0xc0
mov dword [esp + 0x10], eax
dec eax
cmp eax, ecx
mov dword [esp + 0x1c], esi
jl 0x4051bf
mov esi, ecx
mov edi, dword [esp + 0x18]
cmp esi, edi
jge 0x405778
inc esi
push esi
lea edx, [esp + 0x148]
push str.User_03d
push edx
call fcn.00457c43
add esp, 0xc
cmp esi, 0x64
jl 0x40575d
push esi
lea eax, [esp + 0x148]
push str.User_d
push eax
call fcn.00457c43
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 0x40572c
mov ecx, dword [ebp + 0x3414]
lea edx, [esp + 0x4c0]
push ecx
push 0x48d2ec
push edx
call fcn.00457c43
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 + 0x3418]
lea eax, [esp + 0x4c0]
push edx
push 0x48d2ec
push eax
call fcn.00457c43
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 + 0x33f8]
test eax, eax
jne 0x40580b
xor esi, esi
jmp 0x405828
mov ecx, dword [ebp + 0x33fc]
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 0x48d2ec
push edx
mov dword [esp + 0x1c], esi
call fcn.00457c43
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 [0x493b50]
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 0x4059fd
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.00457c43
add esp, 0xc
cmp edi, 0x3e8
jl 0x4058c1
push edi
lea ecx, [esp + 0x250]
push str.Time_d
push ecx
call fcn.00457c43
add esp, 0xc
mov edi, dword [esp + 0x14]
mov esi, dword [ebp + 0x33f8]
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 [0x493b50]
xor eax, eax
mov dword [esp + 0x29], eax
push esi
lea ecx, [esp + 0x2c]
mov dword [esp + 0x31], eax
push 0x48d2ec
push ecx
mov byte [esp + 0x34], dl
mov byte [esp + 0x3d], al
call fcn.00457c43
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 + 0x33f8]
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.00457c43
mov cl, byte [0x493b50]
xor eax, eax
mov byte [esp + 0x360], cl
mov ecx, 0x18
lea edi, [esp + 0x361]
mov edx, dword [ebp + 0x33f8]
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 0x48d488
push ecx
call fcn.00457c43
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 0x4058f4
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 0x40588d
mov eax, dword [esp + 0x18]
cmp esi, eax
jge 0x405a59
lea edi, [esi + 1]
mov esi, eax
push edi
lea ecx, [esp + 0x250]
push str.Time_03d
push ecx
call fcn.00457c43
add esp, 0xc
cmp edi, 0x3e8
jl 0x405a3e
push edi
lea edx, [esp + 0x250]
push str.Time_d
push edx
call fcn.00457c43
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 0x405a0a
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 + 0x3408]
test eax, eax
mov dword [esp + 0x38], edi
jne 0x405a84
xor esi, esi
jmp 0x405a9f
mov ecx, dword [ebp + 0x340c]
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 0x48d2ec
push edx
mov dword [esp + 0x30], esi
call fcn.00457c43
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 0x4061fb
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.00457c43
add esp, 0xc
cmp edi, 0x3e8
jl 0x405b1d
push edi
lea eax, [esp + 0x250]
push str.Filter_d
push eax
call fcn.00457c43
add esp, 0xc
lea ecx, [esp + 0x3c]
mov edx, esi
push ecx
mov ecx, dword [ebp + 0x3408]
add edx, ecx
lea eax, [esp + 0x250]
push edx
push str.Name
push eax
call ebx
mov ecx, dword [ebp + 0x3408]
lea eax, [esp + 0x4c0]
mov edx, dword [esi + ecx + 0x3040]
push edx
push 0x48d2ec
push eax
call fcn.00457c43
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 + 0x3408]
lea eax, [esp + 0x4c0]
mov edx, dword [esi + ecx + 0x303c]
push edx
push 0x48d2ec
push eax
call fcn.00457c43
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 + 0x3408]
lea eax, [esp + 0x4c0]
mov edx, dword [esi + ecx + 0x3044]
push edx
push 0x48d2ec
push eax
call fcn.00457c43
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 + 0x3408]
lea eax, [esp + 0x4c0]
mov edx, dword [esi + ecx + 0x3048]
push edx
push 0x48d2ec
push eax
call fcn.00457c43
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 + 0x3408]
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 + 0x3408]
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 + 0x3408]
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 + 0x3408]
mov cl, byte [esi + eax + 0x31]
test cl, cl
je 0x4061d7
lea ecx, [esi + eax + 0x31]
push 0x48d248
push ecx
call fcn.00458414
mov edi, eax
add esp, 8
test edi, edi
mov dword [esp + 0x34], edi
je 0x40614a
push 2
push 0
push edi
call fcn.0045832a
push edi
call fcn.004581a7
mov edx, dword [ebp + 0x3408]
mov dword [esp + 0x28], eax
add esp, 0x10
mov eax, dword [esi + edx + 0x1034]
test eax, eax
je 0x405d0f
push eax
call fcn.0046e6a2
mov eax, dword [ebp + 0x3408]
add esp, 4
mov dword [esi + eax + 0x1034], 0
mov ecx, dword [esp + 0x18]
lea edx, [ecx + ecx + 1]
push edx
call fcn.0046e679
mov ecx, dword [ebp + 0x3408]
push 0
push 0
push edi
mov dword [esi + ecx + 0x1034], eax
mov edx, dword [ebp + 0x3408]
mov eax, dword [esi + edx + 0x1034]
mov byte [eax], 0
mov byte [esp + 0x4d0], 0
call fcn.0045832a
push edi
lea ecx, [esp + 0x4d4]
push 0x1001
push ecx
call fcn.00458145
add esp, 0x1c
test eax, eax
je 0x40613c
mov al, byte [0x493b50]
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 0x405dd6
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.0046e679
add esp, 4
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], 1
jmp 0x405de1
lea eax, [esp + 0x18c4]
mov dword [esp + 0x10], eax
mov byte [eax], 0
mov edx, dword [esp + 0x14]
push 0x48d244
push edx
call fcn.00457ca0
add esp, 8
test eax, eax
je 0x405e80
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, 0x48d240
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, 0x48d244
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 0x405de4
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 0x405ee6
mov ecx, dword [esp + 0x10]
push ecx
call fcn.0046e6a2
add esp, 4
mov al, byte [0x493b50]
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 0x405f52
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.0046e679
add esp, 4
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], 1
jmp 0x405f5d
lea edx, [esp + 0x28c8]
mov dword [esp + 0x10], edx
mov eax, dword [esp + 0x10]
mov byte [eax], 0
mov ecx, dword [esp + 0x14]
push 0x48d240
push ecx
call fcn.00457ca0
add esp, 8
test eax, eax
je 0x406000
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, 0x48d23c
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, 0x48d240
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 0x405f64
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 0x406066
mov ecx, dword [esp + 0x10]
push ecx
call fcn.0046e6a2
add esp, 4
mov al, byte [esp + 0x4c0]
test al, al
je 0x406116
lea edi, [esp + 0x4c0]
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [ebp + 0x3408]
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 0x406116
mov edi, 0x48d23c
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [ebp + 0x3408]
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.00458145
add esp, 0xc
test eax, eax
jne 0x405d6a
mov esi, dword [esp + 0x1c]
push edi
call fcn.004580c8
add esp, 4
jmp 0x4061d3
mov eax, dword [ebp + 0x3408]
mov eax, dword [esi + eax + 0x1034]
test eax, eax
je 0x406175
push eax
call fcn.0046e6a2
mov ecx, dword [ebp + 0x3408]
add esp, 4
mov dword [esi + ecx + 0x1034], 0
mov eax, dword [ebp + 0x3408]
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.0046e679
mov edx, dword [ebp + 0x3408]
or ecx, 0xffffffff
add esp, 4
mov dword [esi + edx + 0x1034], eax
mov eax, dword [ebp + 0x3408]
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 0x405ae9
mov edi, dword [esp + 0x38]
mov esi, eax
cmp esi, edi
jge 0x40624f
inc esi
push esi
lea edx, [esp + 0x250]
push str.Filter_03d
push edx
call fcn.00457c43
add esp, 0xc
cmp esi, 0x3e8
jl 0x406234
push esi
lea eax, [esp + 0x250]
push str.Filter_d
push eax
call fcn.00457c43
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 0x406200
mov ecx, 0x4bb720
call fcn.004420c0
mov ecx, dword [ebp + 0x341c]
lea edx, [esp + 0x4c0]
push ecx
push 0x48d2ec
push edx
call fcn.00457c43
add esp, 0xc
lea eax, [esp + 0x4c0]
push 0x493f48
push eax
push str.NTUserAuth
push str.System
call ebx
add ebp, 0x23e0
push 0x493f48
push ebp
push str.NTDomain
push str.System
call ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38bc
ret