Function at 0x10030260
Capabilities:
Persist via run registry key
Query or enumerate registry value
Read .ini file
Set registry value

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1004f167
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, 0x1c54
call fcn.10036fa0
mov eax, dword [0x1005d330]
push ebx
push esi
push edi
mov esi, ecx
mov dword [esp + 0x1c5c], eax
xor eax, eax
mov byte [esp + 0x130], 0
mov ecx, 0x400
lea edi, [esp + 0x131]
rep stosd dword es:[edi], eax
mov byte [esp + 0x1240], al
mov ecx, 0x41
lea edi, [esp + 0x1241]
rep stosd dword es:[edi], eax
push 0x105
lea eax, [esp + 0x1244]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea ecx, [esp + 0x1240]
push 0x5c
push ecx
call fcn.10037c60
add esp, 8
lea edx, [esp + 0x1240]
push edx
lea ecx, [esp + 0x1c]
mov byte [eax], 0
call fcn.100047c0
push 1
push 0x10052f44
lea ecx, [esp + 0x20]
mov dword [esp + 0x1c74], 0
call fcn.10003080
xor eax, eax
mov byte [esp + 0x28], 0
mov ecx, 0x41
lea edi, [esp + 0x29]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x1240]
push eax
lea ecx, [esp + 0x2c]
push str._sCCProxy.ini
push ecx
call fcn.10036e11
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
add esp, 0xc
lea edx, [esp + 0x28]
push edx
push 0x1000
lea eax, [esp + 0x138]
push eax
push 0x10053b6c
push str.PortSMTP
push str.Mail
call ebx
lea ecx, [esp + 0x130]
push ecx
call fcn.10036ef1
add esp, 4
lea edx, [esp + 0x28]
push edx
push 0x1000
mov dword [esi + 0x14d8], eax
lea eax, [esp + 0x138]
push eax
push 0x10053b54
push str.PortPOP3
push str.Mail
call ebx
lea ecx, [esp + 0x130]
push ecx
call fcn.10036ef1
add esp, 4
lea edx, [esp + 0x28]
mov dword [esi + 0x14dc], eax
push edx
push 0
push str.AntiSpamRBL
push str.Mail
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [esi + 0x14e0], eax
lea eax, [esp + 0x28]
push eax
push 0x1000
lea ecx, [esi + 0x60]
push ecx
push 0x10050713
push str.EntrySelected
push str.Dial
call ebx
lea edx, [esp + 0x28]
push edx
push 0x1000
lea eax, [esp + 0x138]
push eax
push 0x10050713
push 0x100509a4
push str.Dial
call ebx
lea eax, [esp + 0x130]
lea edi, [esi + 0x460]
mov ecx, eax
sub edi, ecx
mov edi, edi
mov cl, byte [eax]
mov byte [edi + eax], cl
inc eax
test cl, cl
jne 0x10030430
lea edx, [esp + 0x28]
push edx
push 0x1000
lea eax, [esp + 0x138]
push eax
push 0x10050713
push 0x10050998
push str.Dial
call ebx
lea ecx, [esp + 0x130]
push ecx
call fcn.10001300
lea eax, [esp + 0x134]
lea edx, [esi + 0x860]
mov ecx, eax
add esp, 4
sub edx, ecx
mov edi, edi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x10030480
lea edx, [esp + 0x28]
push edx
push 0x1000
lea eax, [esp + 0x138]
push eax
push 0x10053b20
push str.IdleTimeout
push str.Dial
call ebx
lea ecx, [esp + 0x130]
push ecx
call fcn.10036ef1
add esp, 4
lea edx, [esp + 0x28]
push edx
push 0x1000
mov dword [esi + 0xc64], eax
lea eax, [esp + 0x138]
push eax
push 0x10050dd4
push str.AutoDisconnect
push str.Dial
call ebx
lea ecx, [esp + 0x130]
push ecx
call fcn.10036ef1
add esp, 4
lea edx, [esp + 0x28]
push edx
push 0x1000
mov dword [esi + 0xc60], eax
lea eax, [esp + 0x138]
push eax
push 0x10050dd4
push str.AutoDial
push str.Dial
call ebx
lea ecx, [esp + 0x130]
push ecx
call fcn.10036ef1
add esp, 4
lea edx, [esp + 0x28]
push edx
push 0x1000
mov dword [esi + 0xc68], eax
lea eax, [esp + 0x138]
push eax
push 0x10050dd8
push 0x10053af4
push str.Dial
call ebx
lea ecx, [esp + 0x130]
push ecx
call fcn.10036ef1
add esp, 4
lea edx, [esp + 0x28]
push edx
push 0x1000
mov dword [esi + 0xc74], eax
lea eax, [esp + 0x138]
push eax
push 0x10050dd8
push str.Mail
push str.Dial
call ebx
lea ecx, [esp + 0x130]
push ecx
call fcn.10036ef1
add esp, 4
lea edx, [esp + 0x28]
push edx
push 0x1000
mov dword [esi + 0xc78], eax
lea eax, [esp + 0x138]
push eax
push 0x10050dd4
push 0x10052088
push str.Dial
call ebx
lea ecx, [esp + 0x130]
push ecx
call fcn.10036ef1
add esp, 4
lea edx, [esp + 0x28]
push edx
push 0x1000
mov dword [esi + 0xc7c], eax
lea eax, [esp + 0x138]
push eax
push 0x10050dd4
push str.Others
push str.Dial
call ebx
lea ecx, [esp + 0x130]
push ecx
call fcn.10036ef1
add esp, 4
lea edx, [esp + 0x28]
push edx
push 0x1000
mov dword [esi + 0xc80], eax
lea eax, [esp + 0x138]
push eax
push 0x10050dd4
push str.Telnet
push str.Dial
call ebx
lea ecx, [esp + 0x130]
push ecx
call fcn.10036ef1
add esp, 4
lea edx, [esp + 0x28]
push edx
push 0x1000
mov dword [esi + 0xc84], eax
lea eax, [esp + 0x138]
push eax
push 0x10050dd4
push str.SOCKS
push str.Dial
call ebx
lea ecx, [esp + 0x130]
push ecx
call fcn.10036ef1
add esp, 4
lea edx, [esp + 0x28]
push edx
push 0x1000
mov dword [esi + 0xc88], eax
lea eax, [esp + 0x138]
push eax
push 0x10050dd4
push str.News
push str.Dial
call ebx
lea ecx, [esp + 0x130]
push ecx
call fcn.10036ef1
add esp, 4
lea edx, [esp + 0x28]
push edx
push 0x1000
mov dword [esi + 0xc8c], eax
lea eax, [esp + 0x138]
push eax
push 0x10050dd4
push str.DialWhenStartup
push str.Dial
call ebx
lea ecx, [esp + 0x130]
push ecx
call fcn.10036ef1
add esp, 4
lea edx, [esp + 0x28]
push edx
push 0x1000
mov dword [esi + 0xc6c], eax
lea eax, [esp + 0x138]
push eax
push 0x10050dd4
push str.DisconnectWhenShutdown
push str.Dial
call ebx
lea ecx, [esp + 0x130]
push ecx
call fcn.10036ef1
add esp, 4
lea edx, [esp + 0x28]
push edx
push 0x1000
mov dword [esi + 0xc70], eax
lea eax, [esp + 0x138]
push eax
push 0x10050dd4
push str.LoadFromCache
push str.Cache
call ebx
lea ecx, [esp + 0x130]
push ecx
call fcn.10036ef1
add esp, 4
lea edx, [esp + 0x28]
push edx
push 0x1000
mov dword [esi + 0x54], eax
lea eax, [esp + 0x138]
push eax
push 0x10053a90
push str.CacheTimeout
push str.Cache
call ebx
lea ecx, [esp + 0x130]
push ecx
call fcn.10036ef1
add esp, 4
lea edx, [esp + 0x28]
push edx
push 0x1000
mov dword [esi + 0x58], eax
lea eax, [esp + 0x138]
push eax
push 0x10050dd4
push str.WebCached
push str.System
call ebx
lea ecx, [esp + 0x130]
push ecx
call fcn.10036ef1
add esp, 4
lea edx, [esp + 0x28]
push edx
push 0x1000
mov dword [esi + 0x50], eax
lea eax, [esp + 0x138]
push eax
push 0x10050dd4
push str.CascadingProxy
push str.System
call ebx
lea ecx, [esp + 0x130]
push ecx
call fcn.10036ef1
add esp, 4
lea edx, [esp + 0x28]
push edx
push 0x1000
mov dword [esi + 0x14e4], eax
lea eax, [esp + 0x138]
push eax
push 0x10050713
push str.ProxyAddr
push str.CascadingProxy
call ebx
lea eax, [esp + 0x130]
lea edi, [esi + 0x14e8]
mov ecx, eax
sub edi, ecx
mov cl, byte [eax]
mov byte [edi + eax], cl
inc eax
test cl, cl
jne 0x10030845
lea edx, [esp + 0x28]
push edx
push 0x1000
lea eax, [esp + 0x138]
push eax
push str.HTTP
push str.Protocol
push str.CascadingProxy
call ebx
lea eax, [esp + 0x130]
lea edx, [esi + 0x18e8]
mov ecx, eax
sub edx, ecx
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x10030883
lea edx, [esp + 0x28]
push edx
push 0x1000
lea eax, [esp + 0x138]
push eax
push 0x10053a48
push str.Port
push str.CascadingProxy
call ebx
lea ecx, [esp + 0x130]
push ecx
call fcn.10036ef1
add esp, 4
lea edx, [esp + 0x28]
push edx
push 0x1000
mov dword [esi + 0x1ce8], eax
lea eax, [esp + 0x138]
push eax
push 0x10050dd4
push str.NeedAuth
push str.CascadingProxy
call ebx
lea ecx, [esp + 0x130]
push ecx
call fcn.10036ef1
add esp, 4
lea edx, [esp + 0x28]
push edx
push 0x1000
mov dword [esi + 0x1cec], eax
lea eax, [esp + 0x138]
push eax
push 0x10050713
push 0x100509a4
push str.CascadingProxy
call ebx
lea eax, [esp + 0x130]
lea edi, [esi + 0x1cf0]
mov ecx, eax
sub edi, ecx
mov cl, byte [eax]
mov byte [edi + eax], cl
inc eax
test cl, cl
jne 0x10030933
lea edx, [esp + 0x28]
push edx
push 0x1000
lea eax, [esp + 0x138]
push eax
push 0x10050713
push 0x10050998
push str.CascadingProxy
call ebx
lea ecx, [esp + 0x130]
push ecx
call fcn.10001300
lea eax, [esp + 0x134]
lea edx, [esi + 0x20f0]
mov ecx, eax
add esp, 4
sub edx, ecx
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x10030981
lea edx, [esp + 0x28]
push edx
push 0x1000
lea eax, [esp + 0x138]
push eax
push str.Basic
push str.AuthMethod
push str.CascadingProxy
call ebx
lea eax, [esp + 0x130]
lea edi, [esi + 0x24f0]
lea ecx, [eax + 1]
mov edi, edi
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x100309c0
sub eax, ecx
push eax
lea ecx, [esp + 0x134]
push ecx
mov ecx, edi
call fcn.10002bf0
lea edx, [esp + 0x28]
push edx
push 0x1000
lea eax, [esp + 0x138]
push eax
push 0x10050713
push str.Domain
push str.CascadingProxy
call ebx
lea eax, [esp + 0x130]
lea edi, [esi + 0x24f4]
lea ecx, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x10030a10
sub eax, ecx
push eax
lea ecx, [esp + 0x134]
push ecx
mov ecx, edi
call fcn.10002bf0
lea edx, [esp + 0x28]
push edx
push 0x1000
lea eax, [esp + 0x138]
push eax
push 0x10050dd4
push str.CascadingWWW
push str.CascadingProxy
call ebx
lea ecx, [esp + 0x130]
push ecx
call fcn.10036ef1
add esp, 4
lea edx, [esp + 0x28]
push edx
push 0x1000
mov dword [esi + 0x24f8], eax
lea eax, [esp + 0x138]
push eax
push 0x10050713
push str.WWWProxyAddr
push str.CascadingProxy
call ebx
lea eax, [esp + 0x130]
lea edi, [esi + 0x250c]
mov ecx, eax
sub edi, ecx
mov cl, byte [eax]
mov byte [edi + eax], cl
inc eax
test cl, cl
jne 0x10030a96
lea edx, [esp + 0x28]
push edx
push 0x1000
lea eax, [esp + 0x138]
push eax
push str.HTTP
push str.WWWProtocol
push str.CascadingProxy
call ebx
lea eax, [esp + 0x130]
lea edx, [esi + 0x390c]
mov ecx, eax
sub edx, ecx
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x10030ad4
lea edx, [esp + 0x28]
push edx
push 0x1000
lea eax, [esp + 0x138]
push eax
push 0x10053a48
push str.WWWPort
push str.CascadingProxy
call ebx
lea ecx, [esp + 0x130]
push ecx
call fcn.10036ef1
add esp, 4
lea edx, [esp + 0x28]
push edx
push 0x1000
mov dword [esi + 0x4d0c], eax
lea eax, [esp + 0x138]
push eax
push 0x10050dd4
push str.WWWNeedAuth
push str.CascadingProxy
call ebx
lea ecx, [esp + 0x130]
push ecx
call fcn.10036ef1
add esp, 4
lea edx, [esp + 0x28]
push edx
push 0x1000
mov dword [esi + 0x4d20], eax
lea eax, [esp + 0x138]
push eax
push 0x10050713
push str.WWWUserName
push str.CascadingProxy
call ebx
lea eax, [esp + 0x130]
lea edi, [esi + 0x4d34]
mov ecx, eax
sub edi, ecx
mov cl, byte [eax]
mov byte [edi + eax], cl
inc eax
test cl, cl
jne 0x10030b84
lea edx, [esp + 0x28]
push edx
push 0x1000
lea eax, [esp + 0x138]
push eax
push 0x10050713
push str.WWWPassword
push str.CascadingProxy
call ebx
lea ecx, [esp + 0x130]
push ecx
call fcn.10001300
lea eax, [esp + 0x134]
lea edx, [esi + 0x6134]
mov ecx, eax
add esp, 4
sub edx, ecx
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x10030bd2
lea edx, [esp + 0x28]
push edx
push 0x1000
lea eax, [esp + 0x138]
push eax
push str.Basic
push str.WWWAuthMethod
push str.CascadingProxy
call ebx
lea eax, [esp + 0x130]
lea edi, [esi + 0x7534]
lea ecx, [eax + 1]
nop
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x10030c10
sub eax, ecx
push eax
lea ecx, [esp + 0x134]
push ecx
mov ecx, edi
call fcn.10002bf0
lea edx, [esp + 0x28]
push edx
push 0x1000
lea eax, [esp + 0x138]
push eax
push 0x10050713
push str.WWWDomain
push str.CascadingProxy
call ebx
lea eax, [esp + 0x130]
lea edi, [esi + 0x7548]
lea ecx, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x10030c60
sub eax, ecx
push eax
lea ecx, [esp + 0x134]
push ecx
mov ecx, edi
call fcn.10002bf0
lea edx, [esp + 0x28]
push edx
push 0x1000
lea eax, [esp + 0x138]
push eax
push 0x10050dd4
push str.CascadingSOCKS
push str.CascadingProxy
call ebx
lea ecx, [esp + 0x130]
push ecx
call fcn.10036ef1
add esp, 4
lea edx, [esp + 0x28]
push edx
push 0x1000
mov dword [esi + 0x24fc], eax
lea eax, [esp + 0x138]
push eax
push 0x10050713
push str.SOCKSProxyAddr
push str.CascadingProxy
call ebx
lea eax, [esp + 0x130]
lea edi, [esi + 0x290c]
mov ecx, eax
sub edi, ecx
mov cl, byte [eax]
mov byte [eax + edi], cl
inc eax
test cl, cl
jne 0x10030ce6
lea edx, [esp + 0x28]
push edx
push 0x1000
lea eax, [esp + 0x138]
push eax
push str.HTTP
push str.SOCKSProtocol
push str.CascadingProxy
call ebx
lea eax, [esp + 0x130]
lea edx, [esi + 0x3d0c]
mov ecx, eax
sub edx, ecx
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x10030d24
lea edx, [esp + 0x28]
push edx
push 0x1000
lea eax, [esp + 0x138]
push eax
push 0x10053a48
push str.SOCKSPort
push str.CascadingProxy
call ebx
lea ecx, [esp + 0x130]
push ecx
call fcn.10036ef1
add esp, 4
lea edx, [esp + 0x28]
push edx
push 0x1000
mov dword [esi + 0x4d10], eax
lea eax, [esp + 0x138]
push eax
push 0x10050dd4
push str.SOCKSNeedAuth
push str.CascadingProxy
call ebx
lea ecx, [esp + 0x130]
push ecx
call fcn.10036ef1
add esp, 4
lea edx, [esp + 0x28]
push edx
push 0x1000
mov dword [esi + 0x4d24], eax
lea eax, [esp + 0x138]
push eax
push 0x10050713
push str.SOCKSUserName
push str.CascadingProxy
call ebx
lea eax, [esp + 0x130]
lea edi, [esi + 0x5134]
mov ecx, eax
sub edi, ecx
mov cl, byte [eax]
mov byte [eax + edi], cl
inc eax
test cl, cl
jne 0x10030dd4
lea edx, [esp + 0x28]
push edx
push 0x1000
lea eax, [esp + 0x138]
push eax
push 0x10050713
push str.SOCKSPassword
push str.CascadingProxy
call ebx
lea ecx, [esp + 0x130]
push ecx
call fcn.10001300
lea eax, [esp + 0x134]
lea edx, [esi + 0x6534]
mov ecx, eax
add esp, 4
sub edx, ecx
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x10030e22
lea edx, [esp + 0x28]
push edx
push 0x1000
lea eax, [esp + 0x138]
push eax
push str.Basic
push str.SOCKSAuthMethod
push str.CascadingProxy
call ebx
lea eax, [esp + 0x130]
lea edi, [esi + 0x7538]
lea ecx, [eax + 1]
nop
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x10030e60
sub eax, ecx
push eax
lea ecx, [esp + 0x134]
push ecx
mov ecx, edi
call fcn.10002bf0
lea edx, [esp + 0x28]
push edx
push 0x1000
lea eax, [esp + 0x138]
push eax
push 0x10050713
push str.SOCKSDomain
push str.CascadingProxy
call ebx
lea eax, [esp + 0x130]
lea edi, [esi + 0x754c]
lea ecx, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x10030eb0
sub eax, ecx
push eax
lea ecx, [esp + 0x134]
push ecx
mov ecx, edi
call fcn.10002bf0
lea edx, [esp + 0x28]
push edx
push 0x1000
lea eax, [esp + 0x138]
push eax
push 0x10050dd4
push str.CascadingSMTP
push str.CascadingProxy
call ebx
lea ecx, [esp + 0x130]
push ecx
call fcn.10036ef1
add esp, 4
lea edx, [esp + 0x28]
push edx
push 0x1000
mov dword [esi + 0x2500], eax
lea eax, [esp + 0x138]
push eax
push 0x10050713
push str.SMTPProxyAddr
push str.CascadingProxy
call ebx
lea eax, [esp + 0x130]
lea edi, [esi + 0x2d0c]
mov ecx, eax
sub edi, ecx
mov cl, byte [eax]
mov byte [eax + edi], cl
inc eax
test cl, cl
jne 0x10030f36
lea edx, [esp + 0x28]
push edx
push 0x1000
lea eax, [esp + 0x138]
push eax
push str.HTTP
push str.SMTPProtocol
push str.CascadingProxy
call ebx
lea eax, [esp + 0x130]
lea edx, [esi + 0x410c]
mov ecx, eax
sub edx, ecx
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x10030f74
lea edx, [esp + 0x28]
push edx
push 0x1000
lea eax, [esp + 0x138]
push eax
push 0x10053a48
push str.SMTPPort
push str.CascadingProxy
call ebx
lea ecx, [esp + 0x130]
push ecx
call fcn.10036ef1
add esp, 4
lea edx, [esp + 0x28]
push edx
push 0x1000
mov dword [esi + 0x4d14], eax
lea eax, [esp + 0x138]
push eax
push 0x10050dd4
push str.SMTPNeedAuth
push str.CascadingProxy
call ebx
lea ecx, [esp + 0x130]
push ecx
call fcn.10036ef1
add esp, 4
lea edx, [esp + 0x28]
push edx
push 0x1000
mov dword [esi + 0x4d28], eax
lea eax, [esp + 0x138]
push eax
push 0x10050713
push str.SMTPUserName
push str.CascadingProxy
call ebx
lea eax, [esp + 0x130]
lea edi, [esi + 0x5534]
mov ecx, eax
sub edi, ecx
mov cl, byte [eax]
mov byte [eax + edi], cl
inc eax
test cl, cl
jne 0x10031024
lea edx, [esp + 0x28]
push edx
push 0x1000
lea eax, [esp + 0x138]
push eax
push 0x10050713
push str.SMTPPassword
push str.CascadingProxy
call ebx
lea ecx, [esp + 0x130]
push ecx
call fcn.10001300
lea eax, [esp + 0x134]
lea edx, [esi + 0x6934]
mov ecx, eax
add esp, 4
sub edx, ecx
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x10031072
lea edx, [esp + 0x28]
push edx
push 0x1000
lea eax, [esp + 0x138]
push eax
push str.Basic
push str.SMTPAuthMethod
push str.CascadingProxy
call ebx
lea eax, [esp + 0x130]
lea edi, [esi + 0x753c]
lea ecx, [eax + 1]
nop
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x100310b0
sub eax, ecx
push eax
lea ecx, [esp + 0x134]
push ecx
mov ecx, edi
call fcn.10002bf0
lea edx, [esp + 0x28]
push edx
push 0x1000
lea eax, [esp + 0x138]
push eax
push 0x10050713
push str.SMTPDomain
push str.CascadingProxy
call ebx
lea eax, [esp + 0x130]
lea edi, [esi + 0x7550]
lea ecx, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x10031100
sub eax, ecx
push eax
lea ecx, [esp + 0x134]
push ecx
mov ecx, edi
call fcn.10002bf0
lea edx, [esp + 0x28]
push edx
push 0x1000
lea eax, [esp + 0x138]
push eax
push 0x10050dd4
push str.CascadingPOP3
push str.CascadingProxy
call ebx
lea ecx, [esp + 0x130]
push ecx
call fcn.10036ef1
add esp, 4
lea edx, [esp + 0x28]
push edx
push 0x1000
mov dword [esi + 0x2504], eax
lea eax, [esp + 0x138]
push eax
push 0x10050713
push str.POP3ProxyAddr
push str.CascadingProxy
call ebx
lea eax, [esp + 0x130]
lea edi, [esi + 0x310c]
mov ecx, eax
sub edi, ecx
mov cl, byte [eax]
mov byte [eax + edi], cl
inc eax
test cl, cl
jne 0x10031186
lea edx, [esp + 0x28]
push edx
push 0x1000
lea eax, [esp + 0x138]
push eax
push str.HTTP
push str.POP3Protocol
push str.CascadingProxy
call ebx
lea eax, [esp + 0x130]
lea edx, [esi + 0x450c]
mov ecx, eax
sub edx, ecx
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x100311c4
lea edx, [esp + 0x28]
push edx
push 0x1000
lea eax, [esp + 0x138]
push eax
push 0x10053a48
push str.POP3Port
push str.CascadingProxy
call ebx
lea ecx, [esp + 0x130]
push ecx
call fcn.10036ef1
add esp, 4
lea edx, [esp + 0x28]
push edx
push 0x1000
mov dword [esi + 0x4d18], eax
lea eax, [esp + 0x138]
push eax
push 0x10050dd4
push str.POP3NeedAuth
push str.CascadingProxy
call ebx
lea ecx, [esp + 0x130]
push ecx
call fcn.10036ef1
add esp, 4
lea edx, [esp + 0x28]
push edx
push 0x1000
mov dword [esi + 0x4d2c], eax
lea eax, [esp + 0x138]
push eax
push 0x10050713
push str.POP3UserName
push str.CascadingProxy
call ebx
lea eax, [esp + 0x130]
lea edi, [esi + 0x5934]
mov ecx, eax
sub edi, ecx
mov cl, byte [eax]
mov byte [eax + edi], cl
inc eax
test cl, cl
jne 0x10031274
lea edx, [esp + 0x28]
push edx
push 0x1000
lea eax, [esp + 0x138]
push eax
push 0x10050713
push str.POP3Password
push str.CascadingProxy
call ebx
lea ecx, [esp + 0x130]
push ecx
call fcn.10001300
lea eax, [esp + 0x134]
lea edx, [esi + 0x6d34]
mov ecx, eax
add esp, 4
sub edx, ecx
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x100312c2
lea edx, [esp + 0x28]
push edx
push 0x1000
lea eax, [esp + 0x138]
push eax
push str.Basic
push str.POP3AuthMethod
push str.CascadingProxy
call ebx
lea eax, [esp + 0x130]
lea edi, [esi + 0x7540]
lea ecx, [eax + 1]
nop
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x10031300
sub eax, ecx
push eax
lea ecx, [esp + 0x134]
push ecx
mov ecx, edi
call fcn.10002bf0
lea edx, [esp + 0x28]
push edx
push 0x1000
lea eax, [esp + 0x138]
push eax
push 0x10050713
push str.POP3Domain
push str.CascadingProxy
call ebx
lea eax, [esp + 0x130]
lea edi, [esi + 0x7554]
lea ecx, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x10031350
sub eax, ecx
push eax
lea ecx, [esp + 0x134]
push ecx
mov ecx, edi
call fcn.10002bf0
lea edx, [esp + 0x28]
push edx
push 0x1000
lea eax, [esp + 0x138]
push eax
push 0x10050dd4
push str.CascadingOTHERS
push str.CascadingProxy
call ebx
lea ecx, [esp + 0x130]
push ecx
call fcn.10036ef1
add esp, 4
lea edx, [esp + 0x28]
push edx
push 0x1000
mov dword [esi + 0x2508], eax
lea eax, [esp + 0x138]
push eax
push 0x10050713
push str.OTHERSProxyAddr
push str.CascadingProxy
call ebx
lea eax, [esp + 0x130]
lea edi, [esi + 0x350c]
mov ecx, eax
sub edi, ecx
mov cl, byte [eax]
mov byte [edi + eax], cl
inc eax
test cl, cl
jne 0x100313d6
lea edx, [esp + 0x28]
push edx
push 0x1000
lea eax, [esp + 0x138]
push eax
push str.HTTP
push str.OTHERSProtocol
push str.CascadingProxy
call ebx
lea eax, [esp + 0x130]
lea edx, [esi + 0x490c]
mov ecx, eax
sub edx, ecx
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x10031414
lea edx, [esp + 0x28]
push edx
push 0x1000
lea eax, [esp + 0x138]
push eax
push 0x10053a48
push str.OTHERSPort
push str.CascadingProxy
call ebx
lea ecx, [esp + 0x130]
push ecx
call fcn.10036ef1
add esp, 4
lea edx, [esp + 0x28]
push edx
push 0x1000
mov dword [esi + 0x4d1c], eax
lea eax, [esp + 0x138]
push eax
push 0x10050dd4
push str.OTHERSNeedAuth
push str.CascadingProxy
call ebx
lea ecx, [esp + 0x130]
push ecx
call fcn.10036ef1
add esp, 4
lea edx, [esp + 0x28]
push edx
push 0x1000
mov dword [esi + 0x4d30], eax
lea eax, [esp + 0x138]
push eax
push 0x10050713
push str.OTHERSUserName
push str.CascadingProxy
call ebx
lea eax, [esp + 0x130]
lea edi, [esi + 0x5d34]
mov ecx, eax
sub edi, ecx
mov cl, byte [eax]
mov byte [edi + eax], cl
inc eax
test cl, cl
jne 0x100314c4
lea edx, [esp + 0x28]
push edx
push 0x1000
lea eax, [esp + 0x138]
push eax
push 0x10050713
push str.OTHERSPassword
push str.CascadingProxy
call ebx
lea ecx, [esp + 0x130]
push ecx
call fcn.10001300
lea eax, [esp + 0x134]
lea edx, [esi + 0x7134]
mov ecx, eax
add esp, 4
sub edx, ecx
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x10031512
lea edx, [esp + 0x28]
push edx
push 0x1000
lea eax, [esp + 0x138]
push eax
push str.Basic
push str.OTHERSAuthMethod
push str.CascadingProxy
call ebx
lea eax, [esp + 0x130]
lea edi, [esi + 0x7544]
lea ecx, [eax + 1]
nop
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x10031550
sub eax, ecx
push eax
lea ecx, [esp + 0x134]
push ecx
mov ecx, edi
call fcn.10002bf0
lea edx, [esp + 0x28]
push edx
push 0x1000
lea eax, [esp + 0x138]
push eax
push 0x10050713
push str.OTHERSDomain
push str.CascadingProxy
call ebx
lea eax, [esp + 0x130]
lea edi, [esi + 0x7558]
lea ecx, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x100315a0
sub eax, ecx
push eax
lea ecx, [esp + 0x134]
push ecx
mov ecx, edi
call fcn.10002bf0
lea edx, [esp + 0x28]
push edx
push 0x1000
lea eax, [esp + 0x138]
push eax
push 0x10050dd8
push str.SaveLogs
push 0x10053774
call ebx
lea ecx, [esp + 0x130]
push ecx
call fcn.10036ef1
lea edx, [esp + 0x1244]
push edx
mov dword [esi + 0x755c], eax
lea eax, [esp + 0x138]
push str._sLog
push eax
call fcn.10036e11
add esp, 0x10
lea ecx, [esp + 0x28]
push ecx
push 0x1000
lea edx, [esp + 0x138]
push edx
mov eax, edx
push eax
push str.LogPath
push 0x10053774
call ebx
lea eax, [esp + 0x130]
lea edi, [esi + 0x7560]
mov ecx, eax
sub edi, ecx
mov edi, edi
mov cl, byte [eax]
mov byte [edi + eax], cl
inc eax
test cl, cl
jne 0x10031640
lea edx, [esp + 0x28]
push edx
push 0x1000
lea eax, [esp + 0x138]
push eax
push 0x10050dd8
push str.RequestURL
push 0x10053774
call ebx
lea ecx, [esp + 0x130]
push ecx
call fcn.10036ef1
add esp, 4
lea edx, [esp + 0x28]
push edx
push 0x1000
mov dword [esi + 0x7960], eax
lea eax, [esp + 0x138]
push eax
push 0x10050dd4
push str.PicInfo
push 0x10053774
call ebx
lea ecx, [esp + 0x130]
push ecx
call fcn.10036ef1
add esp, 4
lea edx, [esp + 0x28]
push edx
push 0x1000
mov dword [esi + 0x7964], eax
lea eax, [esp + 0x138]
push eax
push str.10000
push str.MaxLine
push 0x10053774
call ebx
lea ecx, [esp + 0x130]
push ecx
call fcn.10036ef1
add esp, 4
lea edx, [esp + 0x28]
push edx
push 0x1000
mov dword [esi + 0x7968], eax
lea eax, [esp + 0x138]
push eax
push 0x10050dd8
push str.NewLogDaily
push 0x10053774
call ebx
lea ecx, [esp + 0x130]
push ecx
call fcn.10036ef1
add esp, 4
lea edx, [esp + 0x28]
push edx
push 0x1000
mov dword [esi + 0x796c], eax
lea eax, [esp + 0x138]
push eax
push str.English
push str.Language
push str.System
call ebx
lea eax, [esp + 0x130]
lea edi, [esi + 0x10a0]
mov ecx, eax
sub edi, ecx
mov cl, byte [eax]
mov byte [edi + eax], cl
inc eax
test cl, cl
jne 0x10031762
lea edx, [esp + 0x28]
push edx
push 0x1000
lea eax, [esp + 0x138]
push eax
push 0x10052b30
push 0x10053720
push str.System
call ebx
lea ecx, [esp + 0x130]
push ecx
call fcn.10039ac0
fmul qword [0x10053718]
add esp, 4
call fcn.10038694
lea edx, [esp + 0x28]
push edx
push 0x1000
mov dword [esi + 0x7db4], eax
lea eax, [esp + 0x138]
push eax
push 0x10050dd4
push str.PasswordProtect
push str.System
call ebx
lea ecx, [esp + 0x130]
push ecx
call fcn.10036ef1
add esp, 4
lea edx, [esp + 0x28]
push edx
push 0x1000
mov dword [esi + 0xc98], eax
lea eax, [esp + 0x138]
push eax
push 0x10050dd4
push str.PasswordProtectStartup
push str.System
call ebx
lea ecx, [esp + 0x130]
push ecx
call fcn.10036ef1
add esp, 4
lea edx, [esp + 0x28]
push edx
push 0x1000
mov dword [esi + 0xc9c], eax
lea eax, [esp + 0x138]
push eax
push 0x10050713
push 0x10050998
push str.System
call ebx
lea ecx, [esp + 0x130]
push ecx
call fcn.10001300
lea eax, [esp + 0x134]
lea edi, [esi + 0xca0]
mov edx, eax
add esp, 4
sub edi, edx
mov cl, byte [eax]
mov byte [edi + eax], cl
inc eax
test cl, cl
jne 0x10031866
lea eax, [esp + 0x28]
push eax
push 0x1000
lea ecx, [esp + 0x138]
push ecx
push 0x10050dd8
push str.DisableExternalUser
push str.System
call ebx
lea edx, [esp + 0x130]
push edx
call fcn.10036ef1
add esp, 4
mov dword [esi + 0x7980], eax
lea eax, [esp + 0x28]
push eax
push 0x1000
lea ecx, [esp + 0x138]
push ecx
push str.www.yahoo.com_www.icq.com_www.internic.net
push str.WebSitesCheckInternet
push str.System
call ebx
lea eax, [esp + 0x130]
lea edx, [esi + 0x7dbc]
mov ecx, eax
sub edx, ecx
lea ecx, [ecx]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x100318e0
lea edx, [esp + 0x1c]
push edx
push 0xf003f
push 0
push str.SoftwareMicrosoftWindowsCurrentVersionRun
push reloc.WS2_32.dll_accept
mov dword [esi + 0xc90], 0
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x100319d3
mov edx, dword [esp + 0x1c]
mov byte [esp + 0x1858], al
mov ecx, 0xff
lea edi, [esp + 0x1859]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [esp + 0xc]
push eax
lea ecx, [esp + 0x185c]
push ecx
push 0
push 0
push str.CCProxy
push edx
mov dword [esp + 0x24], 0x400
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
lea eax, [esp + 0x1858]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10031963
sub eax, edx
mov dword [esp + 0x20], eax
je 0x100319c8
push 0x400
lea eax, [esp + 0x1454]
push eax
push 0
mov byte [esp + 0x185c], cl
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea eax, [esp + 0x1450]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10031998
sub eax, edx
mov edx, dword [esp + 0x1c]
push eax
lea ecx, [esp + 0x1454]
push ecx
push 1
push 0
push str.CCProxy
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov dword [esi + 0xc90], 1
mov eax, dword [esp + 0x1c]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
lea ecx, [esp + 0x28]
push ecx
push 0
push str.AutoHide
push str.system
call edi
lea edx, [esp + 0x28]
push edx
push 0
push str.Dial
push str.system
mov dword [esi + 0xc94], eax
call edi
mov dword [esi + 0x5c], eax
lea eax, [esp + 0x28]
push eax
push 1
push str.StartDNS
push str.system
call edi
xor ecx, ecx
cmp eax, 0xffffffff
lea edx, [esp + 0x28]
push edx
setne cl
push 1
push str.StartFtp
push str.system
mov dword [esi + 0x3c], ecx
call edi
mov dword [esi + 0x1c], eax
lea eax, [esp + 0x28]
push eax
push 1
push str.StartFTPWeb
push str.system
call edi
lea ecx, [esp + 0x28]
push ecx
push 1
push str.StartGopher
push str.system
mov dword [esi + 8], eax
call edi
lea edx, [esp + 0x28]
push edx
push 1
push str.StartHttp
push str.system
mov dword [esi + 0xc], eax
call edi
mov dword [esi], eax
lea eax, [esp + 0x28]
push eax
push 1
push str.StartMail
push str.system
call edi
lea ecx, [esp + 0x28]
push ecx
push 1
push str.StartNews
push str.system
mov dword [esi + 0x38], eax
call edi
lea edx, [esp + 0x28]
push edx
push 1
push str.StartSecure
push str.system
mov dword [esi + 0x2c], eax
call edi
mov dword [esi + 0x34], eax
lea eax, [esp + 0x28]
push eax
push 1
push str.StartSocks
push str.system
call edi
mov dword [esi + 0x10], eax
lea ecx, [esp + 0x28]
push ecx
push 1
push str.StartTelnet
push str.system
call edi
lea edx, [esp + 0x28]
push edx
push 1
push str.StartSocks4
push str.system
mov dword [esi + 0x24], eax
call edi
mov dword [esi + 0x14], eax
lea eax, [esp + 0x28]
push eax
push 1
push str.StartMap
push str.system
call edi
lea ecx, [esp + 0x28]
push ecx
push 0
push str.StartAdmin
push str.system
mov dword [esi + 0x40], eax
call edi
lea edx, [esp + 0x28]
push edx
push 0x328
push str.HTTP
push str.Port
mov dword [esi + 0x44], eax
call edi
mov dword [esi + 4], eax
lea eax, [esp + 0x28]
push eax
push 0x438
push str.SOCKS
push str.Port
call edi
lea ecx, [esp + 0x28]
push ecx
push 0x849
push 0x10052088
push str.Port
mov dword [esi + 0x18], eax
call edi
lea edx, [esp + 0x28]
push edx
push 0x17
push str.TELNET
push str.Port
mov dword [esi + 0x20], eax
call edi
mov dword [esi + 0x28], eax
lea eax, [esp + 0x28]
push eax
push 0x77
push str.News
push str.Port
call edi
lea ecx, [esp + 0x28]
push ecx
push 0x58
push str.Admin
push str.Port
mov dword [esi + 0x30], eax
call edi
lea edx, [esp + 0x28]
push edx
push 0x1f40
push str.Control
push str.Port
mov dword [esi + 0x48], eax
call edi
mov dword [esi + 0x4c], eax
lea eax, [esp + 0x28]
push eax
push 1
push str.AutoUpdate
push str.System
call edi
lea ecx, [esp + 0x28]
push ecx
push 0x1000
lea edx, [esp + 0x138]
push edx
push 0x10053598
push str.POP3
push str.Token
mov dword [esi + 0x18ddc], eax
call ebx
movsx eax, byte [esp + 0x130]
lea ecx, [esp + 0x28]
push ecx
push 0x1000
lea edx, [esp + 0x138]
push edx
push 0x1005358c
push 0x10052088
push str.Token
mov dword [esi + 0x1c494], eax
call ebx
movsx eax, byte [esp + 0x130]
lea ecx, [esp + 0x28]
push ecx
push 0x1000
lea edx, [esp + 0x138]
push edx
push 0x10053598
push str.News
push str.Token
mov dword [esi + 0x1c498], eax
call ebx
movsx eax, byte [esp + 0x130]
lea ecx, [esp + 0x28]
push ecx
push 0x1000
lea edx, [esp + 0x138]
push edx
push 0x10050713
push str.LocalIP
push str.system
mov dword [esi + 0x1c49c], eax
call ebx
lea ecx, [esp + 0x130]
lea eax, [esi + 0x7984]
mov edx, ecx
sub eax, edx
mov dl, byte [ecx]
mov byte [eax + ecx], dl
inc ecx
test dl, dl
jne 0x10031cb3
mov eax, dword [esi + 0x7db8]
test eax, eax
jne 0x10031dc1
lea eax, [esi + 0x7984]
push eax
lea ecx, [esp + 0x10]
call fcn.100047c0
xor eax, eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x14], eax
lea eax, [esi + 0x7d88]
mov byte [esp + 0x1c6c], 1
mov dword [esp + 0x24], eax
jmp 0x10031d00
lea ecx, [esp + 0x20]
push ecx
push 0x100507b4
lea edx, [esp + 0x18]
push edx
lea ecx, [esp + 0x18]
call fcn.1000d300
mov eax, dword [esp + 0x10]
mov ecx, dword [eax - 0xc]
test ecx, ecx
je 0x10031d6e
mov ecx, eax
push ecx
call dword [sym.imp.WS2_32.dll_inet_addr]
mov ecx, dword [esp + 0x24]
mov dword [ecx], eax
mov eax, dword [esp + 0x14]
inc eax
add ecx, 4
mov dword [esp + 0x14], eax
cmp eax, 0xa
mov eax, dword [esp + 0x10]
mov dword [esp + 0x24], ecx
jge 0x10031d72
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x10031d65
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
cmp dword [esp + 0x20], 0xffffffff
jne 0x10031d00
jmp 0x10031d8c
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x10031d8c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [esp + 0x14]
mov dword [esi + eax*4 + 0x7d88], 0
mov eax, dword [esp + 0xc]
add eax, 0xfffffff0
mov byte [esp + 0x1c6c], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x10031dc1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
lea eax, [esp + 0x28]
push eax
push 1
push str.AutoDetect
push str.system
call edi
lea ecx, [esp + 0x28]
push ecx
push 0
push str.NTService
push str.System
mov dword [esi + 0x7db8], eax
call edi
lea edx, [esp + 0x28]
push edx
push 0x400
mov dword [esi + 0x14b4], eax
lea eax, [esp + 0x138]
push eax
push str.CCProxy_Authorization
push str.WebAuthTitleEx
push str.StringEx
call ebx
lea eax, [esp + 0x130]
lea edi, [esi + 0x14a4]
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x10031e26
sub eax, ecx
push eax
lea ecx, [esp + 0x134]
push ecx
mov ecx, edi
call fcn.10002bf0
push 0x100506d0
push str._r_n
mov ecx, edi
call fcn.1000c690
lea edx, [esp + 0xc]
push str._h1_Unauthorized_...__h1__r_n_h2_IP_Address:__IP__br__r_nMAC_Address:__MAC__br__r_nServer_Time:__Time__br__r_nAuth_Result:__AuthResult___h2_
push edx
call fcn.1000e2c0
add esp, 8
lea ecx, [esi + 0x14b0]
push eax
mov byte [esp + 0x1c70], 2
call fcn.10008ec0
mov eax, dword [esp + 0xc]
add eax, 0xfffffff0
mov byte [esp + 0x1c6c], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x10031e9c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
push str.web_authinfo_account.htm
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x14]
push ecx
call fcn.1000d420
mov eax, dword [eax]
push 0x100506d8
push eax
call fcn.10037995
mov edi, eax
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
add esp, 0x14
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x10031ee0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
test edi, edi
je 0x10031f6a
push 2
push 0
push edi
call fcn.100378f0
push edi
call fcn.10037820
mov dword [esp + 0x1c], eax
inc eax
push eax
call fcn.10045c41
mov ecx, dword [esp + 0x20]
push 0
push 0
push edi
mov dword [esp + 0x30], eax
mov byte [eax + ecx], 0
call fcn.100378f0
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x30]
push edi
push 1
push edx
push eax
call fcn.10037672
push edi
call fcn.10037538
mov eax, dword [esp + 0x44]
add esp, 0x34
test eax, eax
jne 0x10031f40
xor eax, eax
jmp 0x10031f50
mov eax, dword [esp + 0x10]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10031f47
sub eax, edx
mov edi, dword [esp + 0x10]
push eax
push edi
lea ecx, [esi + 0x14b0]
call fcn.10002bf0
push edi
call fcn.10045c46
add esp, 4
lea ecx, [esp + 0xc]
push str._h1_Web_site_unauthorized...__h1__r_n_h2_Account_Name:__UserName__br__r_nSite:__HostName__br__r_nReferer:__Referer__br__r_nFilter_Name:__FilterName__br__r_nFilter_Type:__Permit__br__r_nFilter_Item:__Item__br__r_n__h2_
push ecx
call fcn.1000e2c0
add esp, 8
lea ecx, [esi + 0x14a8]
push eax
mov byte [esp + 0x1c70], 3
call fcn.10008ec0
mov eax, dword [esp + 0xc]
add eax, 0xfffffff0
mov byte [esp + 0x1c6c], 0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x10031fb6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
push str.web_authinfo_site.htm
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x14]
push ecx
call fcn.1000d420
mov eax, dword [eax]
push 0x100506d8
push eax
call fcn.10037995
mov edi, eax
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
add esp, 0x14
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x10031ffa
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
test edi, edi
je 0x10032084
push 2
push 0
push edi
call fcn.100378f0
push edi
call fcn.10037820
mov dword [esp + 0x1c], eax
inc eax
push eax
call fcn.10045c41
mov ecx, dword [esp + 0x20]
push 0
push 0
push edi
mov dword [esp + 0x30], eax
mov byte [eax + ecx], 0
call fcn.100378f0
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x30]
push edi
push 1
push edx
push eax
call fcn.10037672
push edi
call fcn.10037538
mov eax, dword [esp + 0x44]
add esp, 0x34
test eax, eax
jne 0x1003205a
xor eax, eax
jmp 0x1003206a
mov eax, dword [esp + 0x10]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10032061
sub eax, edx
mov edi, dword [esp + 0x10]
push eax
push edi
lea ecx, [esi + 0x14a8]
call fcn.10002bf0
push edi
call fcn.10045c46
add esp, 4
lea ecx, [esp + 0xc]
push str._h1_Web_content_unauthorized...__h1__r_n_h2_Account_Name:__UserName__br__r_nFilter_Name:__FilterName__br__r_nFilter_Item:__Item__br___h2_
push ecx
call fcn.1000e2c0
add esp, 8
lea ecx, [esi + 0x14ac]
push eax
mov byte [esp + 0x1c70], 4
call fcn.10008ec0
mov eax, dword [esp + 0xc]
add eax, 0xfffffff0
mov byte [esp + 0x1c6c], 0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x100320d0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
push str.web_authinfo_content.htm
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x14]
push ecx
call fcn.1000d420
mov eax, dword [eax]
push 0x100506d8
push eax
call fcn.10037995
mov edi, eax
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
add esp, 0x14
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x10032114
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
test edi, edi
je 0x100321a3
push 2
push 0
push edi
call fcn.100378f0
push edi
call fcn.10037820
mov dword [esp + 0x1c], eax
inc eax
push eax
call fcn.10045c41
mov ecx, dword [esp + 0x20]
push 0
push 0
push edi
mov dword [esp + 0x30], eax
mov byte [eax + ecx], 0
call fcn.100378f0
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x30]
push edi
push 1
push edx
push eax
call fcn.10037672
push edi
call fcn.10037538
mov eax, dword [esp + 0x44]
add esp, 0x34
test eax, eax
jne 0x10032174
xor eax, eax
jmp 0x10032189
mov eax, dword [esp + 0x10]
lea edx, [eax + 1]
jmp 0x10032180
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10032180
sub eax, edx
mov edi, dword [esp + 0x10]
push eax
push edi
lea ecx, [esi + 0x14ac]
call fcn.10002bf0
push edi
call fcn.10045c46
add esp, 4
xor eax, eax
mov byte [esp + 0x1348], 0
mov ecx, 0x41
lea edi, [esp + 0x1349]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x1240]
push ecx
lea edx, [esp + 0x134c]
push str._sAutoProxy.pac
push edx
call fcn.10036e11
lea eax, [esp + 0x1354]
push 0x100506d8
push eax
mov byte [esi + 0x8dc8], 0
call fcn.10037995
mov edi, eax
add esp, 0x14
test edi, edi
je 0x1003224b
push 2
push 0
push edi
call fcn.100378f0
push edi
call fcn.10037820
add esp, 0x10
cmp eax, 0x10000
mov dword [esp + 0xc], eax
jbe 0x1003221d
mov dword [esp + 0xc], 0x10000
push 0
push 0
push edi
call fcn.100378f0
mov ecx, dword [esp + 0x18]
push edi
push 1
push ecx
lea eax, [esi + 0x8dc8]
push eax
call fcn.10037672
push edi
call fcn.10037538
add esp, 0x20
mov byte [esi + 0x8dc8], 0
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
lea edx, [esp + 0x28]
push edx
push 0
push str.BugTrace
push str.System
call edi
mov dword [esi + 0x1c4a0], eax
lea eax, [esp + 0x28]
push eax
push 0
push str.SaveUserData
push 0x10053774
call edi
lea ecx, [esp + 0x28]
push ecx
push 0xa
push str.SaveUserDataInterval
push 0x10053774
mov dword [esi + 0x7970], eax
call edi
lea edx, [esp + 0x28]
push edx
push 0
push 0x100508e4
push str.ShutDown
mov dword [esi + 0x7974], eax
call edi
mov dword [esi + 0x14b8], eax
lea eax, [esp + 0x28]
push eax
push 0x400
lea ecx, [esp + 0x138]
push ecx
push str.00:00
push str.ShutDownTime
push str.ShutDown
call ebx
lea eax, [esp + 0x130]
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x100322e2
sub eax, ecx
push eax
lea edx, [esp + 0x134]
push edx
lea ecx, [esi + 0x14bc]
call fcn.10002bf0
lea ecx, [esi + 0x14bc]
call fcn.1001f0e0
mov ecx, eax
call fcn.1001ef80
lea eax, [esp + 0x28]
push eax
push 0
push str.Count
push 0x10053288
call edi
cmp eax, 0x32
mov dword [esi + 0x1c490], eax
jle 0x10032339
mov dword [esi + 0x1c490], 0x32
mov eax, dword [esi + 0x1c490]
test eax, eax
jle 0x10032484
lea ecx, [esi + 0x18ef0]
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], ecx
lea esp, [esp]
mov edx, dword [esp + 0x14]
xor eax, eax
push edx
mov byte [esp + 0x113c], 0
mov ecx, 0x41
lea edi, [esp + 0x113d]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x113c]
push str.Host_d
push eax
call fcn.10036e11
mov edx, dword [esp + 0x1c]
add esp, 0xc
lea ecx, [esp + 0x28]
push ecx
push 0x104
add edx, 0xfffffef8
push edx
push 0x10050713
lea eax, [esp + 0x1148]
push eax
push 0x10053288
call ebx
mov edi, dword [esp + 0x14]
push edi
lea ecx, [esp + 0x113c]
push str.PortOut_d
push ecx
call fcn.10036e11
add esp, 0xc
lea edx, [esp + 0x28]
push edx
push 0
lea eax, [esp + 0x1140]
push eax
push 0x10053288
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [esp + 0x10]
push edi
lea edx, [esp + 0x113c]
push str.PortIn_d
push edx
mov dword [ecx], eax
call fcn.10036e11
add esp, 0xc
lea eax, [esp + 0x28]
push eax
push 0
lea ecx, [esp + 0x1140]
push ecx
push 0x10053288
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov edx, dword [esp + 0x10]
push edi
mov dword [edx + 4], eax
lea eax, [esp + 0x113c]
push str.PortType_d
push eax
call fcn.10036e11
add esp, 0xc
lea ecx, [esp + 0x28]
push ecx
push 0
lea edx, [esp + 0x1140]
push edx
push 0x10053288
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [esp + 0x10]
inc edi
mov dword [ecx - 0x10c], eax
mov eax, dword [esi + 0x1c490]
add ecx, 0x118
mov dword [esp + 0x14], edi
dec edi
cmp edi, eax
mov dword [esp + 0x10], ecx
jl 0x10032360
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
lea eax, [esp + 0x28]
push eax
push 0xc8
push str.TimeoutMAC
push str.System
call edi
lea ecx, [esp + 0x28]
push ecx
push 1
push str.CloseConfirm
push str.System
mov dword [esi + 0x8dc4], eax
call edi
lea edx, [esp + 0x28]
push edx
push 0x64
push str.MaximumConnectionsChart
push str.System
mov dword [esi + 0x14c0], eax
call edi
mov dword [esi + 0x14c8], eax
lea eax, [esp + 0x28]
push eax
push 0x40000
push str.MaximumBandwidthChart
push str.System
call edi
lea ecx, [esp + 0x28]
push ecx
push 0x1000
lea edx, [esp + 0x138]
push edx
push str.CTRLALTC
push str.HotKey
push str.System
mov dword [esi + 0x14cc], eax
call ebx
lea eax, [esi + 0x14d0]
push eax
lea ecx, [esp + 0x134]
push str.CTRLALT_c
push ecx
call fcn.10039290
add esp, 0xc
lea edx, [esp + 0x28]
push edx
push 0
push str.EnableHotKey
push str.System
call edi
mov dword [esi + 0x14d4], eax
lea eax, [esp + 0x28]
push eax
push 0x1001
lea ecx, [esp + 0x138]
push ecx
push str.0.0.0.0
push str.ServerBindIPAddress
push str.Networks
call ebx
lea eax, [esp + 0x130]
lea ecx, [esi + 0x18dd0]
lea edx, [eax + 1]
nop
mov bl, byte [eax]
inc eax
test bl, bl
jne 0x10032580
sub eax, edx
push eax
lea edx, [esp + 0x134]
push edx
call fcn.10002bf0
lea eax, [esp + 0x28]
push eax
push 0
push str.RunAsInternetProxyServer
push str.Networks
call edi
lea ecx, [esp + 0x28]
push ecx
push 0
push str.SaveWebTitleEx
push 0x10053774
mov dword [esi + 0x18dd4], eax
call edi
lea edx, [esp + 0x28]
push edx
push 1
push str.EnableReferer
push 0x10053774
mov dword [esi + 0x7978], eax
call edi
mov dword [esi + 0x797c], eax
mov eax, dword [esi + 0x7db4]
mov dword [0x1005c168], eax
mov ecx, dword [esi + 0x1c4a0]
lea eax, [esi + 0x7560]
test eax, eax
mov dword [0x1005f3a0], ecx
je 0x1003260f
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10032606
sub eax, edx
push eax
lea eax, [esi + 0x7560]
push eax
mov ecx, 0x1005f3a4
call fcn.10002bf0
lea edx, [esp + 0x28]
push edx
push 0
push str.HTTPXFORWARD
push str.Networks
call edi
mov dword [esi + 0x18dd8], eax
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
mov dword [esp + 0x1c6c], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x10032663
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov ecx, dword [esp + 0x1c64]
mov dword fs:[0], ecx
mov ecx, dword [esp + 0x1c5c]
call fcn.10036c09
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret