Function at 0x64065640
Capabilities:
Link many functions at runtime

Disassembly:
push 0xffffffffffffffff
push 0x640a2bff
mov eax, dword fs:[0]
push eax
sub esp, 0x34
push ebx
push ebp
push esi
push edi
mov eax, dword [0x640ee650]
xor eax, esp
push eax
lea eax, [esp + 0x48]
mov dword fs:[0], eax
mov esi, ecx
cmp byte [esi + 0x30], 0
jne 0x64065bb3
lea ecx, [esp + 0x24]
mov byte [esi + 0x30], 1
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QString::constructor_void_]
mov ebp, dword [sym.imp.QtCore4.dll_public:_static_class_QString___cdecl_QString::fromWCharArray_unsigned_short_int_const___int_]
push 0xffffffffffffffff
lea eax, [esp + 0x18]
push str.winhttp
xor edi, edi
push eax
mov dword [esp + 0x5c], edi
call ebp
add esp, 0xc
push eax
lea ecx, [esp + 0x28]
mov byte [esp + 0x54], 1
call dword [sym.imp.QtCore4.dll_public:_class_QString____thiscall_QString::operator_class_QString__]
lea ecx, [esp + 0x14]
mov byte [esp + 0x50], 0
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QString::destructor_void_]
mov dword [esp + 0x20], edi
mov byte [esp + 0x28], 0
mov edi, dword [sym.imp.QtCore4.dll_public:_unsigned_short_int_const____thiscall_QString::utf16_void_const]
push 1
lea ecx, [esp + 0x28]
mov dword [esp + 0x54], 2
call edi
mov ebx, dword [sym.imp.QtCore4.dll_public:_static_struct_HINSTANCE______cdecl_QSystemLibrary::load_unsigned_short_int_const___bool_]
push eax
call ebx
add esp, 8
mov dword [esp + 0x20], eax
mov byte [esp + 0x28], 1
test eax, eax
je 0x64065ba1
push str.WinHttpOpen
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp byte [esp + 0x28], 0
mov dword [0x640ee780], eax
jne 0x6406572a
push 1
lea ecx, [esp + 0x28]
call edi
push eax
call ebx
add esp, 8
mov dword [esp + 0x20], eax
mov byte [esp + 0x28], 1
jmp 0x6406572e
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x64065736
xor ecx, ecx
jmp 0x64065748
push str.WinHttpCloseHandle
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, eax
mov eax, dword [esp + 0x20]
cmp byte [esp + 0x28], 0
mov dword [0x640ee78c], ecx
jne 0x6406576c
push 1
lea ecx, [esp + 0x28]
call edi
push eax
call ebx
add esp, 8
mov dword [esp + 0x20], eax
mov byte [esp + 0x28], 1
test eax, eax
jne 0x64065774
xor ecx, ecx
jmp 0x64065786
push str.WinHttpGetProxyForUrl
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, eax
mov eax, dword [esp + 0x20]
cmp byte [esp + 0x28], 0
mov dword [0x640ee77c], ecx
jne 0x640657aa
push 1
lea ecx, [esp + 0x28]
call edi
push eax
call ebx
add esp, 8
mov dword [esp + 0x20], eax
mov byte [esp + 0x28], 1
test eax, eax
jne 0x640657b2
xor ecx, ecx
jmp 0x640657c4
push str.WinHttpGetDefaultProxyConfiguration
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, eax
mov eax, dword [esp + 0x20]
cmp byte [esp + 0x28], 0
mov dword [0x640ee784], ecx
jne 0x640657e8
push 1
lea ecx, [esp + 0x28]
call edi
push eax
call ebx
add esp, 8
mov dword [esp + 0x20], eax
mov byte [esp + 0x28], 1
test eax, eax
je 0x640657f8
push str.WinHttpGetIEProxyConfigForCurrentUser
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.advapi32
lea ecx, [esp + 0x30]
mov dword [0x640ee788], eax
call fcn.640648c0
mov edi, eax
cmp byte [edi + 8], 0
mov byte [esp + 0x50], 3
jne 0x6406582f
push 1
lea ecx, [edi + 4]
call dword [sym.imp.QtCore4.dll_public:_unsigned_short_int_const____thiscall_QString::utf16_void_const]
push eax
call ebx
add esp, 8
mov dword [edi], eax
mov byte [edi + 8], 1
mov edi, dword [edi]
test edi, edi
jne 0x64065839
xor eax, eax
jmp 0x64065845
push str.OpenSCManagerW
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
lea ecx, [esp + 0x30]
mov dword [0x640ee790], eax
mov byte [esp + 0x50], 2
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QString::destructor_void_]
push str.advapi32
lea ecx, [esp + 0x30]
call fcn.640648c0
mov edi, eax
cmp byte [edi + 8], 0
mov byte [esp + 0x50], 4
jne 0x6406588b
push 1
lea ecx, [edi + 4]
call dword [sym.imp.QtCore4.dll_public:_unsigned_short_int_const____thiscall_QString::utf16_void_const]
push eax
call ebx
add esp, 8
mov dword [edi], eax
mov byte [edi + 8], 1
mov edi, dword [edi]
test edi, edi
jne 0x64065895
xor eax, eax
jmp 0x640658a1
push str.EnumServicesStatusExW
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
lea ecx, [esp + 0x30]
mov dword [0x640ee794], eax
mov byte [esp + 0x50], 2
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QString::destructor_void_]
push str.advapi32
lea ecx, [esp + 0x30]
call fcn.640648c0
mov edi, eax
cmp byte [edi + 8], 0
mov byte [esp + 0x50], 5
jne 0x640658e7
push 1
lea ecx, [edi + 4]
call dword [sym.imp.QtCore4.dll_public:_unsigned_short_int_const____thiscall_QString::utf16_void_const]
push eax
call ebx
add esp, 8
mov dword [edi], eax
mov byte [edi + 8], 1
mov edi, dword [edi]
test edi, edi
jne 0x640658f1
xor eax, eax
jmp 0x640658fd
push str.CloseServiceHandle
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
lea ecx, [esp + 0x30]
mov dword [0x640ee798], eax
mov byte [esp + 0x50], 2
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QString::destructor_void_]
lea ecx, [esp + 0x38]
push ecx
call dword [0x640ee788]
mov edi, dword [sym.imp.KERNEL32.dll_GlobalFree]
test eax, eax
setne al
test al, al
je 0x64065a46
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x64065969
push 0xffffffffffffffff
push eax
lea edx, [esp + 0x20]
push edx
call ebp
add esp, 0xc
push eax
lea ecx, [esi + 0x20]
mov byte [esp + 0x54], 6
call dword [sym.imp.QtCore4.dll_public:_class_QString____thiscall_QString::operator_class_QString__]
lea ecx, [esp + 0x18]
mov byte [esp + 0x50], 2
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QString::destructor_void_]
mov eax, dword [esp + 0x3c]
push eax
call edi
mov eax, dword [esp + 0x40]
test eax, eax
je 0x640659c0
push 0xffffffffffffffff
push eax
lea ecx, [esp + 0x24]
push ecx
call ebp
push eax
lea edx, [esp + 0x28]
mov bl, 7
push edx
mov byte [esp + 0x64], bl
call fcn.64065050
add esp, 0x14
push eax
lea ecx, [esi + 0x24]
mov byte [esp + 0x54], 8
call fcn.64004150
lea ecx, [esp + 0x18]
mov byte [esp + 0x50], bl
call fcn.640035f0
lea ecx, [esp + 0x1c]
mov byte [esp + 0x50], 2
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QString::destructor_void_]
mov eax, dword [esp + 0x40]
push eax
call edi
mov eax, dword [esp + 0x44]
test eax, eax
je 0x64065a17
push 0xffffffffffffffff
push eax
lea ecx, [esp + 0x20]
push ecx
call ebp
push eax
lea edx, [esp + 0x2c]
mov bl, 9
push edx
mov byte [esp + 0x64], bl
call fcn.64065050
add esp, 0x14
push eax
lea ecx, [esi + 0x28]
mov byte [esp + 0x54], 0xa
call fcn.64004150
lea ecx, [esp + 0x1c]
mov byte [esp + 0x50], bl
call fcn.640035f0
lea ecx, [esp + 0x18]
mov byte [esp + 0x50], 2
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QString::destructor_void_]
mov eax, dword [esp + 0x44]
push eax
call edi
call fcn.64064950
test al, al
je 0x64065b12
lea ecx, [esi + 0x24]
call dword [sym.imp.QtCore4.dll_public:_bool___thiscall_QListData::isEmpty_void_const]
test al, al
je 0x64065b12
lea ecx, [esi + 0x28]
call dword [sym.imp.QtCore4.dll_public:_bool___thiscall_QListData::isEmpty_void_const]
test al, al
je 0x64065b12
lea ecx, [esp + 0x2c]
push ecx
call dword [0x640ee784]
test eax, eax
je 0x64065afc
cmp dword [esp + 0x2c], 3
jne 0x64065afc
mov edx, dword [esp + 0x34]
push 0xffffffffffffffff
push edx
lea eax, [esp + 0x20]
push eax
call ebp
push eax
lea ecx, [esp + 0x2c]
mov bl, 0xb
push ecx
mov byte [esp + 0x64], bl
call fcn.64065050
add esp, 0x14
push eax
lea ecx, [esi + 0x28]
mov byte [esp + 0x54], 0xc
call fcn.64004150
lea ecx, [esp + 0x1c]
mov byte [esp + 0x50], bl
call fcn.640035f0
lea ecx, [esp + 0x18]
mov byte [esp + 0x50], 2
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QString::destructor_void_]
mov edx, dword [esp + 0x30]
push 0xffffffffffffffff
push edx
lea eax, [esp + 0x20]
push eax
call ebp
push eax
lea ecx, [esp + 0x2c]
mov bl, 0xd
push ecx
mov byte [esp + 0x64], bl
call fcn.64065050
add esp, 0x14
push eax
lea ecx, [esi + 0x24]
mov byte [esp + 0x54], 0xe
call fcn.64004150
lea ecx, [esp + 0x1c]
mov byte [esp + 0x50], bl
call fcn.640035f0
lea ecx, [esp + 0x18]
mov byte [esp + 0x50], 2
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QString::destructor_void_]
mov eax, dword [esp + 0x30]
test eax, eax
je 0x64065b07
push eax
call edi
mov eax, dword [esp + 0x34]
test eax, eax
je 0x64065b12
push eax
call edi
xor edi, edi
mov dword [esi + 4], edi
cmp dword [esp + 0x38], edi
jne 0x64065b2a
lea ecx, [esi + 0x20]
call dword [sym.imp.QtCore4.dll_public:_bool___thiscall_QString::isEmpty_void_const]
test al, al
jne 0x64065b82
push edi
push edi
push edi
push 1
push str.Qt_System_Proxy_access_1.0
call dword [0x640ee780]
mov dword [esi + 4], eax
cmp eax, edi
je 0x64065ba1
xor eax, eax
mov byte [esi + 0x32], 1
mov dword [esi + 8], eax
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], eax
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], edi
cmp dword [esp + 0x38], edi
je 0x64065b6f
mov dword [esi + 8], 1
mov dword [esi + 0xc], 3
jmp 0x64065b82
lea ecx, [esi + 0x20]
mov dword [esi + 8], 2
call dword [sym.imp.QtCore4.dll_public:_unsigned_short_int_const____thiscall_QString::utf16_void_const]
mov dword [esi + 0x10], eax
cmp byte [esi + 0x32], 0
jne 0x64065b99
lea ecx, [esi + 0x24]
call dword [sym.imp.QtCore4.dll_public:_bool___thiscall_QListData::isEmpty_void_const]
test al, al
je 0x64065b99
xor eax, eax
jmp 0x64065b9e
mov eax, 1
mov byte [esi + 0x31], al
lea ecx, [esp + 0x24]
mov dword [esp + 0x50], 0xffffffff
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QString::destructor_void_]
mov ecx, dword [esp + 0x48]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret