Function at 0x459350
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push 0xffffffffffffffff
push 0x4981b3
mov eax, dword fs:[0]
push eax
sub esp, 0x340
mov eax, dword [0x4d01d4]
xor eax, esp
mov dword [esp + 0x33c], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4d01d4]
xor eax, esp
push eax
lea eax, [esp + 0x354]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x364]
mov eax, dword [ebp + 0x390]
push eax
call fcn.00440680
call fcn.004120d0
push 0
push 0
push 0x46d
mov ecx, eax
call fcn.004897f0
mov ecx, dword [ebp + 0x33c]
mov edi, dword [sym.imp.DTLUI.dll_public:_bool___thiscall_DuiLib::COptionUI::IsSelected_void_const]
call edi
push 0
mov ecx, 0x1861
test al, al
jne 0x4593d1
mov ecx, 0x1862
call section..text
mov ecx, dword [ebp + 0x33c]
add esp, 4
call edi
movzx ecx, al
push ecx
call fcn.0040a570
mov ecx, dword [ebp + 0x340]
add esp, 4
call edi
test al, al
je 0x45940c
push 0
mov ecx, 0x186b
call section..text
add esp, 4
push 0
jmp 0x459448
mov ecx, dword [ebp + 0x344]
call edi
test al, al
je 0x45942b
push 0
mov ecx, 0x186c
call section..text
add esp, 4
push 1
jmp 0x459448
mov ecx, dword [ebp + 0x348]
call edi
test al, al
je 0x459455
push 0
mov ecx, 0x186d
call section..text
add esp, 4
push 2
mov esi, str.DrvQuery
call fcn.0040adc0
add esp, 4
mov ecx, dword [ebp + 0x34c]
call edi
push 0
test al, al
je 0x459474
mov ecx, 0x1876
call section..text
add esp, 4
push 0
jmp 0x459483
mov ecx, 0x1875
call section..text
add esp, 4
push 1
mov esi, str.ClickMin
call fcn.0040adc0
mov ecx, dword [ebp + 0x358]
add esp, 4
call edi
push 0
test al, al
je 0x4594af
mov ecx, 0x1880
call section..text
add esp, 4
push 0
jmp 0x4594be
mov ecx, 0x187f
call section..text
add esp, 4
push 1
mov esi, 0x4a21fc
call fcn.0040adc0
mov ecx, dword [ebp + 0x35c]
add esp, 4
call edi
push 0
test al, al
je 0x4594ea
mov ecx, 0x1893
call section..text
add esp, 4
push 1
jmp 0x4594f9
mov ecx, 0x1894
call section..text
add esp, 4
push 0
mov esi, str.ShowUpdateTip
call fcn.0040adc0
mov ecx, dword [ebp + 0x360]
add esp, 4
call edi
push 0
test al, al
je 0x459525
mov ecx, 0x189d
call section..text
add esp, 4
push 1
jmp 0x459534
mov ecx, 0x189e
call section..text
add esp, 4
push 0
mov esi, str.NeedBackup
call fcn.0040adc0
mov ecx, dword [ebp + 0x364]
add esp, 4
call edi
push 0
test al, al
je 0x459560
mov ecx, 0x18a7
call section..text
add esp, 4
push 1
jmp 0x45956f
mov ecx, 0x18a8
call section..text
add esp, 4
push 0
mov esi, str.NeedBackupUninstall
call fcn.0040adc0
mov ecx, dword [ebp + 0x368]
add esp, 4
call edi
push 0
test al, al
je 0x45959b
mov ecx, 0x18ac
call section..text
add esp, 4
push 1
jmp 0x4595aa
mov ecx, 0x18ad
call section..text
add esp, 4
push 0
mov esi, str.ShowDetailedInfo
call fcn.0040adc0
lea edx, [esp + 0x338]
add esp, 4
push edx
call fcn.0040a180
add esp, 4
mov dword [esp + 0x35c], 0
mov ecx, dword [ebp + 0x378]
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
lea edx, [esp + 0xb4]
push edx
call eax
mov byte [esp + 0x35c], 1
mov ebx, dword [sym.imp.DTLUI.dll_public:_wchar_t_const____thiscall_DuiLib::CDuiString::operator_wchar_t_const__void_const]
mov ecx, eax
call ebx
push eax
lea ecx, [esp + 0x2e4]
call fcn.0048d350
mov byte [esp + 0x35c], 3
mov edi, dword [sym.imp.DTLUI.dll_public:_void___thiscall_DuiLib::CDuiString::destructor_void_]
lea ecx, [esp + 0xb4]
call edi
lea ecx, [esp + 0x2e0]
push ecx
lea ecx, [esp + 0x338]
call fcn.0048cf80
test al, al
je 0x45966d
lea ecx, [esp + 0x2e0]
call fcn.0048cdd0
push eax
call dword [sym.imp.pcidrv.dll_PCIDrv_SetDownLoadPath]
lea ecx, [esp + 0x2e0]
call fcn.0048cdd0
mov esi, eax
push esi
call fcn.0048a980
add esp, 4
push esi
push str.DownDir
call fcn.0040ad40
add esp, 8
lea edx, [esp + 0x318]
push edx
call fcn.0040a290
add esp, 4
mov byte [esp + 0x35c], 4
mov ecx, dword [ebp + 0x37c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
lea edx, [esp + 0xb4]
push edx
call eax
mov byte [esp + 0x35c], 5
mov ecx, eax
call ebx
push eax
lea ecx, [esp + 0x300]
call fcn.0048d350
mov byte [esp + 0x35c], 7
lea ecx, [esp + 0xb4]
call edi
lea ecx, [esp + 0x2fc]
push ecx
lea ecx, [esp + 0x31c]
call fcn.0048cf80
test al, al
je 0x45971b
lea ecx, [esp + 0x2fc]
call fcn.0048cdd0
push eax
call dword [sym.imp.pcidrv.dll_BK_ChangeBackupPath]
lea ecx, [esp + 0x2fc]
call fcn.0048cdd0
mov esi, eax
push esi
call fcn.0048a980
add esp, 4
push esi
push str.BackupDir
call fcn.0040ad40
add esp, 8
push esi
call dword [sym.imp.pcidrv.dll_BK_ChangeBackupPath]
mov ecx, dword [ebp + 0x3d8]
call dword [sym.imp.DTLUI.dll_public:_bool___thiscall_DuiLib::COptionUI::IsSelected_void_const]
mov esi, str.LimitSpeed
test al, al
je 0x4597c3
push 1
call fcn.0040adc0
mov ecx, dword [ebp + 0x3e4]
mov edx, dword [ecx]
mov edx, dword [edx + 0x28]
add esp, 4
lea eax, [esp + 0xb4]
push eax
call edx
mov byte [esp + 0x35c], 8
mov ecx, eax
call dword [sym.imp.DTLUI.dll_public:_wchar_t_const____thiscall_DuiLib::CDuiString::GetData_void_const]
push eax
push str.SpeedVal
call fcn.0040ad40
add esp, 8
mov byte [esp + 0x35c], 7
lea ecx, [esp + 0xb4]
call edi
push 0x2800
push str.SpeedVal
call fcn.0040acc0
add esp, 8
cmp eax, 0x19000
jge 0x4597af
push 0x2800
push str.SpeedVal
call fcn.0040acc0
add esp, 8
jmp 0x4597b4
mov eax, 0x19000
mov ecx, dword [0x4e53ac]
test ecx, ecx
je 0x4597da
push eax
call ecx
jmp 0x4597da
push 0
call fcn.0040adc0
mov eax, dword [0x4e53ac]
add esp, 4
test eax, eax
je 0x4597da
push 0
call eax
push 0
push str.UseProxy
call fcn.0040acc0
mov esi, dword [sym.imp.DTLUI.dll_public:_bool___thiscall_DuiLib::COptionUI::IsSelected_void_const]
add esp, 8
test eax, eax
jle 0x459ae8
mov ecx, dword [ebp + 0x398]
call esi
test al, al
jne 0x459ae8
mov ecx, dword [ebp + 0x3c4]
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
lea edx, [esp + 0x30]
push edx
call eax
mov dword [esp + 0x20], eax
mov byte [esp + 0x35c], 9
mov ecx, dword [ebp + 0x3c0]
mov edx, dword [ecx]
mov edx, dword [edx + 0x28]
lea eax, [esp + 0x25c]
push eax
call edx
mov dword [esp + 0x2c], eax
mov byte [esp + 0x35c], 0xa
mov ecx, dword [ebp + 0x3bc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
lea edx, [esp + 0x154]
push edx
call eax
mov dword [esp + 0x28], eax
mov byte [esp + 0x35c], 0xb
mov ecx, dword [ebp + 0x3b8]
mov edx, dword [ecx]
mov edx, dword [edx + 0x28]
lea eax, [esp + 0x1d8]
push eax
call edx
mov dword [esp + 0x24], eax
mov byte [esp + 0x35c], 0xc
mov ecx, dword [ebp + 0x3b4]
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
lea edx, [esp + 0xb4]
push edx
call eax
mov dword [esp + 0x1c], eax
mov byte [esp + 0x35c], 0xd
mov ecx, dword [ebp + 0x398]
call esi
movzx ecx, al
push ecx
mov esi, ebp
call fcn.00459260
mov ecx, dword [esp + 0x24]
movzx edx, al
push edx
call ebx
mov ecx, dword [esp + 0x34]
mov esi, eax
call ebx
mov ecx, dword [esp + 0x30]
push eax
call ebx
mov ecx, dword [esp + 0x30]
push eax
call ebx
push eax
call fcn.0047160c
mov ecx, dword [esp + 0x30]
add esp, 4
push eax
call ebx
push eax
mov ecx, esi
call fcn.00410d80
add esp, 0x18
mov byte [esp + 0x1b], al
mov byte [esp + 0x35c], 0xc
lea ecx, [esp + 0xb4]
call edi
mov byte [esp + 0x35c], 0xb
lea ecx, [esp + 0x1d8]
call edi
mov byte [esp + 0x35c], 0xa
lea ecx, [esp + 0x154]
call edi
mov byte [esp + 0x35c], 9
lea ecx, [esp + 0x25c]
call edi
mov byte [esp + 0x35c], 7
lea ecx, [esp + 0x30]
call edi
cmp byte [esp + 0x1b], 0
je 0x459c96
mov ecx, dword [ebp + 0x398]
call dword [sym.imp.DTLUI.dll_public:_bool___thiscall_DuiLib::COptionUI::IsSelected_void_const]
movzx eax, al
push eax
mov esi, str.UseProxy
call fcn.0040adc0
mov eax, dword [ebp + 0x338]
mov edx, dword [eax + 0x564]
lea ecx, [eax + 0x564]
mov eax, dword [edx + 4]
add esp, 4
call eax
test eax, eax
jl 0x4599c1
mov ecx, dword [ebp + 0x338]
mov edx, dword [ecx + 0x530]
add ecx, 0x530
push eax
mov eax, dword [edx]
call eax
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xd0]
call eax
push eax
mov esi, str.ComboCurSel
call fcn.0040adc0
add esp, 4
mov ecx, dword [ebp + 0x3b4]
mov edx, dword [ecx]
mov edx, dword [edx + 0x28]
lea eax, [esp + 0x30]
push eax
call edx
mov byte [esp + 0x35c], 0x14
mov ecx, eax
call ebx
push eax
push str.ProxyServer
call fcn.0040ad40
add esp, 8
mov byte [esp + 0x35c], 7
lea ecx, [esp + 0x30]
call edi
mov ecx, dword [ebp + 0x3bc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
lea edx, [esp + 0x30]
push edx
call eax
mov byte [esp + 0x35c], 0x15
mov ecx, eax
call ebx
push eax
push str.ProxyUser
call fcn.0040ad40
add esp, 8
mov byte [esp + 0x35c], 7
lea ecx, [esp + 0x30]
call edi
mov ecx, dword [ebp + 0x3c0]
mov edx, dword [ecx]
mov edx, dword [edx + 0x28]
lea eax, [esp + 0x30]
push eax
call edx
mov byte [esp + 0x35c], 0x16
mov ecx, eax
call ebx
push eax
push str.ProxyPSW
call fcn.0040ad40
add esp, 8
mov byte [esp + 0x35c], 7
lea ecx, [esp + 0x30]
call edi
mov ecx, dword [ebp + 0x3b8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
lea edx, [esp + 0x30]
push edx
call eax
mov byte [esp + 0x35c], 0x17
mov ecx, eax
call ebx
push eax
push str.ProxyPort
call fcn.0040ad40
add esp, 8
mov byte [esp + 0x35c], 7
lea ecx, [esp + 0x30]
call edi
mov ecx, dword [ebp + 0x3c4]
mov edx, dword [ecx]
mov edx, dword [edx + 0x28]
lea eax, [esp + 0x30]
push eax
call edx
mov byte [esp + 0x35c], 0x18
mov ecx, eax
call ebx
push eax
push str.ProxyDomain
call fcn.0040ad40
add esp, 8
mov byte [esp + 0x35c], 7
lea ecx, [esp + 0x30]
call edi
jmp 0x459ca5
mov ecx, dword [ebp + 0x398]
call esi
test al, al
je 0x459c96
mov ecx, dword [ebp + 0x3c4]
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
lea edx, [esp + 0xb4]
push edx
call eax
mov dword [esp + 0x1c], eax
mov byte [esp + 0x35c], 0xe
mov ecx, dword [ebp + 0x3c0]
mov edx, dword [ecx]
mov edx, dword [edx + 0x28]
lea eax, [esp + 0x1d8]
push eax
call edx
mov dword [esp + 0x24], eax
mov byte [esp + 0x35c], 0xf
mov ecx, dword [ebp + 0x3bc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
lea edx, [esp + 0x154]
push edx
call eax
mov dword [esp + 0x28], eax
mov byte [esp + 0x35c], 0x10
mov ecx, dword [ebp + 0x3b8]
mov edx, dword [ecx]
mov edx, dword [edx + 0x28]
lea eax, [esp + 0x25c]
push eax
call edx
mov dword [esp + 0x2c], eax
mov byte [esp + 0x35c], 0x11
mov ecx, dword [ebp + 0x3b4]
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
lea edx, [esp + 0x30]
push edx
call eax
mov dword [esp + 0x20], eax
mov byte [esp + 0x35c], 0x12
mov ecx, dword [ebp + 0x398]
call esi
movzx ecx, al
push ecx
mov esi, ebp
call fcn.00459260
mov ecx, dword [esp + 0x20]
movzx edx, al
push edx
call ebx
mov ecx, dword [esp + 0x2c]
mov esi, eax
call ebx
mov ecx, dword [esp + 0x30]
push eax
call ebx
mov ecx, dword [esp + 0x38]
push eax
call ebx
push eax
call fcn.0047160c
mov ecx, dword [esp + 0x34]
add esp, 4
push eax
call ebx
push eax
mov ecx, esi
call fcn.00410d80
add esp, 0x18
mov byte [esp + 0x1b], al
mov byte [esp + 0x35c], 0x11
lea ecx, [esp + 0x30]
call edi
mov byte [esp + 0x35c], 0x10
lea ecx, [esp + 0x25c]
call edi
mov byte [esp + 0x35c], 0xf
lea ecx, [esp + 0x154]
call edi
mov byte [esp + 0x35c], 0xe
lea ecx, [esp + 0x1d8]
call edi
mov byte [esp + 0x35c], 7
lea ecx, [esp + 0xb4]
call edi
cmp byte [esp + 0x1b], 0
jne 0x459958
mov esi, str.STR_SETTING_SOCKET_FAILED
lea edi, [esp + 0x138]
call fcn.0040ba70
mov byte [esp + 0x35c], 0x13
mov ecx, eax
call fcn.0048cdb0
mov ecx, ebp
mov esi, eax
call dword [sym.imp.DTLUI.dll_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::GetHWND_void_const]
push 0
push 0x10
push 0
push 0
push 0
push esi
push eax
call fcn.004528c0
add esp, 0x1c
mov byte [esp + 0x35c], 7
mov ecx, edi
call fcn.0048cfe0
push 0
mov esi, str.UseProxy
call fcn.0040adc0
add esp, 4
mov ebp, dword [ebp + 0x3d0]
mov eax, dword [ebp]
mov edx, dword [eax + 0xf0]
push 0
mov ecx, ebp
call edx
mov byte [esp + 0x35c], 4
lea ecx, [esp + 0x2fc]
call fcn.0048cfe0
mov byte [esp + 0x35c], 3
lea ecx, [esp + 0x318]
call fcn.0048cfe0
mov byte [esp + 0x35c], 0
lea ecx, [esp + 0x2e0]
call fcn.0048cfe0
mov dword [esp + 0x35c], 0xffffffff
lea ecx, [esp + 0x334]
call fcn.0048cfe0
mov ecx, dword [esp + 0x354]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x33c]
xor ecx, esp
call fcn.00470f4c
add esp, 0x34c
ret 4