Function at 0x445ad0
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 0x48a500
mov eax, dword fs:[0]
push eax
sub esp, 0x8a4
mov eax, dword [0x4af6f0]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov eax, dword [ebp + 8]
xor ebx, ebx
mov edi, dword [ebp + 0x10]
mov esi, dword [ebp + 0xc]
push 0x24c
mov dword [ebp - 0x86c], eax
lea eax, [ebp - 0x840]
push ebx
push eax
mov dword [ebp - 0x874], edi
mov dword [ebp - 0x858], 0
mov dword [ebp - 0x848], ebx
mov dword [ebp - 0x844], ebx
call fcn.0046f6e0
push 0x24c
lea eax, [ebp - 0x5f0]
mov dword [ebp - 0x5f4], ebx
push ebx
push eax
call fcn.0046f6e0
add esp, 0x18
lea eax, [ebp - 0x844]
xorps xmm0, xmm0
movlpd qword [ebp - 0x8b0], xmm0
push eax
push esi
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
cmp eax, 0xffffffff
jne 0x445b88
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [edi], eax
xor eax, eax
jmp 0x44634c
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
mov ecx, dword [ebp - 0x828]
xor eax, eax
or eax, dword [ebp - 0x824]
xor esi, esi
mov dword [ebp - 0x854], eax
xor eax, eax
push 0xfe
push eax
mov word [ebp - 0x194], ax
lea eax, [ebp - 0x192]
push eax
mov dword [ebp - 0x84c], ecx
mov dword [ebp - 0x860], esi
mov dword [ebp - 0x864], ebx
mov dword [ebp - 0x868], ebx
mov dword [ebp - 0x878], ebx
call fcn.0046f6e0
xor eax, eax
push 0x3e
push eax
mov word [ebp - 0x94], ax
lea eax, [ebp - 0x92]
push eax
call fcn.0046f6e0
xor eax, eax
push 0x3e
push eax
mov word [ebp - 0x54], ax
lea eax, [ebp - 0x52]
push eax
call fcn.0046f6e0
xor eax, eax
push 0x1fe
push eax
mov word [ebp - 0x394], ax
lea eax, [ebp - 0x392]
push eax
call fcn.0046f6e0
lea eax, [ebp - 0x85c]
mov dword [ebp - 0x850], ebx
push eax
lea eax, [ebp - 0x850]
mov dword [ebp - 0x85c], ebx
push eax
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x94]
push eax
lea eax, [ebp - 0x394]
push eax
lea eax, [ebp - 0x194]
push eax
push dword [ebp - 0x86c]
call fcn.004479d0
mov eax, dword [ebp - 0x850]
add esp, 0x4c
mov dword [ebp - 4], esi
cmp eax, 5
jne 0x445d75
lea eax, [ebp - 0x5f4]
push eax
lea eax, [ebp - 0x394]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
cmp eax, 0xffffffff
jne 0x445cae
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [edi], eax
mov dword [ebp - 0x88c], eax
lea eax, [ebp - 0x88c]
push 0x4a93ac
push eax
call fcn.0046ec09
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
cmp dword [ebp + 0x14], 0
je 0x445d04
lea eax, [ebp - 0x5e0]
push eax
lea eax, [ebp - 0x830]
push eax
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
xor ebx, ebx
test eax, eax
sets bl
push ebx
push dword [ebp - 0x5dc]
mov dword [ebp - 0x848], ebx
push dword [ebp - 0x5e0]
push dword [ebp - 0x82c]
push dword [ebp - 0x830]
push str.CheckNewFile____CompareFileTime__d___d____0___d
call fcn.00469290
add esp, 0x18
jmp 0x445d0f
mov ebx, 1
mov dword [ebp - 0x848], ebx
cmp dword [ebp + 0x18], 0
je 0x445d5c
mov edx, dword [ebp - 0x5d8]
xor ecx, ecx
or ecx, dword [ebp - 0x5d4]
test ebx, ebx
mov esi, dword [ebp - 0x854]
mov ebx, dword [ebp - 0x84c]
je 0x445d42
cmp esi, ecx
jne 0x445d3b
cmp ebx, edx
je 0x445d42
mov eax, 1
jmp 0x445d44
xor eax, eax
push eax
push edx
push ecx
push ebx
push esi
push str.CheckNewFile____Size:__I64u____I64u___d
mov dword [ebp - 0x848], eax
call fcn.00469290
add esp, 0x18
mov eax, dword [edi]
mov dword [ebp - 0x880], eax
lea eax, [ebp - 0x880]
push 0x4a93ac
push eax
call fcn.0046ec09
cmp eax, 3
je 0x445d96
cmp eax, 4
je 0x445d96
cmp eax, 1
je 0x445d96
mov dword [edi], 0x57
mov dword [ebp - 4], 0xffffffff
jmp 0x446320
push 0
push 0
push 0
push 0
push str.CheckNewFile
call dword [sym.imp.WININET.dll_InternetOpenW]
mov esi, eax
mov dword [ebp - 0x860], esi
test esi, esi
je 0x4462a6
cmp dword [0x4b552c], 0
jne 0x4462a6
mov eax, dword [ebp - 0x850]
cmp eax, 3
je 0x445f75
cmp eax, 4
je 0x445f75
cmp eax, 1
jne 0x445d8a
push 0
push 0x8000000
push eax
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x94]
push eax
push dword [ebp - 0x85c]
lea eax, [ebp - 0x194]
push eax
push esi
call dword [sym.imp.WININET.dll_InternetConnectW]
mov dword [ebp - 0x864], eax
test eax, eax
je 0x445f47
cmp dword [0x4b552c], 0
jne 0x445f47
push 0
push 0x10
lea ecx, [ebp - 0x5f4]
push ecx
lea ecx, [ebp - 0x394]
push ecx
push eax
call dword [sym.imp.WININET.dll_FtpFindFirstFileW]
mov dword [ebp - 0x878], eax
test eax, eax
je 0x445f19
cmp dword [0x4b552c], 0
jne 0x445f19
cmp dword [ebp + 0x14], 0
je 0x445ea8
lea eax, [ebp - 0x5e0]
push eax
lea eax, [ebp - 0x830]
push eax
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
xor ebx, ebx
test eax, eax
sets bl
push ebx
push dword [ebp - 0x5dc]
mov dword [ebp - 0x848], ebx
push dword [ebp - 0x5e0]
push dword [ebp - 0x82c]
push dword [ebp - 0x830]
push str.CheckNewFile____CompareFileTime__d___d____0___d
call fcn.00469290
add esp, 0x18
jmp 0x445eb3
mov ebx, 1
mov dword [ebp - 0x848], ebx
cmp dword [ebp + 0x18], 0
je 0x445f00
mov edx, dword [ebp - 0x5d8]
xor ecx, ecx
or ecx, dword [ebp - 0x5d4]
test ebx, ebx
mov esi, dword [ebp - 0x854]
mov ebx, dword [ebp - 0x84c]
je 0x445ee6
cmp esi, ecx
jne 0x445edf
cmp ebx, edx
je 0x445ee6
mov eax, 1
jmp 0x445ee8
xor eax, eax
push eax
push edx
push ecx
push ebx
push esi
push str.CheckNewFile____Size:__I64u____I64u___d
mov dword [ebp - 0x848], eax
call fcn.00469290
add esp, 0x18
mov eax, dword [edi]
mov dword [ebp - 0x884], eax
lea eax, [ebp - 0x884]
push 0x4a93ac
push eax
call fcn.0046ec09
push 0
push 0
push 0
push str.CheckNewFile____FtpFindFirstFile
push 0
call fcn.0043fb20
add esp, 0x14
mov dword [edi], eax
mov dword [ebp - 0x87c], eax
lea eax, [ebp - 0x87c]
push 0x4a93ac
push eax
call fcn.0046ec09
push 0
push 0
push 0
push str.CheckNewFile____InternetConnect
push 0
call fcn.0043fb20
add esp, 0x14
mov dword [edi], eax
mov dword [ebp - 0x894], eax
lea eax, [ebp - 0x894]
push 0x4a93ac
push eax
call fcn.0046ec09
push 0
push 0x8000000
push 3
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x94]
push eax
push dword [ebp - 0x85c]
lea eax, [ebp - 0x194]
push eax
push esi
call dword [sym.imp.WININET.dll_InternetConnectW]
mov dword [ebp - 0x864], eax
test eax, eax
je 0x446278
cmp dword [0x4b552c], 0
jne 0x446278
push 0
push 0x4400200
push 0
push 0
push 0
lea ecx, [ebp - 0x394]
push ecx
push 0x49532c
push eax
call dword [sym.imp.WININET.dll_HttpOpenRequestW]
mov esi, eax
mov dword [ebp - 0x868], esi
test esi, esi
je 0x44624a
cmp dword [0x4b552c], 0
jne 0x44624a
push 0
push 0
push 0
push 0
push esi
call dword [sym.imp.WININET.dll_HttpSendRequestW]
test eax, eax
je 0x44621c
cmp dword [0x4b552c], 0
jne 0x44621c
lea eax, [ebp - 0x858]
push eax
push esi
call fcn.00447850
mov ecx, eax
add esp, 8
mov eax, dword [ebp - 0x858]
test eax, eax
je 0x446062
push 0
push 0
push 0
push str.GetHttpStatusCode
push eax
call fcn.0043fb20
add esp, 0x14
mov dword [edi], eax
mov dword [ebp - 0x89c], eax
lea eax, [ebp - 0x89c]
push 0x4a93ac
push eax
call fcn.0046ec09
cmp ecx, 0x12c
jb 0x446096
cmp ecx, 0x194
mov edx, 2
mov eax, 5
cmove eax, edx
mov dword [edi], eax
mov dword [ebp - 0x8a8], eax
lea eax, [ebp - 0x8a8]
push 0x4a93ac
push eax
call fcn.0046ec09
cmp dword [ebp + 0x14], 0
mov dword [ebp - 0x850], 0
je 0x446167
xor eax, eax
mov dword [ebp - 0x850], 0x10
push eax
mov word [ebp - 0x3a4], ax
xorps xmm0, xmm0
mov dword [ebp - 0x39a], eax
mov word [ebp - 0x396], ax
mov dword [ebp - 0x870], eax
mov dword [ebp - 0x86c], eax
lea eax, [ebp - 0x850]
push eax
lea eax, [ebp - 0x3a4]
movq qword [ebp - 0x3a2], xmm0
push eax
push 0x4000000b
push esi
call dword [sym.imp.WININET.dll_HttpQueryInfoW]
test eax, eax
je 0x44615d
lea eax, [ebp - 0x870]
push eax
lea eax, [ebp - 0x3a4]
push eax
call dword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
lea eax, [ebp - 0x870]
push eax
lea eax, [ebp - 0x830]
push eax
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
xor ebx, ebx
test eax, eax
sets bl
push ebx
push dword [ebp - 0x5dc]
mov dword [ebp - 0x848], ebx
push dword [ebp - 0x5e0]
push dword [ebp - 0x82c]
push dword [ebp - 0x830]
push str.CheckNewFile____CompareFileTime__d___d____0___d
call fcn.00469290
add esp, 0x18
jmp 0x446172
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [edi], eax
jmp 0x446172
mov ebx, 1
mov dword [ebp - 0x848], ebx
cmp dword [ebp + 0x18], 0
je 0x446203
push 0
lea eax, [ebp - 0x850]
mov dword [ebp - 0x858], 0
push eax
lea eax, [ebp - 0x858]
mov dword [ebp - 0x850], 4
push eax
push 0x20000005
push esi
call dword [sym.imp.WININET.dll_HttpQueryInfoW]
mov esi, dword [ebp - 0x854]
test eax, eax
je 0x4461d7
mov ecx, dword [ebp - 0x858]
xor edx, edx
test ebx, ebx
mov ebx, dword [ebp - 0x84c]
je 0x4461e9
cmp esi, ecx
jne 0x4461d0
cmp ebx, edx
je 0x4461e9
mov eax, 1
jmp 0x4461eb
mov edx, dword [ebp - 0x8ac]
mov ecx, dword [ebp - 0x8b0]
mov ebx, dword [ebp - 0x84c]
xor eax, eax
push eax
push edx
push ecx
push ebx
push esi
push str.CheckNewFile____Size:__I64u____I64u___d
mov dword [ebp - 0x848], eax
call fcn.00469290
add esp, 0x18
mov eax, dword [edi]
mov dword [ebp - 0x8a4], eax
lea eax, [ebp - 0x8a4]
push 0x4a93ac
push eax
call fcn.0046ec09
push 0
push 0
push 0
push str.CheckNewFile____HttpSendRequest
push 0
call fcn.0043fb20
add esp, 0x14
mov dword [edi], eax
mov dword [ebp - 0x898], eax
lea eax, [ebp - 0x898]
push 0x4a93ac
push eax
call fcn.0046ec09
push 0
push 0
push 0
push str.CheckNewFile____HttpOpenRequest
push 0
call fcn.0043fb20
add esp, 0x14
mov dword [edi], eax
mov dword [ebp - 0x888], eax
lea eax, [ebp - 0x888]
push 0x4a93ac
push eax
call fcn.0046ec09
push 0
push 0
push 0
push str.CheckNewFile____InternetConnect
push 0
call fcn.0043fb20
add esp, 0x14
mov dword [edi], eax
mov dword [ebp - 0x8a0], eax
lea eax, [ebp - 0x8a0]
push 0x4a93ac
push eax
call fcn.0046ec09
push 0
push 0
push 0
push str.CheckNewFile____InternetOpen
push 0
call fcn.0043fb20
add esp, 0x14
mov dword [edi], eax
mov dword [ebp - 0x890], eax
lea eax, [ebp - 0x890]
push 0x4a93ac
push eax
call fcn.0046ec09
mov eax, 0x4462da
ret
test esi, esi
je 0x44632b
push esi
call dword [sym.imp.WININET.dll_InternetCloseHandle]
cmp dword [0x4b552c], 0
je 0x44633a
mov dword [edi], 0x4c7
push dword [edi]
push ebx
push str.CheckNewFile____End__d____d_
call fcn.00469290
add esp, 0xc
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0046ebfa
mov esp, ebp
pop ebp
ret