Function at 0x423f60
Capabilities:
Send data
Send http request

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x690
mov eax, dword [0x45407c]
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.0042bf70
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.0042bf70
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 0x42404d
mov eax, dword [esi]
mov ecx, dword [eax + 0x204]
test ecx, ecx
je 0x424002
push str.HttpOpenRequest
push str.ERROR
call fcn.00404920
mov ecx, esi
call fcn.00423670
mov esi, dword [esi]
dec dword [esi + 0x21c]
cmp dword [esi + 0x21c], 0
jle 0x424027
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.004276fb
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi + 0x10]
test eax, eax
jle 0x4240a5
cmp byte [esi + 0x1c], 0
je 0x4240a5
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 0x424080
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 0x4240ac
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 0x4240ea
mov ecx, esi
call fcn.00423670
mov eax, dword [esi]
mov ecx, dword [eax + 0x204]
test ecx, ecx
je 0x424009
push str.HttpSendRequest
push str.ERROR
call fcn.00404920
jmp 0x424009
cmp dword [esi + 4], 0
mov ebx, dword [sym.imp.WININET.dll_HttpQueryInfoW]
jne 0x4241b9
push 0
lea edx, [ebp - 0x688]
push edx
lea eax, [ebp - 0x484]
push eax
push 5
push edi
call ebx
test eax, eax
je 0x424209
push 0
lea ecx, [ebp - 0x484]
push 0
push ecx
call fcn.0042bf51
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.00428080
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 0x424198
test dx, dx
je 0x424194
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x424198
add eax, 4
add ecx, 4
test dx, dx
jne 0x424172
xor eax, eax
jmp 0x42419d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4241b9
mov eax, dword [esi + 0x14]
lea edx, [ebp - 0x284]
push edx
push 0x100
push eax
call fcn.00428080
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 0x42423e
test dx, dx
je 0x424205
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x42423e
add eax, 4
add ecx, 4
test dx, dx
jne 0x4241e3
xor eax, eax
jmp 0x424243
push edi
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov eax, dword [esi]
mov ecx, dword [eax + 0x204]
test ecx, ecx
je 0x42422b
push str.HttpQueryInfo
push str.ERROR
call fcn.00404920
mov ecx, esi
call fcn.00423670
mov eax, esi
call fcn.00424680
jmp 0x424038
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x42424b
mov byte [esi + 0x1c], 1
mov ecx, dword [ebp - 4]
mov eax, edi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004276fb
mov esp, ebp
pop ebp
ret 4