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

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1250
call fcn.0043d890
mov eax, dword [0x4ef340]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
lea eax, [ebp - 0x204]
push esi
mov esi, dword [ebp + 0xc]
push edi
push 0x200
push 0
push eax
mov edi, ecx
mov dword [ebp - 0x1210], ebx
mov dword [ebp - 0x120c], esi
call fcn.0043f630
push 0x1000
lea eax, [ebp - 0x1204]
push 0
push eax
call fcn.0043f630
push 0x38
lea eax, [ebp - 0x1248]
mov dword [ebp - 0x124c], 0x3c
push 0
push eax
call fcn.0043f630
add esp, 0x24
mov ecx, edi
call fcn.0040c8a0
xor eax, eax
mov dword [ebp - 0x1238], 0x200
mov word [esi], ax
lea eax, [ebp - 0x204]
mov dword [ebp - 0x123c], eax
lea eax, [ebp - 0x1204]
mov dword [ebp - 0x1220], eax
lea eax, [ebp - 0x124c]
push eax
push 0x80000000
push 0
push ebx
mov dword [ebp - 0x121c], 0x1000
call dword [sym.imp.WININET.dll_InternetCrackUrlW]
test eax, eax
jne 0x40cb19
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 4
mov ebx, eax
pop esi
push esi
mov dword [ebp - 0x1208], ebx
call fcn.0042c3e0
pop ecx
test eax, eax
je 0x40d25b
lea eax, [edi + 0x10]
push eax
lea eax, [ebp - 0x1208]
push eax
push str.::InternetCrackUrl_returned_error__ld_for_agent__s
push 0x2de
push str.CMcHttp::_Init
push str...includeMcHttp3.cpp
push esi
call fcn.00402c40
mov ebx, dword [ebp - 0x1208]
add esp, 0x1c
jmp 0x40d25b
cmp dword [0x4f5324], 0
je 0x40cc30
lea eax, [ebp - 0x1204]
push eax
call fcn.0044aad6
mov esi, eax
pop ecx
test esi, esi
jne 0x40cb86
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 4
mov edi, eax
pop esi
push esi
mov dword [ebp - 0x1208], edi
call fcn.0042c3e0
pop ecx
test eax, eax
je 0x40cb7f
lea eax, [ebp - 0x1208]
push eax
push str._wcsdup_returned_error__ld
push 0x2e9
push str.CMcHttp::_Init
push str...includeMcHttp3.cpp
push esi
call fcn.00402fc0
mov edi, dword [ebp - 0x1208]
add esp, 0x18
mov eax, edi
jmp 0x40d25d
push esi
call fcn.00443c45
inc eax
push eax
push esi
call fcn.0044b35e
lea eax, [ebp - 0x1250]
push eax
push 0x4b5ab8
push esi
call fcn.0044af9a
push str..asp
push esi
call fcn.004428ae
add esp, 0x20
mov dword [ebp - 0x1208], eax
test eax, eax
je 0x40cc23
push str..asp
call fcn.00443c45
pop ecx
mov ecx, dword [ebp - 0x1208]
xor edx, edx
cmp dx, word [ecx + eax*2]
jne 0x40cc23
push ebx
call fcn.0040b838
pop ecx
test eax, eax
jne 0x40cc23
push esi
call fcn.00443bd1
push 4
pop esi
push esi
call fcn.0042c3e0
pop ecx
pop ecx
test eax, eax
je 0x40cc1b
lea eax, [ebp - 0x1210]
push eax
push str.url_is_asp_and_not_trusted__s
push 0x2ff
push str.CMcHttp::_Init
push str...includeMcHttp3.cpp
push esi
call fcn.00402fc0
add esp, 0x18
push 5
pop eax
jmp 0x40d25d
push esi
call fcn.00443bd1
mov esi, dword [ebp - 0x120c]
pop ecx
lea eax, [ebp - 0x1204]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push 0x4f5340
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [ebp - 0x1240]
xor eax, eax
push 4
pop esi
cmp ecx, esi
sete al
cmp dword [ebp + 0x10], 0
mov dword [edi + 0x14], eax
jbe 0x40cc92
lea ebx, [edi + 0x1c]
push ebx
push dword [ebp - 0x1234]
push ecx
push dword [ebp - 0x123c]
mov ecx, 0x4f532c
call fcn.0040c335
test al, al
je 0x40cc8c
push ebx
mov ecx, 0x4f532c
call fcn.0040c197
mov ecx, dword [ebp - 0x1240]
lea eax, [edi + 0x1c]
push eax
push dword [ebp - 0x1234]
mov dword [ebp - 0x1210], eax
push ecx
push dword [ebp - 0x123c]
mov ecx, 0x4f532c
call fcn.0040c335
xor ebx, ebx
inc ebx
push ebx
test al, al
je 0x40cd12
call fcn.0042c3e0
pop ecx
test eax, eax
je 0x40ccf7
lea eax, [ebp - 0x1234]
push eax
lea eax, [ebp - 0x1240]
push eax
lea eax, [ebp - 0x123c]
push eax
push str._WinInetcache.GetCache_Found_cache_for__s..._d..._ld
push 0x329
push str.CMcHttp::_Init
push str...includeMcHttp3.cpp
push ebx
call fcn.0040abab
add esp, 0x20
lea eax, [edi + 0xc]
mov ecx, 0x4f532c
push eax
lea eax, [edi + 8]
push eax
lea edx, [edi + 0x1c]
push edx
call fcn.0040b2c6
jmp 0x40d1fa
call fcn.0042c3e0
pop ecx
test eax, eax
je 0x40cd4e
lea eax, [ebp - 0x1234]
push eax
lea eax, [ebp - 0x1240]
push eax
lea eax, [ebp - 0x123c]
push eax
push str._WinInetcache.GetCache_Did_not_Find_cache_for__s..._d..._ld
push 0x32e
push str.CMcHttp::_Init
push str...includeMcHttp3.cpp
push ebx
call fcn.0040abab
add esp, 0x20
mov eax, dword [ebp + 0x10]
mov ecx, str.McHttp
test eax, eax
jne 0x40ced3
cmp dword [edi + 0x10], 0
mov eax, ecx
cmovne eax, dword [edi + 0x10]
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
push eax
call dword [sym.imp.WININET.dll_InternetOpenW]
mov dword [edi + 8], eax
test eax, eax
je 0x40cecb
push esi
lea ecx, [ebp - 0x1208]
mov dword [ebp - 0x1208], 0x1d4c0
push ecx
push 6
push eax
call dword [sym.imp.WININET.dll_InternetSetOptionW]
test eax, eax
jne 0x40cdda
push esi
call fcn.0042c3e0
pop ecx
test eax, eax
je 0x40cdda
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x120c], eax
lea eax, [ebp - 0x120c]
push eax
push str.Couldnt_set_receive_timeout._error___ld
push 0x33c
push str.CMcHttp::_Init
push str...includeMcHttp3.cpp
push esi
call fcn.00402fc0
add esp, 0x18
push esi
lea eax, [ebp - 0x1208]
push eax
push 5
push dword [edi + 8]
call dword [sym.imp.WININET.dll_InternetSetOptionW]
test eax, eax
jne 0x40ce2c
push esi
call fcn.0042c3e0
pop ecx
test eax, eax
je 0x40ce2c
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x120c], eax
lea eax, [ebp - 0x120c]
push eax
push str.Couldnt_set_send_timeout._error___ld
push 0x340
push str.CMcHttp::_Init
push str...includeMcHttp3.cpp
push esi
call fcn.00402fc0
add esp, 0x18
push esi
lea eax, [ebp - 0x1208]
push eax
push 2
push dword [edi + 8]
call dword [sym.imp.WININET.dll_InternetSetOptionW]
test eax, eax
jne 0x40ce7e
push esi
call fcn.0042c3e0
pop ecx
test eax, eax
je 0x40ce7e
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x120c], eax
lea eax, [ebp - 0x120c]
push eax
push str.Couldnt_set_connect_timeout._error___ld
push 0x344
push str.CMcHttp::_Init
push str...includeMcHttp3.cpp
push esi
call fcn.00402fc0
add esp, 0x18
xor eax, eax
push eax
push 0x20000000
push 3
push eax
push eax
push dword [ebp - 0x1234]
lea eax, [ebp - 0x204]
push eax
push dword [edi + 8]
call dword [sym.imp.WININET.dll_InternetConnectW]
mov dword [edi + 0xc], eax
test eax, eax
je 0x40cec5
push ebx
call fcn.0042c3e0
pop ecx
test eax, eax
je 0x40d1c7
push str.InternetConnect_succeeded_on_FIRST_try
push 0x34b
jmp 0x40d1b4
mov eax, dword [ebp + 0x10]
inc eax
jmp 0x40cece
mov eax, dword [ebp + 0x10]
mov ecx, str.McHttp
cmp eax, ebx
jne 0x40d04a
cmp dword [edi + 0x10], 0
mov eax, ecx
push 0
cmovne eax, dword [edi + 0x10]
push str..mcafee.com
push 0
push 3
push eax
call dword [sym.imp.WININET.dll_InternetOpenW]
mov dword [edi + 8], eax
test eax, eax
je 0x40d053
push esi
lea ecx, [ebp - 0x1208]
mov dword [ebp - 0x1208], 0x1d4c0
push ecx
push 6
push eax
call dword [sym.imp.WININET.dll_InternetSetOptionW]
test eax, eax
jne 0x40cf5c
push esi
call fcn.0042c3e0
pop ecx
test eax, eax
je 0x40cf5c
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x120c], eax
lea eax, [ebp - 0x120c]
push eax
push str.Couldnt_set_receive_timeout._error___ld
push 0x35f
push str.CMcHttp::_Init
push str...includeMcHttp3.cpp
push esi
call fcn.00402fc0
add esp, 0x18
push esi
lea eax, [ebp - 0x1208]
push eax
push 5
push dword [edi + 8]
call dword [sym.imp.WININET.dll_InternetSetOptionW]
test eax, eax
jne 0x40cfae
push esi
call fcn.0042c3e0
pop ecx
test eax, eax
je 0x40cfae
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x120c], eax
lea eax, [ebp - 0x120c]
push eax
push str.Couldnt_set_send_timeout._error___ld
push 0x363
push str.CMcHttp::_Init
push str...includeMcHttp3.cpp
push esi
call fcn.00402fc0
add esp, 0x18
push esi
lea eax, [ebp - 0x1208]
push eax
push 2
push dword [edi + 8]
call dword [sym.imp.WININET.dll_InternetSetOptionW]
test eax, eax
jne 0x40d000
push esi
call fcn.0042c3e0
pop ecx
test eax, eax
je 0x40d000
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x120c], eax
lea eax, [ebp - 0x120c]
push eax
push str.Couldnt_set_connect_timeout._error___ld
push 0x367
push str.CMcHttp::_Init
push str...includeMcHttp3.cpp
push esi
call fcn.00402fc0
add esp, 0x18
xor eax, eax
push eax
push 0x20000000
push 3
push eax
push eax
push dword [ebp - 0x1234]
lea eax, [ebp - 0x204]
push eax
push dword [edi + 8]
call dword [sym.imp.WININET.dll_InternetConnectW]
mov dword [edi + 0xc], eax
test eax, eax
je 0x40d047
push ebx
call fcn.0042c3e0
pop ecx
test eax, eax
je 0x40d1c7
push str.InternetConnect_succeeded_on_SECOND_try
push 0x36e
jmp 0x40d1b4
push 2
pop eax
cmp eax, 2
ja 0x40d209
cmp dword [edi + 0x10], 0
mov eax, str.McHttp
cmovne eax, dword [edi + 0x10]
xor ecx, ecx
push ecx
push ecx
push ecx
push ebx
push eax
call dword [sym.imp.WININET.dll_InternetOpenW]
mov dword [edi + 8], eax
test eax, eax
je 0x40d209
push esi
lea ecx, [ebp - 0x1208]
mov dword [ebp - 0x1208], 0x1d4c0
push ecx
push 6
push eax
call dword [sym.imp.WININET.dll_InternetSetOptionW]
test eax, eax
jne 0x40d0d2
push esi
call fcn.0042c3e0
pop ecx
test eax, eax
je 0x40d0d2
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x120c], eax
lea eax, [ebp - 0x120c]
push eax
push str.Couldnt_set_receive_timeout._error___ld
push 0x382
push str.CMcHttp::_Init
push str...includeMcHttp3.cpp
push esi
call fcn.00402fc0
add esp, 0x18
push esi
lea eax, [ebp - 0x1208]
push eax
push 5
push dword [edi + 8]
call dword [sym.imp.WININET.dll_InternetSetOptionW]
test eax, eax
jne 0x40d124
push esi
call fcn.0042c3e0
pop ecx
test eax, eax
je 0x40d124
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x120c], eax
lea eax, [ebp - 0x120c]
push eax
push str.Couldnt_set_send_timeout._error___ld
push 0x386
push str.CMcHttp::_Init
push str...includeMcHttp3.cpp
push esi
call fcn.00402fc0
add esp, 0x18
push esi
lea eax, [ebp - 0x1208]
push eax
push 2
push dword [edi + 8]
call dword [sym.imp.WININET.dll_InternetSetOptionW]
test eax, eax
jne 0x40d176
push esi
call fcn.0042c3e0
pop ecx
test eax, eax
je 0x40d176
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x120c], eax
lea eax, [ebp - 0x120c]
push eax
push str.Couldnt_set_connect_timeout._error___ld
push 0x38a
push str.CMcHttp::_Init
push str...includeMcHttp3.cpp
push esi
call fcn.00402fc0
add esp, 0x18
xor eax, eax
push eax
push 0x20000000
push 3
push eax
push eax
push dword [ebp - 0x1234]
lea eax, [ebp - 0x204]
push eax
push dword [edi + 8]
call dword [sym.imp.WININET.dll_InternetConnectW]
mov dword [edi + 0xc], eax
test eax, eax
je 0x40d209
push ebx
call fcn.0042c3e0
pop ecx
test eax, eax
je 0x40d1c7
push str.InternetConnect_succeeded_on_THIRD_try
push 0x391
push str.CMcHttp::_Init
push str...includeMcHttp3.cpp
push ebx
call fcn.00402c10
add esp, 0x14
mov ecx, dword [edi + 0xc]
test ecx, ecx
je 0x40d209
mov eax, dword [edi + 8]
test eax, eax
je 0x40d209
mov edx, dword [ebp - 0x1210]
push edx
push ecx
push eax
push dword [ebp - 0x1234]
mov ecx, 0x4f532c
push dword [ebp - 0x1240]
push dword [ebp - 0x123c]
call fcn.0040b032
push 0x4f5340
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor eax, eax
jmp 0x40d25d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
push esi
mov dword [ebp - 0x1208], ebx
call fcn.0042c3e0
pop ecx
test eax, eax
je 0x40d250
lea eax, [edi + 0x10]
push eax
lea eax, [ebp - 0x1208]
push eax
push str.::InternetOpen_returned_error__ld_for_agent__s
push 0x39f
push str.CMcHttp::_Init
push str...includeMcHttp3.cpp
push esi
call fcn.00402c40
mov ebx, dword [ebp - 0x1208]
add esp, 0x1c
push 0x4f5340
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, ebx
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0043cfdf
mov esp, ebp
pop ebp
ret 0xc