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

Disassembly:
push ebp
sub esp, 0x84
lea ebp, [esp - 4]
mov eax, dword [0x4a1060]
xor eax, ebp
mov dword [ebp + 0x84], eax
push 0x18
mov eax, 0x47bff6
call fcn.00477fa0
mov eax, dword [ebp + 0x90]
mov dword [ebp - 0x18], eax
mov eax, edi
call fcn.0040c673
call dword [sym.imp.KERNEL32.dll_GetTickCount]
xor ebx, ebx
push 0x3c
lea esi, [edi + 0x14]
push ebx
push esi
mov dword [edi + 0x88], eax
mov dword [edi + 0x8c], ebx
call fcn.0045e5c0
push 1
push 0x20
mov dword [esi], 0x3c
pop esi
push esi
call fcn.0045cf82
mov dword [edi + 0x1c], esi
push 1
mov esi, 0x100
push esi
mov dword [edi + 0x18], eax
call fcn.0045cf82
mov dword [edi + 0x28], esi
push 1
mov esi, 0x800
push esi
mov dword [edi + 0x24], eax
call fcn.0045cf82
push 1
push esi
mov dword [edi + 0x40], eax
mov dword [edi + 0x44], esi
call fcn.0045cf82
mov dword [edi + 0x4c], esi
push 1
mov esi, 0x80
push esi
mov dword [edi + 0x48], eax
call fcn.0045cf82
push 1
push esi
mov dword [edi + 0x30], eax
mov dword [edi + 0x34], esi
call fcn.0045cf82
add esp, 0x3c
mov dword [edi + 0x38], eax
mov dword [edi + 0x3c], esi
cmp dword [edi + 0x24], ebx
jne 0x40c816
mov dword [edi], 0x12
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [edi + 4], eax
cmp eax, 0x2f05
je 0x40c809
mov ecx, edi
call fcn.0040cdaa
jmp 0x40c80f
mov dword [edi], 0x63
xor eax, eax
jmp 0x40ca22
push dword [ebp - 0x18]
lea eax, [ebp + 4]
mov dword [ebp], eax
lea eax, [ebp]
push eax
call fcn.0040ce0b
mov dword [ebp - 4], ebx
mov eax, dword [0x4a444c]
mov esi, 0x4a444c
mov ecx, esi
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x10], eax
mov byte [ebp - 4], 1
mov eax, dword [0x4a444c]
mov ecx, esi
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 2
mov eax, dword [ebp]
mov dword [ebp - 0x18], eax
jmp 0x40c8c3
mov eax, dword [ebp - 0x18]
mov al, byte [eax]
mov byte [ebp - 0x11], al
cmp al, 0x7f
ja 0x40c89b
cmp al, 0x1f
jbe 0x40c89b
mov eax, dword [ebp - 0x10]
mov eax, dword [eax - 0xc]
mov dword [ebp - 0x24], eax
inc eax
push eax
lea esi, [ebp - 0x10]
mov dword [ebp - 0x20], eax
call fcn.0040cf48
mov cl, byte [ebp - 0x11]
mov edx, dword [ebp - 0x24]
mov byte [eax + edx], cl
mov eax, dword [ebp - 0x20]
mov edx, esi
call fcn.0040cf6e
jmp 0x40c8bd
movzx eax, al
push eax
push str.___02X
lea eax, [ebp - 0x1c]
call fcn.0040d073
mov eax, dword [ebp - 0x1c]
pop ecx
pop ecx
push dword [eax - 0xc]
push eax
lea eax, [ebp - 0x10]
call fcn.0040cecb
inc dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp byte [eax], bl
jne 0x40c860
mov esi, dword [ebp - 0x10]
mov ecx, dword [esi - 0xc]
lea eax, [edi + 0x14]
push eax
push ebx
push ecx
push esi
call dword [sym.imp.WININET.dll_InternetCrackUrlA]
test eax, eax
jne 0x40c930
mov dword [edi], 1
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [edi + 4], eax
cmp eax, 0x2f05
je 0x40c8fd
mov ecx, edi
call fcn.0040cdaa
jmp 0x40c903
mov dword [edi], 0x63
mov eax, dword [ebp - 0x1c]
add eax, 0xfffffff0
call fcn.00403c45
lea eax, [esi - 0x10]
call fcn.00403c45
lea eax, [ebp + 4]
cmp dword [ebp], eax
je 0x40c80f
push dword [ebp]
call fcn.0045aabf
pop ecx
jmp 0x40c80f
mov dword [edi + 0x50], 0x84400300
cmp dword [edi + 0x64], ebx
je 0x40c943
mov dword [edi + 0x50], 0x84600300
cmp dword [edi + 0x20], 4
jne 0x40c950
or dword [edi + 0x50], 0x800000
mov eax, dword [edi + 0x54]
push ebx
push ebx
push ebx
push ebx
push eax
call dword [sym.imp.WININET.dll_InternetOpenW]
mov dword [edi + 8], eax
cmp eax, ebx
jne 0x40c970
mov dword [edi], 2
jmp 0x40c8e4
mov esi, dword [sym.imp.WININET.dll_InternetSetOptionW]
push 4
lea ecx, [edi + 0x58]
push ecx
push 2
push eax
call esi
push 4
lea eax, [edi + 0x5c]
push eax
push 6
push dword [edi + 8]
call esi
lea eax, [edi + 0x60]
cmp dword [eax], ebx
je 0x40c99d
push 4
push eax
push 0x49
push ebx
call esi
movzx eax, word [edi + 0x2c]
push ebx
push ebx
push 3
pop esi
push esi
push dword [edi + 0x38]
push dword [edi + 0x30]
push eax
push dword [edi + 0x24]
push dword [edi + 8]
call dword [sym.imp.WININET.dll_InternetConnectA]
mov dword [edi + 0xc], eax
cmp eax, ebx
jne 0x40c9f8
mov dword [edi], esi
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [edi + 4], eax
cmp eax, 0x2f05
je 0x40c9dc
mov ecx, edi
call fcn.0040cdaa
jmp 0x40c9e2
mov dword [edi], 0x63
mov eax, dword [ebp - 0x1c]
add eax, 0xfffffff0
call fcn.00403c45
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
jmp 0x40c911
mov eax, dword [ebp - 0x1c]
add eax, 0xfffffff0
call fcn.00403c45
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
call fcn.00403c45
lea eax, [ebp + 4]
cmp dword [ebp], eax
je 0x40ca1f
push dword [ebp]
call fcn.0045aabf
pop ecx
xor eax, eax
inc eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x84]
xor ecx, ebp
call fcn.0045a985
add ebp, 0x88
leave
ret 4