Function at 0x44e667
Capabilities:
Check http status code
Connect to http server
Create http request
Parse url
Read data from internet
Receive data
Send data
Send http request

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x66e8
call fcn.00462010
mov eax, dword [0x4c6260]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
xor esi, esi
push edi
cmp ebx, esi
je 0x44e77d
xor eax, eax
push 7
mov word [ebp - 0x24], ax
pop ecx
lea edi, [ebp - 0x22]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
xor eax, eax
mov edi, 0x206
push edi
mov word [ebp - 0x634], ax
lea eax, [ebp - 0x632]
push esi
push eax
mov dword [ebp - 0x6688], esi
mov dword [ebp - 0x668c], esi
mov dword [ebp - 0x6684], esi
mov dword [ebp - 0x66a4], esi
call fcn.00461390
xor eax, eax
push edi
mov word [ebp - 0x42c], ax
lea eax, [ebp - 0x42a]
push esi
push eax
call fcn.00461390
xor eax, eax
push 0x1ffe
mov word [ebp - 0x4638], ax
lea eax, [ebp - 0x4636]
push esi
push eax
call fcn.00461390
push dword [ebx + 0xc]
mov dword [ebp - 0x669c], esi
call fcn.00461f93
push 0x3c
pop edi
push edi
lea eax, [ebp - 0x66e8]
push esi
push eax
call fcn.00461390
lea eax, [ebp - 0x42c]
mov dword [ebp - 0x66d8], eax
lea eax, [ebp - 0x4638]
add esp, 0x34
mov dword [ebp - 0x66bc], eax
lea eax, [ebp - 0x66e8]
push eax
push esi
push dword [ebx + 0xc]
mov dword [ebp - 0x66e8], edi
mov dword [ebp - 0x66d4], 0x104
mov dword [ebp - 0x66b8], 0x1000
call fcn.00461f93
pop ecx
push eax
push dword [ebx + 0xc]
call dword [sym.imp.WININET.dll_InternetCrackUrlW]
test eax, eax
jne 0x44e791
call dword [sym.imp.KERNEL32.dll_GetLastError]
or eax, 0xffffffff
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00461ffa
leave
ret 4
cmp dword [ebp - 0x66dc], 4
jne 0x44e7a6
mov dword [ebp - 0x66ac], 1
jmp 0x44e7b5
cmp dword [ebp - 0x66dc], 3
jne 0x44e77d
mov dword [ebp - 0x66ac], esi
movzx edi, word [ebp - 0x66d0]
push esi
push esi
push esi
push esi
push 0x4ad860
mov dword [ebp - 0x66a8], edi
call dword [sym.imp.WININET.dll_InternetOpenW]
mov dword [ebp - 0x6694], eax
cmp eax, esi
jne 0x44e7ea
mov dword [ebp - 0x6684], 0xfffffffd
jmp 0x44ee80
push esi
push esi
push 3
push esi
push esi
push edi
lea ecx, [ebp - 0x42c]
push ecx
push eax
jmp 0x44eae5
mov eax, dword [ebx + 0x88]
cmp eax, 1
jne 0x44e810
push str.POST
jmp 0x44e824
cmp eax, 2
je 0x44e81f
cmp dword [ebx + 0x1c], esi
jbe 0x44e81f
cmp dword [ebx + 0x18], esi
jne 0x44e809
push 0x4a0bbc
lea eax, [ebp - 0x24]
push eax
call fcn.00463101
pop ecx
pop ecx
mov edx, 0x80048200
cmp dword [ebx + 0x90], esi
je 0x44e841
mov edx, 0x800c8200
cmp dword [ebp - 0x66ac], esi
je 0x44e860
mov ecx, ebx
or edx, 0x800000
call fcn.0044c1ca
test eax, eax
jne 0x44e860
or edx, 0x1000
push esi
push edx
push esi
push esi
push str.HTTP_1.0
lea eax, [ebp - 0x4638]
push eax
lea eax, [ebp - 0x24]
push eax
push dword [ebp - 0x6698]
call dword [sym.imp.WININET.dll_HttpOpenRequestW]
mov edi, eax
mov dword [ebp - 0x6688], edi
cmp edi, esi
je 0x44eb08
lea eax, [ebp - 0x634]
push str.Accept:___r_nUser_Agent:_Mozilla_4.0__compatible__MSIE_6.0__Windows_NT_5.1__r_nConnection:close_r_n
push eax
call fcn.0044c18f
pop ecx
pop ecx
push 0xa0000000
push 0xffffffffffffffff
lea eax, [ebp - 0x634]
push eax
push edi
call dword [sym.imp.WININET.dll_HttpAddRequestHeadersW]
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0x667c], eax
jmp 0x44e913
push dword [ebp - 0x667c]
lea ecx, [ebp - 0x665c]
call fcn.00421722
cmp dword [ebp - 0x6648], 0x10
mov eax, dword [ebp - 0x665c]
jae 0x44e8e9
lea eax, [ebp - 0x665c]
push 0x20000000
push 0xffffffffffffffff
push eax
push edi
call dword [sym.imp.WININET.dll_HttpAddRequestHeadersA]
push esi
push 1
lea ecx, [ebp - 0x665c]
call fcn.0041f4c9
add dword [ebp - 0x667c], 0x1c
mov eax, dword [ebp - 0x667c]
cmp eax, dword [ebx + 0x24]
jne 0x44e8c3
inc dword [ebp - 0x668c]
lea eax, [ebp - 0x6690]
push eax
lea eax, [ebp - 0x667c]
push eax
push 0x1f
push edi
mov dword [ebp - 0x667c], esi
mov dword [ebp - 0x6690], 4
call dword [sym.imp.WININET.dll_InternetQueryOptionW]
or dword [ebp - 0x667c], 0x3180
push 4
lea eax, [ebp - 0x667c]
push eax
push 0x1f
push edi
call dword [sym.imp.WININET.dll_InternetSetOptionW]
push dword [ebx + 0x1c]
push dword [ebx + 0x18]
push esi
push esi
push edi
call dword [sym.imp.WININET.dll_HttpSendRequestW]
mov dword [ebp - 0x66a0], eax
cmp eax, esi
jne 0x44e9d1
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x2f0d
jne 0x44e9d1
lea eax, [ebp - 0x6690]
push eax
lea eax, [ebp - 0x6680]
push eax
push 0x1f
push edi
mov dword [ebp - 0x6690], 4
call dword [sym.imp.WININET.dll_InternetQueryOptionW]
or dword [ebp - 0x6680], 0x100
push 4
lea eax, [ebp - 0x6680]
push eax
push 0x1f
push edi
call dword [sym.imp.WININET.dll_InternetSetOptionW]
cmp dword [ebp - 0x668c], 2
jl 0x44e918
mov eax, dword [ebx + 8]
push esi
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, esi
je 0x44ee3a
cmp dword [ebp - 0x66a0], esi
je 0x44ee3a
xor eax, eax
push 0x1fe
mov word [ebp - 0x224], ax
lea eax, [ebp - 0x222]
push esi
push eax
call fcn.00461390
add esp, 0xc
push esi
lea eax, [ebp - 0x6690]
push eax
lea eax, [ebp - 0x224]
push eax
push 0x13
push edi
mov dword [ebp - 0x6690], 0x100
mov dword [ebp - 0x667c], esi
mov dword [ebp - 0x66a0], esi
call dword [sym.imp.WININET.dll_HttpQueryInfoW]
test eax, eax
je 0x44ee2e
lea eax, [ebp - 0x224]
push eax
call fcn.00461f1f
pop ecx
mov dword [ebp - 0x667c], eax
cmp eax, 0xc8
je 0x44eb17
cmp eax, 0x197
je 0x44ea74
cmp eax, 0x193
jne 0x44ee2e
cmp dword [ebp - 0x669c], esi
jne 0x44ee2e
call fcn.0044c4c9
test al, al
je 0x44ee2e
push edi
call dword [sym.imp.WININET.dll_InternetCloseHandle]
cmp dword [ebp - 0x6698], esi
je 0x44eaa8
push dword [ebp - 0x6698]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov dword [ebp - 0x669c], 1
cmp dword [ebp - 0x6694], esi
je 0x44eacc
push dword [ebp - 0x6694]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov dword [ebp - 0x6694], esi
push esi
push esi
push 3
push esi
push esi
push dword [ebp - 0x66a8]
lea eax, [ebp - 0x42c]
push eax
push dword [ebp - 0x6694]
call dword [sym.imp.WININET.dll_InternetConnectW]
mov dword [ebp - 0x6698], eax
cmp eax, esi
jne 0x44e7fe
mov dword [ebp - 0x6684], 0xfffffffc
jmp 0x44ee3a
mov dword [ebp - 0x6684], 0xfffffffb
jmp 0x44ee50
push esi
lea eax, [ebp - 0x6690]
push eax
lea eax, [ebp - 0x224]
push eax
push 5
push edi
call dword [sym.imp.WININET.dll_HttpQueryInfoW]
cmp eax, esi
je 0x44eb48
lea eax, [ebp - 0x224]
push eax
call fcn.00461f1f
pop ecx
mov dword [ebp - 0x66a0], eax
jmp 0x44eb4e
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea eax, [ebx + 0x40]
push eax
sub esp, 0x10
lea eax, [ebx + 0x30]
mov dword [ebp - 0x66a8], esp
mov ecx, esp
push eax
call fcn.0044e170
push dword [ebp - 0x6688]
call fcn.0044e4f6
mov edi, 0x1001
push edi
lea eax, [ebp - 0x6640]
push 0
push eax
call fcn.00461390
mov esi, dword [sym.imp.WININET.dll_HttpQueryInfoA]
add esp, 0x24
push 0
lea eax, [ebp - 0x668c]
push eax
lea eax, [ebp - 0x6640]
push eax
push 0x80000016
push dword [ebp - 0x6688]
mov dword [ebp - 0x668c], 0x1000
call esi
lea eax, [ebp - 0x6640]
push eax
call fcn.004635e0
pop ecx
push eax
lea eax, [ebp - 0x6640]
push eax
lea ecx, [ebx + 0x50]
call fcn.00420a80
push edi
xor edi, edi
lea eax, [ebp - 0x563c]
push edi
push eax
call fcn.00461390
add esp, 0xc
push edi
lea eax, [ebp - 0x668c]
push eax
lea eax, [ebp - 0x563c]
push eax
push 0x16
push dword [ebp - 0x6688]
mov dword [ebp - 0x668c], 0x1000
call esi
lea eax, [ebp - 0x563c]
push eax
call fcn.004635e0
pop ecx
push eax
lea eax, [ebp - 0x563c]
lea ecx, [ebx + 0x6c]
push eax
call fcn.00420a80
mov dword [ebp - 0x669c], edi
mov esi, str.Content_Length:
lea edi, [ebp - 0x6650]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x6650]
push eax
movsd dword es:[edi], dword [esi]
call fcn.004635e0
pop ecx
push eax
push 0
lea eax, [ebp - 0x6650]
push eax
lea ecx, [ebx + 0x6c]
call fcn.0043692b
cmp eax, 0xffffffff
je 0x44eca4
push 0xffffffffffffffff
add eax, 0x10
push eax
lea eax, [ebp - 0x6678]
push eax
lea ecx, [ebx + 0x6c]
call fcn.0043a1f8
cmp dword [ebp - 0x6664], 0x10
mov eax, dword [ebp - 0x6678]
jae 0x44ec88
lea eax, [ebp - 0x6678]
push eax
call fcn.0046909a
pop ecx
push 0
push 1
lea ecx, [ebp - 0x6678]
mov dword [ebp - 0x669c], eax
call fcn.0041f4c9
xor edi, edi
push 0x2000
lea eax, [ebp - 0x2637]
push edi
push eax
mov dword [ebp - 0x6680], edi
xor esi, esi
mov byte [ebp - 0x2638], 0
call fcn.00461390
add esp, 0xc
push 0x2001
lea eax, [ebp - 0x2638]
push edi
push eax
call fcn.00461390
add esp, 0xc
lea eax, [ebp - 0x667c]
push eax
push 0x2000
lea eax, [ebp - 0x2638]
push eax
push dword [ebp - 0x6688]
mov dword [ebp - 0x667c], edi
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x44eda4
mov eax, dword [ebp - 0x667c]
add eax, esi
push eax
push dword [ebp - 0x6680]
call fcn.00468fbe
push dword [ebp - 0x667c]
lea ecx, [ebp - 0x2638]
mov dword [ebp - 0x6680], eax
push ecx
add eax, esi
push eax
call fcn.00461410
add esi, dword [ebp - 0x667c]
mov edi, dword [ebx + 0x14]
add esp, 0x14
mov ecx, 0x4c4bc8
push ecx
call fcn.004612b6
test al, al
je 0x44ed6f
test edi, edi
je 0x44ed6f
mov eax, esi
imul eax, eax, 0x64
xor edx, edx
div dword [ebp - 0x669c]
mov ecx, edi
push eax
call fcn.0044c6c0
cmp esi, 0x500000
jbe 0x44ed80
push dword [ebx + 8]
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov eax, dword [ebx + 8]
xor edi, edi
push edi
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x44edbc
push edi
push dword [ebp - 0x6680]
call fcn.00468fbe
pop ecx
pop ecx
jmp 0x44ee3a
cmp dword [ebp - 0x66a0], edi
jbe 0x44ee0f
cmp esi, dword [ebp - 0x66a0]
jne 0x44ee0f
mov dword [ebp - 0x667c], edi
xor edi, edi
cmp dword [ebp - 0x667c], edi
je 0x44edcb
xor edi, edi
jmp 0x44ecca
mov eax, dword [ebx + 0x10]
cmp eax, edi
je 0x44ede3
push dword [ebx + 0x14]
push esi
push dword [ebp - 0x6680]
push 0xc8
call eax
mov dword [ebp - 0x66a4], 1
cmp dword [ebp - 0x6680], edi
je 0x44ee03
push edi
push dword [ebp - 0x6680]
call fcn.00468fbe
pop ecx
pop ecx
mov dword [ebp - 0x6684], 0xc8
jmp 0x44ee3a
mov dword [ebp - 0x6684], 0xfffffffa
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [ebp - 0x6680], edi
je 0x44ee3a
push 0
jmp 0x44ed92
mov eax, dword [ebp - 0x667c]
mov dword [ebp - 0x6684], eax
xor esi, esi
cmp dword [ebp - 0x6688], esi
je 0x44ee50
push dword [ebp - 0x6688]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
cmp dword [ebp - 0x6698], esi
je 0x44ee64
push dword [ebp - 0x6698]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
cmp dword [ebp - 0x6694], esi
je 0x44ee78
push dword [ebp - 0x6694]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
cmp dword [ebp - 0x66a4], esi
jne 0x44ee94
mov eax, dword [ebx + 0x10]
cmp eax, esi
je 0x44ee94
push dword [ebx + 0x14]
push esi
push esi
push dword [ebp - 0x6684]
call eax
mov eax, dword [ebp - 0x6684]
jmp 0x44e780