Function at 0x445b30
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 0x48a600
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.0046f7e0
push 0x24c
lea eax, [ebp - 0x5f0]
mov dword [ebp - 0x5f4], ebx
push ebx
push eax
call fcn.0046f7e0
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 0x445be8
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [edi], eax
xor eax, eax
jmp 0x4463ac
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.0046f7e0
xor eax, eax
push 0x3e
push eax
mov word [ebp - 0x94], ax
lea eax, [ebp - 0x92]
push eax
call fcn.0046f7e0
xor eax, eax
push 0x3e
push eax
mov word [ebp - 0x54], ax
lea eax, [ebp - 0x52]
push eax
call fcn.0046f7e0
xor eax, eax
push 0x1fe
push eax
mov word [ebp - 0x394], ax
lea eax, [ebp - 0x392]
push eax
call fcn.0046f7e0
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.00447a30
mov eax, dword [ebp - 0x850]
add esp, 0x4c
mov dword [ebp - 4], esi
cmp eax, 5
jne 0x445dd5
lea eax, [ebp - 0x5f4]
push eax
lea eax, [ebp - 0x394]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
cmp eax, 0xffffffff
jne 0x445d0e
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [edi], eax
mov dword [ebp - 0x88c], eax
lea eax, [ebp - 0x88c]
push 0x4a941c
push eax
call fcn.0046ed09
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
cmp dword [ebp + 0x14], 0
je 0x445d64
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.00469390
add esp, 0x18
jmp 0x445d6f
mov ebx, 1
mov dword [ebp - 0x848], ebx
cmp dword [ebp + 0x18], 0
je 0x445dbc
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 0x445da2
cmp esi, ecx
jne 0x445d9b
cmp ebx, edx
je 0x445da2
mov eax, 1
jmp 0x445da4
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.00469390
add esp, 0x18
mov eax, dword [edi]
mov dword [ebp - 0x880], eax
lea eax, [ebp - 0x880]
push 0x4a941c
push eax
call fcn.0046ed09
cmp eax, 3
je 0x445df6
cmp eax, 4
je 0x445df6
cmp eax, 1
je 0x445df6
mov dword [edi], 0x57
mov dword [ebp - 4], 0xffffffff
jmp 0x446380
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 0x446306
cmp dword [0x4b552c], 0
jne 0x446306
mov eax, dword [ebp - 0x850]
cmp eax, 3
je 0x445fd5
cmp eax, 4
je 0x445fd5
cmp eax, 1
jne 0x445dea
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 0x445fa7
cmp dword [0x4b552c], 0
jne 0x445fa7
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 0x445f79
cmp dword [0x4b552c], 0
jne 0x445f79
cmp dword [ebp + 0x14], 0
je 0x445f08
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.00469390
add esp, 0x18
jmp 0x445f13
mov ebx, 1
mov dword [ebp - 0x848], ebx
cmp dword [ebp + 0x18], 0
je 0x445f60
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 0x445f46
cmp esi, ecx
jne 0x445f3f
cmp ebx, edx
je 0x445f46
mov eax, 1
jmp 0x445f48
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.00469390
add esp, 0x18
mov eax, dword [edi]
mov dword [ebp - 0x884], eax
lea eax, [ebp - 0x884]
push 0x4a941c
push eax
call fcn.0046ed09
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 0x4a941c
push eax
call fcn.0046ed09
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 0x4a941c
push eax
call fcn.0046ed09
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 0x4462d8
cmp dword [0x4b552c], 0
jne 0x4462d8
push 0
push 0x4400200
push 0
push 0
push 0
lea ecx, [ebp - 0x394]
push ecx
push 0x49533c
push eax
call dword [sym.imp.WININET.dll_HttpOpenRequestW]
mov esi, eax
mov dword [ebp - 0x868], esi
test esi, esi
je 0x4462aa
cmp dword [0x4b552c], 0
jne 0x4462aa
push 0
push 0
push 0
push 0
push esi
call dword [sym.imp.WININET.dll_HttpSendRequestW]
test eax, eax
je 0x44627c
cmp dword [0x4b552c], 0
jne 0x44627c
lea eax, [ebp - 0x858]
push eax
push esi
call fcn.004478b0
mov ecx, eax
add esp, 8
mov eax, dword [ebp - 0x858]
test eax, eax
je 0x4460c2
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 0x4a941c
push eax
call fcn.0046ed09
cmp ecx, 0x12c
jb 0x4460f6
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 0x4a941c
push eax
call fcn.0046ed09
cmp dword [ebp + 0x14], 0
mov dword [ebp - 0x850], 0
je 0x4461c7
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 0x4461bd
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.00469390
add esp, 0x18
jmp 0x4461d2
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [edi], eax
jmp 0x4461d2
mov ebx, 1
mov dword [ebp - 0x848], ebx
cmp dword [ebp + 0x18], 0
je 0x446263
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 0x446237
mov ecx, dword [ebp - 0x858]
xor edx, edx
test ebx, ebx
mov ebx, dword [ebp - 0x84c]
je 0x446249
cmp esi, ecx
jne 0x446230
cmp ebx, edx
je 0x446249
mov eax, 1
jmp 0x44624b
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.00469390
add esp, 0x18
mov eax, dword [edi]
mov dword [ebp - 0x8a4], eax
lea eax, [ebp - 0x8a4]
push 0x4a941c
push eax
call fcn.0046ed09
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 0x4a941c
push eax
call fcn.0046ed09
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 0x4a941c
push eax
call fcn.0046ed09
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 0x4a941c
push eax
call fcn.0046ed09
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 0x4a941c
push eax
call fcn.0046ed09
mov eax, 0x44633a
ret
test esi, esi
je 0x44638b
push esi
call dword [sym.imp.WININET.dll_InternetCloseHandle]
cmp dword [0x4b552c], 0
je 0x44639a
mov dword [edi], 0x4c7
push dword [edi]
push ebx
push str.CheckNewFile____End__d____d_
call fcn.00469390
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.0046ecfa
mov esp, ebp
pop ebp
ret