Function at 0x46f71c
Capabilities:
Check http status code

Disassembly:
push 0x9f8
mov eax, 0x4adc5f
call fcn.004a95a1
mov edi, dword [ebp + 8]
call fcn.00464e3a
test al, al
je 0x46f741
mov esi, 0x80004005
jmp 0x46fae5
push 0x320
call dword [sym.imp.ole32.dll_CoTaskMemAlloc]
mov dword [edi + 0xc], eax
test eax, eax
je 0x46fae0
and dword [edi + 8], 0
mov eax, 0x1008
push 0x3c
pop ebx
push ebx
mov word [edi], ax
lea eax, [ebp - 0xa04]
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
mov dword [ebp - 0x9f0], 0x13
lea eax, [ebp - 0x9b0]
mov dword [ebp - 0xa04], ebx
push eax
push 0x10
lea eax, [ebp - 0xa04]
push eax
call dword [sym.imp.WS2_32.dll_WSALookupServiceBeginW]
mov esi, eax
test esi, esi
jne 0x46f91d
and dword [ebp - 0x9c8], eax
and dword [ebp - 0x9c4], eax
and dword [ebp - 0x9c0], eax
and dword [ebp - 0x9bc], eax
and dword [ebp - 4], eax
mov dword [ebp - 0x9ac], ebx
push 0x4b8970
lea ecx, [ebp - 0x9a8]
call fcn.00417475
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x9a8]
mov esi, dword [ebp - 0x9ac]
push esi
call fcn.00417332
push esi
lea ecx, [ebp - 0x9a8]
mov ebx, eax
call fcn.0041735f
push dword [ebp - 0x9ac]
push 0
push ebx
call sub.msvcrt.dll_memset
mov eax, dword [ebp - 0x9ac]
add esp, 0xc
mov dword [ebx], eax
lea eax, [ebp - 0x9ac]
mov dword [ebx + 0x14], 0x13
push ebx
push eax
push 0x10
push dword [ebp - 0x9b0]
call dword [sym.imp.WS2_32.dll_WSALookupServiceNextW]
test eax, eax
je 0x46f866
call dword [sym.imp.WSOCK32.dll_WSAGetLastError]
mov esi, eax
cmp esi, 0x277e
je 0x46f8aa
cmp esi, 0x271e
jne 0x46f876
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x9a8]
lea ecx, [ecx - 0x10]
call fcn.004174b0
jmp 0x46f7c9
push dword [ebx + 4]
lea ecx, [ebp - 0x9c8]
call fcn.00457160
jmp 0x46f84f
test esi, esi
jle 0x46f883
movzx esi, si
or esi, 0x80070000
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x9a8]
lea ecx, [ecx - 0x10]
call fcn.004174b0
test esi, esi
jns 0x46f8be
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x9c8]
call fcn.004571ed
jmp 0x46f928
mov byte [ebp - 4], 0
xor esi, esi
mov ecx, dword [ebp - 0x9a8]
lea ecx, [ecx - 0x10]
call fcn.004174b0
xor ebx, ebx
cmp dword [ebp - 0x9c4], ebx
jbe 0x46f899
mov eax, dword [edi + 8]
cmp eax, 0xc8
jae 0x46f899
cmp ebx, dword [ebp - 0x9c4]
jae 0x46faf6
mov eax, dword [ebp - 0x9c8]
push dword [eax + ebx*4]
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov ecx, dword [edi + 0xc]
mov edx, dword [edi + 8]
mov dword [ecx + edx*4], eax
mov ecx, dword [edi + 8]
mov eax, dword [edi + 0xc]
cmp dword [eax + ecx*4], 0
je 0x46f913
inc ebx
lea eax, [ecx + 1]
mov dword [edi + 8], eax
cmp ebx, dword [ebp - 0x9c4]
jb 0x46f8cb
jmp 0x46f899
mov esi, 0x8007000e
jmp 0x46f899
jle 0x46f928
movzx esi, si
or esi, 0x80070000
test esi, esi
js 0x46fae5
call fcn.0046e5da
test al, al
jne 0x46fada
cmp dword [edi + 8], 0xc8
jae 0x46fada
and dword [ebp - 0x9a8], 0
lea eax, [ebp - 0x9b4]
mov dword [ebp - 4], 2
and dword [ebp - 0x9b4], 0
lea ecx, [ebp - 0x9a8]
push eax
call fcn.0049d307
mov esi, eax
test esi, esi
js 0x46fab8
mov ebx, dword [ebp - 0x9b4]
jmp 0x46faaa
mov ebx, dword [ebx + 0x10]
jmp 0x46fa8c
cmp dword [edi + 8], 0xc8
jae 0x46faa1
test byte [ebx + 4], 1
je 0x46fa89
cmp dword [ebx + 0xc], 0
je 0x46fa89
cmp dword [ebx + 0x10], 0x80
ja 0x46fa89
push 0x80
lea eax, [ebp - 0x9a4]
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [ebp - 0x9a4]
push dword [ebx + 0x10]
push dword [ebx + 0xc]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea edx, [ebp - 0x924]
lea ecx, [ebp - 0x9a4]
call fcn.0049d5db
mov esi, eax
test esi, esi
js 0x46fa45
xor eax, eax
cmp eax, dword [edi + 8]
jae 0x46fa3b
mov ebx, eax
lea eax, [ebp - 0x924]
push eax
mov eax, dword [edi + 0xc]
push dword [eax + ebx*4]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
je 0x46fa26
inc ebx
cmp ebx, dword [edi + 8]
jb 0x46fa07
mov dword [ebp - 0x9ac], ebx
mov eax, dword [ebp - 0x9ac]
mov ebx, dword [ebp - 0x9b8]
cmp eax, dword [edi + 8]
jne 0x46fa89
lea eax, [ebp - 0x924]
jmp 0x46fa67
push 0x81
lea edx, [ebp - 0x11c]
lea ecx, [ebp - 0x9a4]
call fcn.0049d3f5
mov esi, eax
test esi, esi
js 0x46fa89
lea eax, [ebp - 0x11c]
push eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov ecx, dword [edi + 0xc]
mov edx, dword [edi + 8]
mov dword [ecx + edx*4], eax
mov ecx, dword [edi + 8]
mov eax, dword [edi + 0xc]
cmp dword [eax + ecx*4], 0
je 0x46fa9c
lea eax, [ecx + 1]
mov dword [edi + 8], eax
mov ebx, dword [ebx + 8]
mov dword [ebp - 0x9b8], ebx
test ebx, ebx
jne 0x46f98e
jmp 0x46faa1
mov esi, 0x8007000e
mov ebx, dword [ebp - 0x9b0]
mov ebx, dword [ebx + 8]
mov dword [ebp - 0x9b0], ebx
test ebx, ebx
jne 0x46f986
push dword [ebp - 0x9b4]
call dword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void__]
cmp dword [ebp - 0x9a8], 0
pop ecx
je 0x46fada
push dword [ebp - 0x9a8]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
test esi, esi
jns 0x46faec
jmp 0x46fae5
mov esi, 0x8007000e
push edi
call dword [sym.imp.ole32.dll_PropVariantClear]
mov eax, esi
call fcn.004a9550
ret 4
mov ecx, 0x80070057
call fcn.00417459
int3