Function at 0x42f590
Capabilities:
Send data
Send http request

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x690
mov eax, dword [0x469090]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
xor eax, eax
push 0x1fe
mov esi, ecx
push eax
lea ecx, [ebp - 0x482]
push ecx
mov edi, edx
mov word [ebp - 0x484], ax
call fcn.0043c0c0
xor edx, edx
push 0x1fe
push edx
lea eax, [ebp - 0x282]
push eax
mov dword [ebp - 0x688], 0x200
mov word [ebp - 0x284], dx
call fcn.0043c0c0
add esp, 0x18
push 0
push 0x84400000
push 0
push 0
push 0
push ebx
push 0
push edi
mov dword [ebp - 0x68c], 0x200
call dword [sym.imp.WININET.dll_HttpOpenRequestW]
mov edi, eax
test edi, edi
jne 0x42f67d
mov eax, dword [esi]
mov ecx, dword [eax + 0x204]
test ecx, ecx
je 0x42f632
push str.HttpOpenRequest
push str.ERROR
call fcn.0040c980
mov ecx, esi
call fcn.0042ed00
mov esi, dword [esi]
dec dword [esi + 0x21c]
cmp dword [esi + 0x21c], 0
jle 0x42f657
mov ecx, dword [esi + 0x220]
push ecx
call dword [sym.imp.KERNEL32.DLL_Sleep]
mov eax, 0x2710
add dword [esi + 0x218], eax
add dword [esi + 0x214], eax
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0043722b
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi + 0x10]
test eax, eax
jle 0x42f6d5
cmp byte [esi + 0x1c], 0
je 0x42f6d5
push eax
lea edx, [ebp - 0x684]
push str.Range:_bytes_d_
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [ebp - 0x684]
add esp, 0xc
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x42f6b0
sub eax, edx
push 0x20000000
sar eax, 1
push eax
lea eax, [ebp - 0x684]
push eax
push edi
call dword [sym.imp.WININET.dll_HttpAddRequestHeadersW]
jmp 0x42f6dc
mov dword [esi + 0x10], 0
push 0
push 0
push 0
push 0
push edi
call dword [sym.imp.WININET.dll_HttpSendRequestW]
test eax, eax
jne 0x42f71a
mov ecx, esi
call fcn.0042ed00
mov eax, dword [esi]
mov ecx, dword [eax + 0x204]
test ecx, ecx
je 0x42f639
push str.HttpSendRequest
push str.ERROR
call fcn.0040c980
jmp 0x42f639
cmp dword [esi + 4], 0
mov ebx, dword [sym.imp.WININET.dll_HttpQueryInfoW]
jne 0x42f7e9
push 0
lea edx, [ebp - 0x688]
push edx
lea eax, [ebp - 0x484]
push eax
push 5
push edi
call ebx
test eax, eax
je 0x42f839
push 0
lea ecx, [ebp - 0x484]
push 0
push ecx
call fcn.0043bd62
mov edx, dword [esi]
mov dword [esi + 4], eax
push str.Content_MD5
mov dword [edx], eax
lea eax, [ebp - 0x284]
push 0x100
push eax
call fcn.0043782b
add esp, 0x18
push 0
lea ecx, [ebp - 0x68c]
push ecx
lea edx, [ebp - 0x284]
push edx
push 0xffff
push edi
call ebx
mov eax, dword [esi + 0x14]
xor ecx, ecx
mov word [eax], cx
lea ecx, [ebp - 0x284]
mov eax, str.Content_MD5
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x42f7c8
test dx, dx
je 0x42f7c4
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x42f7c8
add eax, 4
add ecx, 4
test dx, dx
jne 0x42f7a2
xor eax, eax
jmp 0x42f7cd
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x42f7e9
mov eax, dword [esi + 0x14]
lea edx, [ebp - 0x284]
push edx
push 0x100
push eax
call fcn.0043782b
add esp, 0xc
push 0
lea ecx, [ebp - 0x690]
push ecx
lea edx, [ebp - 0x84]
push edx
push 0x2a
push edi
mov dword [ebp - 0x690], 0x40
call ebx
lea ecx, [ebp - 0x84]
mov eax, str.bytes
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x42f86e
test dx, dx
je 0x42f835
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x42f86e
add eax, 4
add ecx, 4
test dx, dx
jne 0x42f813
xor eax, eax
jmp 0x42f873
push edi
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov eax, dword [esi]
mov ecx, dword [eax + 0x204]
test ecx, ecx
je 0x42f85b
push str.HttpQueryInfo
push str.ERROR
call fcn.0040c980
mov ecx, esi
call fcn.0042ed00
mov eax, esi
call fcn.0042fcb0
jmp 0x42f668
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x42f87b
mov byte [esi + 0x1c], 1
mov ecx, dword [ebp - 4]
mov eax, edi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0043722b
mov esp, ebp
pop ebp
ret 4