Function at 0x422940
Capabilities:
Connect to http server
Create http request
Get http content length
Send data
Send http request

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4a8f28
mov eax, dword fs:[0]
push eax
push ecx
sub esp, 0x8ec
mov eax, dword [0x4cd724]
xor eax, ebp
mov dword [ebp - 0x18], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x860], 0
mov dword [ebp - 0x85c], 0x8000000
mov dword [ebp - 0x814], 0
mov dword [ebp - 0x7b8], 0
push 0x24c
push 0
lea eax, [ebp - 0x7b4]
push eax
call fcn.004677c0
add esp, 0xc
mov dword [ebp - 0x568], 0
push 0x24c
push 0
lea ecx, [ebp - 0x564]
push ecx
call fcn.004677c0
add esp, 0xc
mov dword [ebp - 0x878], 0
mov dword [ebp - 0x874], 0
mov dword [ebp - 0x800], 0
mov dword [ebp - 0x7fc], 0
lea edx, [ebp - 0x7b8]
push edx
mov eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 0x80c], eax
cmp dword [ebp - 0x80c], 0xffffffff
jne 0x422a2a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
xor eax, eax
jmp 0x423486
mov edx, dword [ebp - 0x80c]
push edx
call dword [sym.imp.KERNEL32.dll_FindClose]
mov esi, dword [ebp - 0x798]
xor edi, edi
mov eax, dword [ebp - 0x79c]
xor edx, edx
mov cl, 0x20
call fcn.0046d470
or eax, esi
or edx, edi
mov dword [ebp - 0x878], eax
mov dword [ebp - 0x874], edx
mov dword [ebp - 0x868], 0
mov dword [ebp - 0x864], 0
mov dword [ebp - 0x804], 0
mov dword [ebp - 0x808], 0
xor eax, eax
mov word [ebp - 0x318], ax
push 0xfe
push 0
lea ecx, [ebp - 0x316]
push ecx
call fcn.004677c0
add esp, 0xc
xor edx, edx
mov word [ebp - 0x858], dx
push 0x3e
push 0
lea eax, [ebp - 0x856]
push eax
call fcn.004677c0
add esp, 0xc
xor ecx, ecx
mov word [ebp - 0x7f8], cx
push 0x3e
push 0
lea edx, [ebp - 0x7f6]
push edx
call fcn.004677c0
add esp, 0xc
xor eax, eax
mov word [ebp - 0x218], ax
push 0x1fe
push 0
lea ecx, [ebp - 0x216]
push ecx
call fcn.004677c0
add esp, 0xc
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x86c], 0
lea edx, [ebp - 0x86c]
push edx
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x7f8]
push ecx
lea edx, [ebp - 0x858]
push edx
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x318]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.00420bb0
add esp, 0x1c
mov dword [ebp - 4], 0
cmp dword [ebp - 0x14], 5
jne 0x422cd9
lea eax, [ebp - 0x568]
push eax
lea ecx, [ebp - 0x218]
push ecx
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 0x810], eax
cmp dword [ebp - 0x810], 0xffffffff
jne 0x422b9b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [ebp + 0x10]
mov dword [edx], eax
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
mov dword [ebp - 0x8a4], ecx
push 0x4c6b94
lea edx, [ebp - 0x8a4]
push edx
call fcn.00467f72
mov eax, dword [ebp - 0x810]
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
cmp dword [ebp + 0x14], 0
je 0x422c01
lea ecx, [ebp - 0x554]
push ecx
lea edx, [ebp - 0x7a4]
push edx
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
xor ecx, ecx
test eax, eax
setl cl
mov dword [ebp - 0x814], ecx
mov edx, dword [ebp - 0x814]
push edx
mov eax, dword [ebp - 0x550]
push eax
mov ecx, dword [ebp - 0x554]
push ecx
mov edx, dword [ebp - 0x7a0]
push edx
mov eax, dword [ebp - 0x7a4]
push eax
push 0x4b2050
call fcn.00456a00
add esp, 0x18
jmp 0x422c10
xor ecx, ecx
cmp dword [ebp + 0x14], 0
sete cl
mov dword [ebp - 0x814], ecx
cmp dword [ebp + 0x18], 0
je 0x422cb8
mov esi, dword [ebp - 0x548]
xor edi, edi
mov eax, dword [ebp - 0x54c]
xor edx, edx
mov cl, 0x20
call fcn.0046d470
or eax, esi
or edx, edi
mov dword [ebp - 0x800], eax
mov dword [ebp - 0x7fc], edx
cmp dword [ebp - 0x814], 0
je 0x422c72
mov edx, dword [ebp - 0x878]
cmp edx, dword [ebp - 0x800]
jne 0x422c66
mov eax, dword [ebp - 0x874]
cmp eax, dword [ebp - 0x7fc]
je 0x422c72
mov dword [ebp - 0x8d4], 1
jmp 0x422c7c
mov dword [ebp - 0x8d4], 0
mov ecx, dword [ebp - 0x8d4]
mov dword [ebp - 0x814], ecx
mov edx, dword [ebp - 0x814]
push edx
mov eax, dword [ebp - 0x7fc]
push eax
mov ecx, dword [ebp - 0x800]
push ecx
mov edx, dword [ebp - 0x874]
push edx
mov eax, dword [ebp - 0x878]
push eax
push 0x4b20b8
call fcn.00456a00
add esp, 0x18
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
mov dword [ebp - 0x8a8], edx
push 0x4c6b94
lea eax, [ebp - 0x8a8]
push eax
call fcn.00467f72
jmp 0x4233e6
cmp dword [ebp - 0x14], 3
je 0x422cef
cmp dword [ebp - 0x14], 4
je 0x422cef
cmp dword [ebp - 0x14], 1
jne 0x4233dd
push 0
push 0
push 0
push 0
push str.CheckNewFile
call dword [sym.imp.WININET.dll_InternetOpenW]
mov dword [ebp - 0x868], eax
cmp dword [ebp - 0x868], 0
je 0x422d1a
cmp dword [0x4e7810], 0
je 0x422d5c
push 0
push 0
push 0
push str.CheckNewFile____InternetOpen
push 0
call fcn.0040ec80
add esp, 0x14
mov dword [ebp - 0x8d8], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp - 0x8d8]
mov dword [ecx], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
mov dword [ebp - 0x8ac], ecx
push 0x4c6b94
lea edx, [ebp - 0x8ac]
push edx
call fcn.00467f72
cmp dword [ebp - 0x14], 3
je 0x422d6c
cmp dword [ebp - 0x14], 4
jne 0x42319d
push 0
mov eax, dword [ebp - 0x85c]
push eax
push 3
lea ecx, [ebp - 0x7f8]
push ecx
lea edx, [ebp - 0x858]
push edx
movzx eax, word [ebp - 0x86c]
push eax
lea ecx, [ebp - 0x318]
push ecx
mov edx, dword [ebp - 0x868]
push edx
call dword [sym.imp.WININET.dll_InternetConnectW]
mov dword [ebp - 0x864], eax
cmp dword [ebp - 0x864], 0
je 0x422db9
cmp dword [0x4e7810], 0
je 0x422dfb
push 0
push 0
push 0
push 0x4b2168
push 0
call fcn.0040ec80
add esp, 0x14
mov dword [ebp - 0x8dc], eax
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x8dc]
mov dword [eax], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx]
mov dword [ebp - 0x8b0], eax
push 0x4c6b94
lea ecx, [ebp - 0x8b0]
push ecx
call fcn.00467f72
push 0
push 0x4400200
push 0
push 0
push 0
lea edx, [ebp - 0x218]
push edx
push 0x4b21a8
mov eax, dword [ebp - 0x864]
push eax
call dword [sym.imp.WININET.dll_HttpOpenRequestW]
mov dword [ebp - 0x804], eax
cmp dword [ebp - 0x804], 0
je 0x422e39
cmp dword [0x4e7810], 0
je 0x422e7b
push 0
push 0
push 0
push str.CheckNewFile____HttpOpenRequest
push 0
call fcn.0040ec80
add esp, 0x14
mov dword [ebp - 0x8e0], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp - 0x8e0]
mov dword [ecx], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
mov dword [ebp - 0x8b4], ecx
push 0x4c6b94
lea edx, [ebp - 0x8b4]
push edx
call fcn.00467f72
push 0
push 0
push 0
push 0
mov eax, dword [ebp - 0x804]
push eax
call dword [sym.imp.WININET.dll_HttpSendRequestW]
mov dword [ebp - 0x87c], eax
cmp dword [ebp - 0x87c], 0
je 0x422ea8
cmp dword [0x4e7810], 0
je 0x422eea
push 0
push 0
push 0
push str.CheckNewFile____HttpSendRequest
push 0
call fcn.0040ec80
add esp, 0x14
mov dword [ebp - 0x8e4], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp - 0x8e4]
mov dword [ecx], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
mov dword [ebp - 0x8b8], ecx
push 0x4c6b94
lea edx, [ebp - 0x8b8]
push edx
call fcn.00467f72
lea eax, [ebp - 0x860]
push eax
mov ecx, dword [ebp - 0x804]
push ecx
call fcn.00421960
add esp, 8
mov dword [ebp - 0x8e8], eax
mov edx, dword [ebp - 0x8e8]
mov dword [ebp - 0x884], edx
cmp dword [ebp - 0x860], 0
je 0x422f62
push 0
push 0
push 0
push str.GetHttpStatusCode
mov eax, dword [ebp - 0x860]
push eax
call fcn.0040ec80
add esp, 0x14
mov dword [ebp - 0x8ec], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp - 0x8ec]
mov dword [ecx], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
mov dword [ebp - 0x8bc], ecx
push 0x4c6b94
lea edx, [ebp - 0x8bc]
push edx
call fcn.00467f72
cmp dword [ebp - 0x884], 0x12c
jb 0x422fa4
mov eax, dword [ebp - 0x884]
sub eax, 0x194
neg eax
sbb eax, eax
and eax, 3
add eax, 2
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
mov edx, dword [ebp + 0x10]
mov eax, dword [edx]
mov dword [ebp - 0x8c0], eax
push 0x4c6b94
lea ecx, [ebp - 0x8c0]
push ecx
call fcn.00467f72
mov dword [ebp - 0x880], 0
cmp dword [ebp + 0x14], 0
je 0x423092
mov dword [ebp - 0x880], 0x10
xor edx, edx
mov word [ebp - 0x894], dx
xor eax, eax
mov dword [ebp - 0x892], eax
mov dword [ebp - 0x88e], eax
mov dword [ebp - 0x88a], eax
mov word [ebp - 0x886], ax
mov dword [ebp - 0x89c], 0
xor ecx, ecx
mov dword [ebp - 0x898], ecx
push 0
lea edx, [ebp - 0x880]
push edx
lea eax, [ebp - 0x894]
push eax
push 0x4000000b
mov ecx, dword [ebp - 0x804]
push ecx
call dword [sym.imp.WININET.dll_HttpQueryInfoW]
test eax, eax
je 0x423085
lea edx, [ebp - 0x89c]
push edx
lea eax, [ebp - 0x894]
push eax
call dword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
lea ecx, [ebp - 0x89c]
push ecx
lea edx, [ebp - 0x7a4]
push edx
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
xor ecx, ecx
test eax, eax
setl cl
mov dword [ebp - 0x814], ecx
mov edx, dword [ebp - 0x814]
push edx
mov eax, dword [ebp - 0x550]
push eax
mov ecx, dword [ebp - 0x554]
push ecx
mov edx, dword [ebp - 0x7a0]
push edx
mov eax, dword [ebp - 0x7a4]
push eax
push 0x4b2258
call fcn.00456a00
add esp, 0x18
jmp 0x423090
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
jmp 0x4230a1
xor edx, edx
cmp dword [ebp + 0x14], 0
sete dl
mov dword [ebp - 0x814], edx
cmp dword [ebp + 0x18], 0
je 0x42317c
mov dword [ebp - 0x8a0], 0
mov dword [ebp - 0x880], 4
push 0
lea eax, [ebp - 0x880]
push eax
lea ecx, [ebp - 0x8a0]
push ecx
push 0x20000005
mov edx, dword [ebp - 0x804]
push edx
call dword [sym.imp.WININET.dll_HttpQueryInfoW]
test eax, eax
je 0x423142
mov eax, dword [ebp - 0x8a0]
xor ecx, ecx
mov dword [ebp - 0x800], eax
mov dword [ebp - 0x7fc], ecx
cmp dword [ebp - 0x814], 0
je 0x42312a
mov edx, dword [ebp - 0x878]
cmp edx, dword [ebp - 0x800]
jne 0x42311e
mov eax, dword [ebp - 0x874]
cmp eax, dword [ebp - 0x7fc]
je 0x42312a
mov dword [ebp - 0x8f0], 1
jmp 0x423134
mov dword [ebp - 0x8f0], 0
mov ecx, dword [ebp - 0x8f0]
mov dword [ebp - 0x814], ecx
jmp 0x42314c
mov dword [ebp - 0x814], 0
mov edx, dword [ebp - 0x814]
push edx
mov eax, dword [ebp - 0x7fc]
push eax
mov ecx, dword [ebp - 0x800]
push ecx
mov edx, dword [ebp - 0x874]
push edx
mov eax, dword [ebp - 0x878]
push eax
push 0x4b22c0
call fcn.00456a00
add esp, 0x18
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
mov dword [ebp - 0x8c4], edx
push 0x4c6b94
lea eax, [ebp - 0x8c4]
push eax
call fcn.00467f72
jmp 0x4233db
cmp dword [ebp - 0x14], 1
jne 0x4233db
push 0
mov ecx, dword [ebp - 0x85c]
push ecx
push 1
lea edx, [ebp - 0x7f8]
push edx
lea eax, [ebp - 0x858]
push eax
movzx ecx, word [ebp - 0x86c]
push ecx
lea edx, [ebp - 0x318]
push edx
mov eax, dword [ebp - 0x868]
push eax
call dword [sym.imp.WININET.dll_InternetConnectW]
mov dword [ebp - 0x864], eax
cmp dword [ebp - 0x864], 0
je 0x4231f4
cmp dword [0x4e7810], 0
je 0x423236
push 0
push 0
push 0
push str.CheckNewFile____InternetConnect
push 0
call fcn.0040ec80
add esp, 0x14
mov dword [ebp - 0x8f4], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp - 0x8f4]
mov dword [ecx], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
mov dword [ebp - 0x8c8], ecx
push 0x4c6b94
lea edx, [ebp - 0x8c8]
push edx
call fcn.00467f72
push 0
push 0x10
lea eax, [ebp - 0x568]
push eax
lea ecx, [ebp - 0x218]
push ecx
mov edx, dword [ebp - 0x864]
push edx
call dword [sym.imp.WININET.dll_FtpFindFirstFileW]
mov dword [ebp - 0x808], eax
cmp dword [ebp - 0x808], 0
je 0x42326d
cmp dword [0x4e7810], 0
je 0x4232af
push 0
push 0
push 0
push str.CheckNewFile____FtpFindFirstFile
push 0
call fcn.0040ec80
add esp, 0x14
mov dword [ebp - 0x8f8], eax
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x8f8]
mov dword [eax], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx]
mov dword [ebp - 0x8cc], eax
push 0x4c6b94
lea ecx, [ebp - 0x8cc]
push ecx
call fcn.00467f72
cmp dword [ebp + 0x14], 0
je 0x423308
lea edx, [ebp - 0x554]
push edx
lea eax, [ebp - 0x7a4]
push eax
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
xor ecx, ecx
test eax, eax
setl cl
mov dword [ebp - 0x814], ecx
mov edx, dword [ebp - 0x814]
push edx
mov eax, dword [ebp - 0x550]
push eax
mov ecx, dword [ebp - 0x554]
push ecx
mov edx, dword [ebp - 0x7a0]
push edx
mov eax, dword [ebp - 0x7a4]
push eax
push str.CheckNewFile____CompareFileTime__d___d____0___d
call fcn.00456a00
add esp, 0x18
jmp 0x423317
xor ecx, ecx
cmp dword [ebp + 0x14], 0
sete cl
mov dword [ebp - 0x814], ecx
cmp dword [ebp + 0x18], 0
je 0x4233bf
mov esi, dword [ebp - 0x548]
xor edi, edi
mov eax, dword [ebp - 0x54c]
xor edx, edx
mov cl, 0x20
call fcn.0046d470
or eax, esi
or edx, edi
mov dword [ebp - 0x800], eax
mov dword [ebp - 0x7fc], edx
cmp dword [ebp - 0x814], 0
je 0x423379
mov edx, dword [ebp - 0x878]
cmp edx, dword [ebp - 0x800]
jne 0x42336d
mov eax, dword [ebp - 0x874]
cmp eax, dword [ebp - 0x7fc]
je 0x423379
mov dword [ebp - 0x8fc], 1
jmp 0x423383
mov dword [ebp - 0x8fc], 0
mov ecx, dword [ebp - 0x8fc]
mov dword [ebp - 0x814], ecx
mov edx, dword [ebp - 0x814]
push edx
mov eax, dword [ebp - 0x7fc]
push eax
mov ecx, dword [ebp - 0x800]
push ecx
mov edx, dword [ebp - 0x874]
push edx
mov eax, dword [ebp - 0x878]
push eax
push str.CheckNewFile____Size:__I64u____I64u___d
call fcn.00456a00
add esp, 0x18
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
mov dword [ebp - 0x8d0], edx
push 0x4c6b94
lea eax, [ebp - 0x8d0]
push eax
call fcn.00467f72
jmp 0x4233e6
mov ecx, dword [ebp + 0x10]
mov dword [ecx], 0x57
jmp 0x4233f5
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x808], 0
je 0x423412
mov edx, dword [ebp - 0x808]
push edx
call dword [sym.imp.WININET.dll_InternetCloseHandle]
cmp dword [ebp - 0x804], 0
je 0x423428
mov eax, dword [ebp - 0x804]
push eax
call dword [sym.imp.WININET.dll_InternetCloseHandle]
cmp dword [ebp - 0x864], 0
je 0x42343e
mov ecx, dword [ebp - 0x864]
push ecx
call dword [sym.imp.WININET.dll_InternetCloseHandle]
cmp dword [ebp - 0x868], 0
je 0x423454
mov edx, dword [ebp - 0x868]
push edx
call dword [sym.imp.WININET.dll_InternetCloseHandle]
cmp dword [0x4e7810], 0
je 0x423466
mov eax, dword [ebp + 0x10]
mov dword [eax], 0x4c7
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp - 0x814]
push eax
push str.CheckNewFile____End__d____d_
call fcn.00456a00
add esp, 0xc
mov eax, dword [ebp - 0x814]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x18]
xor ecx, ebp
call fcn.004677af
mov esp, ebp
pop ebp
ret