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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xde4
push ebx
push esi
mov esi, dword [ebp + 8]
xor ebx, ebx
cmp esi, ebx
push edi
jne 0x449a98
or eax, 0xffffffff
jmp 0x449ffa
push 0x3f
xor eax, eax
pop ecx
lea edi, [ebp - 0x3f6]
mov word [ebp - 0x3f8], bx
push 0xb
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
pop ecx
xor eax, eax
lea edi, [ebp - 0x56]
mov word [ebp - 0x58], bx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 7
xor eax, eax
pop ecx
lea edi, [ebp - 0x76]
mov word [ebp - 0x78], bx
mov edx, 0x81
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ecx, edx
xor eax, eax
lea edi, [ebp - 0x5fe]
mov word [ebp - 0x600], bx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ecx, edx
xor eax, eax
lea edi, [ebp - 0x806]
mov word [ebp - 0x808], bx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [ebp - 0x28]
mov ecx, esi
push eax
lea eax, [ebp - 0x808]
push eax
lea eax, [ebp - 0x600]
push eax
mov dword [ebp - 0x10], ebx
push dword [esi + 8]
mov dword [ebp - 0x20], ebx
mov dword [ebp + 8], ebx
mov dword [ebp - 8], ebx
mov dword [ebp - 0x28], 0x50
call fcn.00449613
test eax, eax
jne 0x449b3c
mov dword [ebp - 0x10], 0xfffffffe
jmp 0x449fe6
push ebx
push ebx
push ebx
mov edi, 0x4d6e34
push ebx
push edi
call dword [sym.imp.WININET.dll_InternetOpenW]
cmp eax, ebx
mov dword [ebp - 0x24], eax
jne 0x449b5f
mov dword [ebp - 0x10], 0xfffffffd
jmp 0x449fd3
push ebx
push ebx
push 3
push str.anonymous
push edi
lea ecx, [ebp - 0x600]
push dword [ebp - 0x28]
push ecx
push eax
call dword [sym.imp.WININET.dll_InternetConnectW]
cmp eax, ebx
mov dword [ebp - 0x1c], eax
jne 0x449b8d
mov dword [ebp - 0x10], 0xfffffffc
jmp 0x449fc5
mov ecx, dword [esi + 0x18]
cmp ecx, ebx
je 0x449bac
mov eax, dword [esi + 0x1c]
sub eax, ecx
mov ecx, 0x8c
cdq
idiv ecx
test eax, eax
je 0x449bac
push str.POST
jmp 0x449bb1
push 0x463670
lea eax, [ebp - 0x78]
push eax
call dword [sym.imp.MSVCRT.dll_wcscpy]
pop ecx
lea eax, [ebp - 0x808]
pop ecx
push ebx
push 0x84000000
push ebx
push ebx
push str.HTTP_1.0
push eax
lea eax, [ebp - 0x78]
push eax
push dword [ebp - 0x1c]
call dword [sym.imp.WININET.dll_HttpOpenRequestW]
cmp eax, ebx
mov dword [ebp - 0x14], eax
jne 0x449bf1
mov dword [ebp - 0x10], 0xfffffffb
jmp 0x449fb7
lea eax, [ebp - 0x58]
push 0x18
push eax
mov ecx, esi
call fcn.0044975e
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x3f8]
push str.Content_Type:_multipart_form_data__boundary____________________________s_r_n
push eax
call dword [sym.imp.MSVCRT.dll_swprintf]
add esp, 0xc
lea eax, [ebp - 0x3f8]
push 0xa0000000
push 0xffffffffffffffff
push eax
push dword [ebp - 0x14]
call dword [sym.imp.WININET.dll_HttpAddRequestHeadersW]
mov ecx, dword [esi + 0x18]
cmp ecx, ebx
je 0x449e4e
mov eax, dword [esi + 0x1c]
sub eax, ecx
mov ecx, 0x8c
cdq
idiv ecx
test eax, eax
je 0x449e4e
push 0x7f
xor eax, eax
pop ecx
lea edi, [ebp - 0x2f7]
mov byte [ebp - 0x2f8], bl
push 0x1f
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
pop ecx
xor eax, eax
lea edi, [ebp - 0xf7]
mov byte [ebp - 0xf8], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x58]
test eax, eax
jne 0x449c85
xor edi, edi
jmp 0x449cb8
lea eax, [ebp - 0x58]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [eax + eax + 2]
mov dword [ebp - 4], eax
add eax, 3
and al, 0xfc
call fcn.004473e0
mov edi, esp
push ebx
push ebx
lea eax, [ebp - 0x58]
push dword [ebp - 4]
mov byte [edi], bl
push edi
push 0xffffffffffffffff
push eax
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
push edi
lea eax, [ebp - 0xf8]
push str.______________________________s___r_n
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
mov edi, dword [esi + 0x18]
add esp, 0xc
cmp edi, dword [esi + 0x1c]
je 0x449e0f
mov eax, dword [edi + 0x88]
mov dword [ebp - 4], ebx
cmp eax, ebx
jne 0x449d30
lea eax, [ebp - 0x58]
test eax, eax
je 0x449d27
lea eax, [ebp - 0x58]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [eax + eax + 2]
mov dword [ebp - 4], eax
add eax, 3
and al, 0xfc
call fcn.004473e0
mov eax, esp
push ebx
push ebx
mov dword [ebp - 0xc], eax
push dword [ebp - 4]
mov byte [eax], bl
push eax
lea eax, [ebp - 0x58]
push 0xffffffffffffffff
push eax
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov eax, dword [ebp - 0xc]
push edi
push eax
push str.______________________________s_r_nContent_Disposition:_form_data__name__s__r_n_r_n
jmp 0x449d7c
cmp eax, 1
jne 0x449d8f
lea eax, [ebp - 0x58]
test eax, eax
je 0x449d75
lea eax, [ebp - 0x58]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [eax + eax + 2]
mov dword [ebp - 4], eax
add eax, 3
and al, 0xfc
call fcn.004473e0
mov eax, esp
push ebx
push ebx
mov dword [ebp - 0xc], eax
push dword [ebp - 4]
mov byte [eax], bl
push eax
lea eax, [ebp - 0x58]
push 0xffffffffffffffff
push eax
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov eax, dword [ebp - 0xc]
push edi
push eax
push str.______________________________s_r_nContent_Disposition:_form_data__name__s___filename_upload.dat__r_nContent_Type:_application_octet_stream_r_n_r_n
lea eax, [ebp - 0x2f8]
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0x10
mov dword [ebp - 4], eax
mov eax, dword [edi + 0x84]
mov ecx, dword [ebp - 4]
lea eax, [eax + ecx + 2]
mov ecx, dword [ebp - 8]
add eax, ecx
push eax
mov dword [ebp - 0x18], eax
push dword [ebp + 8]
call dword [sym.imp.MSVCRT.dll_realloc]
pop ecx
mov dword [ebp + 8], eax
pop ecx
mov ecx, dword [ebp - 8]
add eax, ecx
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 8], ecx
lea ecx, [ebp - 0x2f8]
push ecx
push eax
mov dword [ebp - 0xc], eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push dword [edi + 0x84]
mov eax, dword [ebp - 0xc]
add eax, dword [ebp - 4]
push dword [edi + 0x80]
mov dword [ebp - 0xc], eax
push eax
call sub.MSVCRT.dll_memcpy
mov eax, dword [edi + 0x84]
push 2
add eax, dword [ebp - 0xc]
push 0x472cc8
push eax
call dword [sym.imp.MSVCRT.dll_strncpy]
add esp, 0x18
add edi, 0x8c
jmp 0x449cd1
lea eax, [ebp - 0xf8]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov edi, dword [ebp - 8]
mov dword [ebp - 0xc], eax
add eax, edi
push eax
mov dword [ebp - 0x18], eax
push dword [ebp + 8]
call dword [sym.imp.MSVCRT.dll_realloc]
push dword [ebp - 0xc]
mov dword [ebp + 8], eax
lea ecx, [ebp - 0xf8]
add eax, edi
mov edi, dword [ebp - 0x18]
push ecx
push eax
call sub.MSVCRT.dll_memcpy
add esp, 0x14
jmp 0x449e51
mov edi, dword [ebp - 8]
push edi
push dword [ebp + 8]
push ebx
push ebx
push dword [ebp - 0x14]
call dword [sym.imp.WININET.dll_HttpSendRequestW]
cmp dword [ebp + 8], ebx
mov edi, eax
je 0x449e73
push ebx
push dword [ebp + 8]
call dword [sym.imp.MSVCRT.dll_realloc]
pop ecx
pop ecx
cmp dword [esi + 0x24], ebx
jne 0x449fb7
cmp edi, ebx
je 0x449fb7
push 0x7f
xor eax, eax
pop ecx
lea edi, [ebp - 0x2f6]
mov word [ebp - 0x2f8], bx
push ebx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x100
push eax
lea eax, [ebp - 0x2f8]
push eax
push 0x13
push dword [ebp - 0x14]
xor edi, edi
call dword [sym.imp.WININET.dll_HttpQueryInfoW]
test eax, eax
je 0x449fb4
lea eax, [ebp - 0x2f8]
push eax
call dword [sym.imp.MSVCRT.dll__wtol]
mov edi, eax
pop ecx
cmp edi, 0xc8
jne 0x449fb4
mov ecx, 0x176
xor eax, eax
lea edi, [ebp - 0xde3]
mov byte [ebp - 0xde4], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov dword [ebp + 8], ebx
mov dword [ebp - 8], ebx
stosb byte es:[edi], al
push 0x5dc
lea eax, [ebp - 0xde4]
push ebx
push eax
call sub.MSVCRT.dll_memset
add esp, 0xc
lea eax, [ebp - 4]
mov dword [ebp - 4], ebx
push eax
lea eax, [ebp - 0xde4]
push 0x400
push eax
push dword [ebp - 0x14]
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x449f9c
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 8]
mov edi, dword [sym.imp.MSVCRT.dll_realloc]
add eax, ecx
push eax
push dword [ebp + 8]
call edi
push dword [ebp - 4]
lea ecx, [ebp - 0xde4]
mov dword [ebp + 8], eax
push ecx
mov ecx, dword [ebp - 8]
add ecx, eax
push ecx
call sub.MSVCRT.dll_memcpy
mov eax, dword [ebp - 4]
add esp, 0x14
add dword [ebp - 8], eax
cmp dword [esi + 0x24], ebx
jne 0x449f92
cmp eax, ebx
jne 0x449efc
mov eax, dword [esi + 0xc]
cmp eax, ebx
je 0x449f86
push dword [esi + 0x10]
push dword [ebp - 8]
push dword [ebp + 8]
push 0xc8
call eax
cmp dword [ebp + 8], ebx
mov dword [ebp - 0x20], 1
je 0x449fb7
push ebx
push dword [ebp + 8]
call edi
pop ecx
pop ecx
jmp 0x449fb7
cmp dword [ebp + 8], ebx
mov dword [ebp - 0x10], 0xfffffffa
je 0x449fb7
push ebx
push dword [ebp + 8]
call dword [sym.imp.MSVCRT.dll_realloc]
jmp 0x449f98
mov dword [ebp - 0x10], edi
cmp dword [ebp - 0x14], ebx
je 0x449fc5
push dword [ebp - 0x14]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
cmp dword [ebp - 0x1c], ebx
je 0x449fd3
push dword [ebp - 0x1c]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
cmp dword [ebp - 0x24], ebx
je 0x449fe1
push dword [ebp - 0x24]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
cmp dword [ebp - 0x20], ebx
jne 0x449ff7
mov eax, dword [esi + 0xc]
cmp eax, ebx
je 0x449ff7
push dword [esi + 0x10]
push ebx
push ebx
push dword [ebp - 0x10]
call eax
mov eax, dword [ebp - 0x10]
lea esp, [ebp - 0xdf0]
pop edi
pop esi
pop ebx
leave
ret 4