Function at 0x4229a0
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 0x4a97a8
mov eax, dword fs:[0]
push eax
push ecx
sub esp, 0x8ec
mov eax, dword [0x4ce724]
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.00468010
add esp, 0xc
mov dword [ebp - 0x568], 0
push 0x24c
push 0
lea ecx, [ebp - 0x564]
push ecx
call fcn.00468010
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 0x422a8a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
xor eax, eax
jmp 0x4234e6
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.0046dcc0
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.00468010
add esp, 0xc
xor edx, edx
mov word [ebp - 0x858], dx
push 0x3e
push 0
lea eax, [ebp - 0x856]
push eax
call fcn.00468010
add esp, 0xc
xor ecx, ecx
mov word [ebp - 0x7f8], cx
push 0x3e
push 0
lea edx, [ebp - 0x7f6]
push edx
call fcn.00468010
add esp, 0xc
xor eax, eax
mov word [ebp - 0x218], ax
push 0x1fe
push 0
lea ecx, [ebp - 0x216]
push ecx
call fcn.00468010
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.00420c10
add esp, 0x1c
mov dword [ebp - 4], 0
cmp dword [ebp - 0x14], 5
jne 0x422d39
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 0x422bfb
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 0x4c7e64
lea edx, [ebp - 0x8a4]
push edx
call fcn.004687c2
mov eax, dword [ebp - 0x810]
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
cmp dword [ebp + 0x14], 0
je 0x422c61
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 0x4b3070
call fcn.00457270
add esp, 0x18
jmp 0x422c70
xor ecx, ecx
cmp dword [ebp + 0x14], 0
sete cl
mov dword [ebp - 0x814], ecx
cmp dword [ebp + 0x18], 0
je 0x422d18
mov esi, dword [ebp - 0x548]
xor edi, edi
mov eax, dword [ebp - 0x54c]
xor edx, edx
mov cl, 0x20
call fcn.0046dcc0
or eax, esi
or edx, edi
mov dword [ebp - 0x800], eax
mov dword [ebp - 0x7fc], edx
cmp dword [ebp - 0x814], 0
je 0x422cd2
mov edx, dword [ebp - 0x878]
cmp edx, dword [ebp - 0x800]
jne 0x422cc6
mov eax, dword [ebp - 0x874]
cmp eax, dword [ebp - 0x7fc]
je 0x422cd2
mov dword [ebp - 0x8d4], 1
jmp 0x422cdc
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 0x4b30d8
call fcn.00457270
add esp, 0x18
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
mov dword [ebp - 0x8a8], edx
push 0x4c7e64
lea eax, [ebp - 0x8a8]
push eax
call fcn.004687c2
jmp 0x423446
cmp dword [ebp - 0x14], 3
je 0x422d4f
cmp dword [ebp - 0x14], 4
je 0x422d4f
cmp dword [ebp - 0x14], 1
jne 0x42343d
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 0x422d7a
cmp dword [0x4e8c5c], 0
je 0x422dbc
push 0
push 0
push 0
push str.CheckNewFile____InternetOpen
push 0
call fcn.0040ece0
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 0x4c7e64
lea edx, [ebp - 0x8ac]
push edx
call fcn.004687c2
cmp dword [ebp - 0x14], 3
je 0x422dcc
cmp dword [ebp - 0x14], 4
jne 0x4231fd
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 0x422e19
cmp dword [0x4e8c5c], 0
je 0x422e5b
push 0
push 0
push 0
push 0x4b3188
push 0
call fcn.0040ece0
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 0x4c7e64
lea ecx, [ebp - 0x8b0]
push ecx
call fcn.004687c2
push 0
push 0x4400200
push 0
push 0
push 0
lea edx, [ebp - 0x218]
push edx
push 0x4b31c8
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 0x422e99
cmp dword [0x4e8c5c], 0
je 0x422edb
push 0
push 0
push 0
push str.CheckNewFile____HttpOpenRequest
push 0
call fcn.0040ece0
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 0x4c7e64
lea edx, [ebp - 0x8b4]
push edx
call fcn.004687c2
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 0x422f08
cmp dword [0x4e8c5c], 0
je 0x422f4a
push 0
push 0
push 0
push str.CheckNewFile____HttpSendRequest
push 0
call fcn.0040ece0
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 0x4c7e64
lea edx, [ebp - 0x8b8]
push edx
call fcn.004687c2
lea eax, [ebp - 0x860]
push eax
mov ecx, dword [ebp - 0x804]
push ecx
call fcn.004219c0
add esp, 8
mov dword [ebp - 0x8e8], eax
mov edx, dword [ebp - 0x8e8]
mov dword [ebp - 0x884], edx
cmp dword [ebp - 0x860], 0
je 0x422fc2
push 0
push 0
push 0
push str.GetHttpStatusCode
mov eax, dword [ebp - 0x860]
push eax
call fcn.0040ece0
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 0x4c7e64
lea edx, [ebp - 0x8bc]
push edx
call fcn.004687c2
cmp dword [ebp - 0x884], 0x12c
jb 0x423004
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 0x4c7e64
lea ecx, [ebp - 0x8c0]
push ecx
call fcn.004687c2
mov dword [ebp - 0x880], 0
cmp dword [ebp + 0x14], 0
je 0x4230f2
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 0x4230e5
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 0x4b3278
call fcn.00457270
add esp, 0x18
jmp 0x4230f0
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
jmp 0x423101
xor edx, edx
cmp dword [ebp + 0x14], 0
sete dl
mov dword [ebp - 0x814], edx
cmp dword [ebp + 0x18], 0
je 0x4231dc
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 0x4231a2
mov eax, dword [ebp - 0x8a0]
xor ecx, ecx
mov dword [ebp - 0x800], eax
mov dword [ebp - 0x7fc], ecx
cmp dword [ebp - 0x814], 0
je 0x42318a
mov edx, dword [ebp - 0x878]
cmp edx, dword [ebp - 0x800]
jne 0x42317e
mov eax, dword [ebp - 0x874]
cmp eax, dword [ebp - 0x7fc]
je 0x42318a
mov dword [ebp - 0x8f0], 1
jmp 0x423194
mov dword [ebp - 0x8f0], 0
mov ecx, dword [ebp - 0x8f0]
mov dword [ebp - 0x814], ecx
jmp 0x4231ac
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 0x4b32e0
call fcn.00457270
add esp, 0x18
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
mov dword [ebp - 0x8c4], edx
push 0x4c7e64
lea eax, [ebp - 0x8c4]
push eax
call fcn.004687c2
jmp 0x42343b
cmp dword [ebp - 0x14], 1
jne 0x42343b
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 0x423254
cmp dword [0x4e8c5c], 0
je 0x423296
push 0
push 0
push 0
push str.CheckNewFile____InternetConnect
push 0
call fcn.0040ece0
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 0x4c7e64
lea edx, [ebp - 0x8c8]
push edx
call fcn.004687c2
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 0x4232cd
cmp dword [0x4e8c5c], 0
je 0x42330f
push 0
push 0
push 0
push str.CheckNewFile____FtpFindFirstFile
push 0
call fcn.0040ece0
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 0x4c7e64
lea ecx, [ebp - 0x8cc]
push ecx
call fcn.004687c2
cmp dword [ebp + 0x14], 0
je 0x423368
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.00457270
add esp, 0x18
jmp 0x423377
xor ecx, ecx
cmp dword [ebp + 0x14], 0
sete cl
mov dword [ebp - 0x814], ecx
cmp dword [ebp + 0x18], 0
je 0x42341f
mov esi, dword [ebp - 0x548]
xor edi, edi
mov eax, dword [ebp - 0x54c]
xor edx, edx
mov cl, 0x20
call fcn.0046dcc0
or eax, esi
or edx, edi
mov dword [ebp - 0x800], eax
mov dword [ebp - 0x7fc], edx
cmp dword [ebp - 0x814], 0
je 0x4233d9
mov edx, dword [ebp - 0x878]
cmp edx, dword [ebp - 0x800]
jne 0x4233cd
mov eax, dword [ebp - 0x874]
cmp eax, dword [ebp - 0x7fc]
je 0x4233d9
mov dword [ebp - 0x8fc], 1
jmp 0x4233e3
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.00457270
add esp, 0x18
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
mov dword [ebp - 0x8d0], edx
push 0x4c7e64
lea eax, [ebp - 0x8d0]
push eax
call fcn.004687c2
jmp 0x423446
mov ecx, dword [ebp + 0x10]
mov dword [ecx], 0x57
jmp 0x423455
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x808], 0
je 0x423472
mov edx, dword [ebp - 0x808]
push edx
call dword [sym.imp.WININET.dll_InternetCloseHandle]
cmp dword [ebp - 0x804], 0
je 0x423488
mov eax, dword [ebp - 0x804]
push eax
call dword [sym.imp.WININET.dll_InternetCloseHandle]
cmp dword [ebp - 0x864], 0
je 0x42349e
mov ecx, dword [ebp - 0x864]
push ecx
call dword [sym.imp.WININET.dll_InternetCloseHandle]
cmp dword [ebp - 0x868], 0
je 0x4234b4
mov edx, dword [ebp - 0x868]
push edx
call dword [sym.imp.WININET.dll_InternetCloseHandle]
cmp dword [0x4e8c5c], 0
je 0x4234c6
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.00457270
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.00467fff
mov esp, ebp
pop ebp
ret