Function at 0x445f00
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 0x48ac40
mov eax, dword fs:[0]
push eax
sub esp, 0x8a4
mov eax, dword [0x4b06f0]
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.0046fe20
push 0x24c
lea eax, [ebp - 0x5f0]
mov dword [ebp - 0x5f4], ebx
push ebx
push eax
call fcn.0046fe20
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 0x445fb8
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [edi], eax
xor eax, eax
jmp 0x4467a4
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.0046fe20
xor eax, eax
push 0x3e
push eax
mov word [ebp - 0x94], ax
lea eax, [ebp - 0x92]
push eax
call fcn.0046fe20
xor eax, eax
push 0x3e
push eax
mov word [ebp - 0x54], ax
lea eax, [ebp - 0x52]
push eax
call fcn.0046fe20
xor eax, eax
push 0x1fe
push eax
mov word [ebp - 0x394], ax
lea eax, [ebp - 0x392]
push eax
call fcn.0046fe20
lea eax, [ebp - 0x850]
mov dword [ebp - 0x85c], ebx
push eax
lea eax, [ebp - 0x85c]
mov dword [ebp - 0x850], 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.00447e30
mov eax, dword [ebp - 0x85c]
add esp, 0x4c
mov dword [ebp - 4], esi
cmp eax, 5
jne 0x4461a5
lea eax, [ebp - 0x5f4]
push eax
lea eax, [ebp - 0x394]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
cmp eax, 0xffffffff
jne 0x4460de
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [edi], eax
mov dword [ebp - 0x88c], eax
lea eax, [ebp - 0x88c]
push 0x4aa6ac
push eax
call fcn.0046f349
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
cmp dword [ebp + 0x14], 0
je 0x446134
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.004699e0
add esp, 0x18
jmp 0x44613f
mov ebx, 1
mov dword [ebp - 0x848], ebx
cmp dword [ebp + 0x18], 0
je 0x44618c
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 0x446172
cmp esi, ecx
jne 0x44616b
cmp ebx, edx
je 0x446172
mov eax, 1
jmp 0x446174
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.004699e0
add esp, 0x18
mov eax, dword [edi]
mov dword [ebp - 0x880], eax
lea eax, [ebp - 0x880]
push 0x4aa6ac
push eax
call fcn.0046f349
cmp eax, 3
je 0x4461c6
cmp eax, 4
je 0x4461c6
cmp eax, 1
je 0x4461c6
mov dword [edi], 0x57
mov dword [ebp - 4], 0xffffffff
jmp 0x446778
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 0x4466fc
cmp dword [0x4b6534], 0
jne 0x4466fc
mov eax, dword [ebp - 0x85c]
cmp eax, 3
je 0x4463b0
cmp eax, 4
je 0x4463a9
cmp eax, 1
jne 0x4461ba
push 0
push 0x8000000
push eax
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x94]
push eax
push dword [ebp - 0x850]
lea eax, [ebp - 0x194]
push eax
push esi
call dword [sym.imp.WININET.dll_InternetConnectW]
mov dword [ebp - 0x864], eax
test eax, eax
je 0x446379
cmp dword [0x4b6534], 0
jne 0x446379
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 0x446349
cmp dword [0x4b6534], 0
jne 0x446349
cmp dword [ebp + 0x14], 0
je 0x4462d8
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.004699e0
add esp, 0x18
jmp 0x4462e3
mov ebx, 1
mov dword [ebp - 0x848], ebx
cmp dword [ebp + 0x18], 0
je 0x446330
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 0x446316
cmp esi, ecx
jne 0x44630f
cmp ebx, edx
je 0x446316
mov eax, 1
jmp 0x446318
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.004699e0
add esp, 0x18
mov eax, dword [edi]
mov dword [ebp - 0x884], eax
lea eax, [ebp - 0x884]
push 0x4aa6ac
push eax
call fcn.0046f349
push 0
push 0
push 0
push 0
push str.CheckNewFile____FtpFindFirstFile
push 0
call fcn.0043fba0
add esp, 0x18
mov dword [edi], eax
mov dword [ebp - 0x87c], eax
lea eax, [ebp - 0x87c]
push 0x4aa6ac
push eax
call fcn.0046f349
push 0
push 0
push 0
push 0
push str.CheckNewFile____InternetConnect
push 0
call fcn.0043fba0
add esp, 0x18
mov dword [edi], eax
mov dword [ebp - 0x894], eax
lea eax, [ebp - 0x894]
push 0x4aa6ac
push eax
call fcn.0046f349
mov eax, 0x8800000
jmp 0x4463b5
mov eax, 0x8000000
push 0
push eax
push 3
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x94]
push eax
push dword [ebp - 0x850]
lea eax, [ebp - 0x194]
push eax
push esi
call dword [sym.imp.WININET.dll_InternetConnectW]
mov ecx, eax
mov dword [ebp - 0x864], ecx
test ecx, ecx
je 0x4466cc
cmp dword [0x4b6534], 0
jne 0x4466cc
cmp dword [ebp - 0x85c], 4
mov edx, 0x4c00200
push 0
mov eax, 0x4400200
cmove eax, edx
push eax
push 0
push 0
push 0
lea eax, [ebp - 0x394]
push eax
push 0x4964bc
push ecx
call dword [sym.imp.WININET.dll_HttpOpenRequestW]
mov esi, eax
mov dword [ebp - 0x868], esi
test esi, esi
je 0x44669c
cmp dword [0x4b6534], 0
jne 0x44669c
push 0
push 0
push 0
push 0
push esi
call dword [sym.imp.WININET.dll_HttpSendRequestW]
test eax, eax
je 0x44666c
cmp dword [0x4b6534], 0
jne 0x44666c
lea eax, [ebp - 0x858]
push eax
push esi
call fcn.00447ca0
mov ecx, eax
add esp, 8
mov eax, dword [ebp - 0x858]
test eax, eax
je 0x4464b2
push 0
push 0
push 0
push 0
push str.GetHttpStatusCode
push eax
call fcn.0043fba0
add esp, 0x18
mov dword [edi], eax
mov dword [ebp - 0x89c], eax
lea eax, [ebp - 0x89c]
push 0x4aa6ac
push eax
call fcn.0046f349
cmp ecx, 0x12c
jb 0x4464e6
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 0x4aa6ac
push eax
call fcn.0046f349
cmp dword [ebp + 0x14], 0
mov dword [ebp - 0x850], 0
je 0x4465b7
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 0x4465ad
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.004699e0
add esp, 0x18
jmp 0x4465c2
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [edi], eax
jmp 0x4465c2
mov ebx, 1
mov dword [ebp - 0x848], ebx
cmp dword [ebp + 0x18], 0
je 0x446653
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 0x446627
mov ecx, dword [ebp - 0x858]
xor edx, edx
test ebx, ebx
mov ebx, dword [ebp - 0x84c]
je 0x446639
cmp esi, ecx
jne 0x446620
cmp ebx, edx
je 0x446639
mov eax, 1
jmp 0x44663b
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.004699e0
add esp, 0x18
mov eax, dword [edi]
mov dword [ebp - 0x8a4], eax
lea eax, [ebp - 0x8a4]
push 0x4aa6ac
push eax
call fcn.0046f349
push 0
push 0
push 0
push 0
push str.CheckNewFile____HttpSendRequest
push 0
call fcn.0043fba0
add esp, 0x18
mov dword [edi], eax
mov dword [ebp - 0x898], eax
lea eax, [ebp - 0x898]
push 0x4aa6ac
push eax
call fcn.0046f349
push 0
push 0
push 0
push 0
push str.CheckNewFile____HttpOpenRequest
push 0
call fcn.0043fba0
add esp, 0x18
mov dword [edi], eax
mov dword [ebp - 0x888], eax
lea eax, [ebp - 0x888]
push 0x4aa6ac
push eax
call fcn.0046f349
push 0
push 0
push 0
push 0
push str.CheckNewFile____InternetConnect
push 0
call fcn.0043fba0
add esp, 0x18
mov dword [edi], eax
mov dword [ebp - 0x8a0], eax
lea eax, [ebp - 0x8a0]
push 0x4aa6ac
push eax
call fcn.0046f349
push 0
push 0
push 0
push 0
push str.CheckNewFile____InternetOpen
push 0
call fcn.0043fba0
add esp, 0x18
mov dword [edi], eax
mov dword [ebp - 0x890], eax
lea eax, [ebp - 0x890]
push 0x4aa6ac
push eax
call fcn.0046f349
mov eax, 0x446732
ret
test esi, esi
je 0x446783
push esi
call dword [sym.imp.WININET.dll_InternetCloseHandle]
cmp dword [0x4b6534], 0
je 0x446792
mov dword [edi], 0x4c7
push dword [edi]
push ebx
push str.CheckNewFile____End__d____d_
call fcn.004699e0
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.0046f33a
mov esp, ebp
pop ebp
ret