Function at 0x40d7a0
Capabilities:
Connect to http server
Create http request
Parse url

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x43cf4b
mov eax, dword fs:[0]
push eax
sub esp, 0xa0
mov eax, dword [0x44c00c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov esi, dword [ebp + 8]
call fcn.0040d6d0
call dword [sym.imp.KERNEL32.dll_GetTickCount64]
mov dword [ebx + 0x90], eax
mov dword [ebx + 0x94], edx
mov dword [ebx + 0x18], 0
mov dword [ebx + 0x1c], 0
mov dword [ebx + 0x20], 0
mov dword [ebx + 0x24], 0
mov dword [ebx + 0x28], 0
mov dword [ebx + 0x2c], 0
mov dword [ebx + 0x30], 0
mov dword [ebx + 0x34], 0
mov dword [ebx + 0x38], 0
mov dword [ebx + 0x3c], 0
mov dword [ebx + 0x40], 0
mov dword [ebx + 0x44], 0
mov dword [ebx + 0x48], 0
push 1
mov dword [ebx + 0x4c], 0
push 0x20
mov dword [ebx + 0x14], 0x3c
call fcn.0042cc78
push 1
push pe_nt_image_headers32
mov dword [ebx + 0x18], eax
mov dword [ebx + 0x1c], 0x20
call fcn.0042cc78
push 1
push 0x800
mov dword [ebx + 0x24], eax
mov dword [ebx + 0x28], pe_nt_image_headers32
call fcn.0042cc78
push 1
push 0x800
mov dword [ebx + 0x40], eax
mov dword [ebx + 0x44], 0x800
call fcn.0042cc78
push 1
push 0x80
mov dword [ebx + 0x48], eax
mov dword [ebx + 0x4c], 0x800
call fcn.0042cc78
push 1
push 0x80
mov dword [ebx + 0x30], eax
mov dword [ebx + 0x34], 0x80
call fcn.0042cc78
add esp, 0x30
mov dword [ebx + 0x38], eax
cmp dword [ebx + 0x24], 0
mov dword [ebx + 0x3c], 0x80
jne 0x40d946
mov dword [ebx], 0x12
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebx + 4], eax
cmp eax, 0x2f05
je 0x40d939
cmp eax, 0x2f06
je 0x40d939
cmp eax, 0x2f09
je 0x40d939
cmp eax, 0x2f0a
je 0x40d939
cmp eax, 0x2f0b
je 0x40d939
cmp eax, 0x2f0c
je 0x40d939
cmp eax, 0x2f0d
je 0x40d939
cmp eax, 0x2f0e
je 0x40d939
cmp eax, 0x2f17
je 0x40d939
cmp eax, 0x2f18
je 0x40d939
cmp eax, 0x2f19
jne 0x40d93f
mov dword [ebx], 0x63
xor eax, eax
jmp 0x40dc24
push 0x84
lea eax, [ebp - 0x9c]
push 0
push eax
call fcn.0041fc70
add esp, 8
lea eax, [ebp - 0x98]
lea ecx, [ebp - 0x9c]
mov dword [ebp - 0x9c], eax
push esi
call fcn.00408370
mov dword [ebp - 4], 0
call fcn.004034e0
mov ecx, eax
test ecx, ecx
je 0x40dc42
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x40dc4c
lock inc dword [ecx + 0x14]
lea eax, [ecx + 8]
lea esi, [eax + 0x10]
mov dword [ebp - 0x14], esi
mov byte [ebp - 4], 1
call fcn.004034e0
mov ecx, eax
test ecx, ecx
je 0x40dc53
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x40dc5d
lock inc dword [ecx + 0x14]
lea eax, [ecx + 8]
lea edi, [eax + 0x10]
mov dword [ebp - 0x18], edi
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0xa8], eax
mov al, byte [eax]
mov byte [ebp - 0x9d], al
test al, al
je 0x40daa1
cmp al, 0x7f
ja 0x40da5d
cmp al, 0x1f
jbe 0x40da5d
mov eax, dword [esi - 0xc]
mov dword [ebp - 0xa4], eax
lea edx, [eax + 1]
mov dword [ebp - 0xac], edx
test edx, edx
js 0x40dc64
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, edx
or eax, ecx
jge 0x40da3c
push edx
lea ecx, [ebp - 0x14]
call fcn.00403040
mov esi, dword [ebp - 0x14]
mov edx, dword [ebp - 0xac]
mov ecx, dword [ebp - 0xa4]
mov al, byte [ebp - 0x9d]
mov byte [ecx + esi], al
cmp edx, dword [esi - 8]
jg 0x40dc64
mov dword [esi - 0xc], edx
mov byte [edx + esi], 0
jmp 0x40da84
movzx eax, al
push eax
lea eax, [ebp - 0x18]
push str.___02X
push eax
call fcn.0040e590
mov edi, dword [ebp - 0x18]
lea ecx, [ebp - 0x14]
add esp, 0xc
push dword [edi - 0xc]
push edi
call fcn.0040e4e0
mov esi, dword [ebp - 0x14]
mov ecx, dword [ebp - 0xa8]
inc ecx
mov dword [ebp - 0xa8], ecx
mov al, byte [ecx]
mov byte [ebp - 0x9d], al
test al, al
jne 0x40d9f7
lea eax, [ebx + 0x14]
push eax
push 0
push dword [esi - 0xc]
push esi
call dword [sym.imp.WININET.dll_InternetCrackUrlA]
test eax, eax
jne 0x40dac0
mov dword [ebx], 1
jmp 0x40db6e
cmp dword [ebx + 0x64], 0
mov eax, 0x84400300
mov dword [ebx + 0x50], 0x84400300
je 0x40dade
mov dword [ebx + 0x50], 0x84600300
mov eax, 0x84600300
cmp dword [ebx + 0x20], 4
jne 0x40daec
or eax, 0x800000
mov dword [ebx + 0x50], eax
push 0
push 0
push 0
push 0
push dword [ebx + 0x54]
call dword [sym.imp.WININET.dll_InternetOpenW]
mov ecx, eax
mov dword [ebx + 8], ecx
test ecx, ecx
jne 0x40db0e
mov dword [ebx], 2
jmp 0x40db6e
push 4
lea eax, [ebx + 0x58]
push eax
push 2
push ecx
call dword [sym.imp.WININET.dll_InternetSetOptionW]
push 4
lea eax, [ebx + 0x5c]
push eax
push 6
push dword [ebx + 8]
call dword [sym.imp.WININET.dll_InternetSetOptionW]
cmp dword [ebx + 0x60], 0
lea eax, [ebx + 0x60]
je 0x40db44
push 4
push eax
push 0x49
push 0
call dword [sym.imp.WININET.dll_InternetSetOptionW]
movzx eax, word [ebx + 0x2c]
push 0
push 0
push 3
push dword [ebx + 0x38]
push dword [ebx + 0x30]
push eax
push dword [ebx + 0x24]
push dword [ebx + 8]
call dword [sym.imp.WININET.dll_InternetConnectA]
mov dword [ebx + 0xc], eax
test eax, eax
jne 0x40db93
mov dword [ebx], 3
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebx + 4], eax
cmp eax, 0x2f05
je 0x40db89
mov ecx, ebx
call fcn.0040e490
xor ebx, ebx
jmp 0x40db98
mov dword [ebx], 0x63
xor ebx, ebx
jmp 0x40db98
mov ebx, 1
lea ecx, [edi - 0x10]
mov byte [ebp - 4], 1
or edi, 0xffffffff
mov eax, edi
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x40dbd7
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov edx, dword [eax + 4]
mov dword [ebp - 0xa4], edx
mov edx, dword [ecx]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x40dc6e
mov eax, dword [edx + 4]
push 0
push dword [eax + 4]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov byte [ebp - 4], 0
add esi, 0xfffffff0
lock xadd dword [esi + 0xc], edi
dec edi
test edi, edi
jg 0x40dc09
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
mov edx, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x40dc7b
mov eax, dword [ecx + 4]
push 0
push dword [eax + 4]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov ecx, dword [ebp - 0x9c]
lea eax, [ebp - 0x98]
cmp ecx, eax
je 0x40dc22
push ecx
call fcn.0042198f
add esp, 4
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0041d9da
mov esp, ebp
pop ebp
ret 4
push 0x80004005
call fcn.004039b0
call edx
jmp 0x40d9a1
push 0x80004005
call fcn.004039b0
call edx
jmp 0x40d9d1
push 0x80070057
call fcn.004039b0
mov ecx, edx
call dword [ebp - 0xa4]
jmp 0x40dbd7
call edx
jmp 0x40dc09