Function at 0x436f90
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 0x484f50
mov eax, dword fs:[0]
push eax
sub esp, 0x8a4
mov eax, dword [0x4a86f0]
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.0046a390
push 0x24c
lea eax, [ebp - 0x5f0]
mov dword [ebp - 0x5f4], ebx
push ebx
push eax
call fcn.0046a390
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 0x437048
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [edi], eax
xor eax, eax
jmp 0x43780c
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.0046a390
xor eax, eax
push 0x3e
push eax
mov word [ebp - 0x94], ax
lea eax, [ebp - 0x92]
push eax
call fcn.0046a390
xor eax, eax
push 0x3e
push eax
mov word [ebp - 0x54], ax
lea eax, [ebp - 0x52]
push eax
call fcn.0046a390
xor eax, eax
push 0x1fe
push eax
mov word [ebp - 0x394], ax
lea eax, [ebp - 0x392]
push eax
call fcn.0046a390
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.00438dd0
mov eax, dword [ebp - 0x850]
add esp, 0x4c
mov dword [ebp - 4], esi
cmp eax, 5
jne 0x437235
lea eax, [ebp - 0x5f4]
push eax
lea eax, [ebp - 0x394]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
cmp eax, 0xffffffff
jne 0x43716e
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [edi], eax
mov dword [ebp - 0x88c], eax
lea eax, [ebp - 0x88c]
push 0x4a2abc
push eax
call fcn.004698b9
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
cmp dword [ebp + 0x14], 0
je 0x4371c4
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.0045f520
add esp, 0x18
jmp 0x4371cf
mov ebx, 1
mov dword [ebp - 0x848], ebx
cmp dword [ebp + 0x18], 0
je 0x43721c
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 0x437202
cmp esi, ecx
jne 0x4371fb
cmp ebx, edx
je 0x437202
mov eax, 1
jmp 0x437204
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.0045f520
add esp, 0x18
mov eax, dword [edi]
mov dword [ebp - 0x880], eax
lea eax, [ebp - 0x880]
push 0x4a2abc
push eax
call fcn.004698b9
cmp eax, 3
je 0x437256
cmp eax, 4
je 0x437256
cmp eax, 1
je 0x437256
mov dword [edi], 0x57
mov dword [ebp - 4], 0xffffffff
jmp 0x4377e0
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 0x437766
cmp dword [0x4c2e50], 0
jne 0x437766
mov eax, dword [ebp - 0x850]
cmp eax, 3
je 0x437435
cmp eax, 4
je 0x437435
cmp eax, 1
jne 0x43724a
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 0x437407
cmp dword [0x4c2e50], 0
jne 0x437407
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 0x4373d9
cmp dword [0x4c2e50], 0
jne 0x4373d9
cmp dword [ebp + 0x14], 0
je 0x437368
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.0045f520
add esp, 0x18
jmp 0x437373
mov ebx, 1
mov dword [ebp - 0x848], ebx
cmp dword [ebp + 0x18], 0
je 0x4373c0
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 0x4373a6
cmp esi, ecx
jne 0x43739f
cmp ebx, edx
je 0x4373a6
mov eax, 1
jmp 0x4373a8
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.0045f520
add esp, 0x18
mov eax, dword [edi]
mov dword [ebp - 0x884], eax
lea eax, [ebp - 0x884]
push 0x4a2abc
push eax
call fcn.004698b9
push 0
push 0
push 0
push str.CheckNewFile____FtpFindFirstFile
push 0
call fcn.0042e900
add esp, 0x14
mov dword [edi], eax
mov dword [ebp - 0x87c], eax
lea eax, [ebp - 0x87c]
push 0x4a2abc
push eax
call fcn.004698b9
push 0
push 0
push 0
push str.CheckNewFile____InternetConnect
push 0
call fcn.0042e900
add esp, 0x14
mov dword [edi], eax
mov dword [ebp - 0x894], eax
lea eax, [ebp - 0x894]
push 0x4a2abc
push eax
call fcn.004698b9
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 0x437738
cmp dword [0x4c2e50], 0
jne 0x437738
push 0
push 0x4400200
push 0
push 0
push 0
lea ecx, [ebp - 0x394]
push ecx
push 0x48bf3c
push eax
call dword [sym.imp.WININET.dll_HttpOpenRequestW]
mov esi, eax
mov dword [ebp - 0x868], esi
test esi, esi
je 0x43770a
cmp dword [0x4c2e50], 0
jne 0x43770a
push 0
push 0
push 0
push 0
push esi
call dword [sym.imp.WININET.dll_HttpSendRequestW]
test eax, eax
je 0x4376dc
cmp dword [0x4c2e50], 0
jne 0x4376dc
lea eax, [ebp - 0x858]
push eax
push esi
call fcn.00438c50
mov ecx, eax
add esp, 8
mov eax, dword [ebp - 0x858]
test eax, eax
je 0x437522
push 0
push 0
push 0
push str.GetHttpStatusCode
push eax
call fcn.0042e900
add esp, 0x14
mov dword [edi], eax
mov dword [ebp - 0x89c], eax
lea eax, [ebp - 0x89c]
push 0x4a2abc
push eax
call fcn.004698b9
cmp ecx, 0x12c
jb 0x437556
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 0x4a2abc
push eax
call fcn.004698b9
cmp dword [ebp + 0x14], 0
mov dword [ebp - 0x850], 0
je 0x437627
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 0x43761d
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.0045f520
add esp, 0x18
jmp 0x437632
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [edi], eax
jmp 0x437632
mov ebx, 1
mov dword [ebp - 0x848], ebx
cmp dword [ebp + 0x18], 0
je 0x4376c3
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 0x437697
mov ecx, dword [ebp - 0x858]
xor edx, edx
test ebx, ebx
mov ebx, dword [ebp - 0x84c]
je 0x4376a9
cmp esi, ecx
jne 0x437690
cmp ebx, edx
je 0x4376a9
mov eax, 1
jmp 0x4376ab
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.0045f520
add esp, 0x18
mov eax, dword [edi]
mov dword [ebp - 0x8a4], eax
lea eax, [ebp - 0x8a4]
push 0x4a2abc
push eax
call fcn.004698b9
push 0
push 0
push 0
push str.CheckNewFile____HttpSendRequest
push 0
call fcn.0042e900
add esp, 0x14
mov dword [edi], eax
mov dword [ebp - 0x898], eax
lea eax, [ebp - 0x898]
push 0x4a2abc
push eax
call fcn.004698b9
push 0
push 0
push 0
push str.CheckNewFile____HttpOpenRequest
push 0
call fcn.0042e900
add esp, 0x14
mov dword [edi], eax
mov dword [ebp - 0x888], eax
lea eax, [ebp - 0x888]
push 0x4a2abc
push eax
call fcn.004698b9
push 0
push 0
push 0
push str.CheckNewFile____InternetConnect
push 0
call fcn.0042e900
add esp, 0x14
mov dword [edi], eax
mov dword [ebp - 0x8a0], eax
lea eax, [ebp - 0x8a0]
push 0x4a2abc
push eax
call fcn.004698b9
push 0
push 0
push 0
push str.CheckNewFile____InternetOpen
push 0
call fcn.0042e900
add esp, 0x14
mov dword [edi], eax
mov dword [ebp - 0x890], eax
lea eax, [ebp - 0x890]
push 0x4a2abc
push eax
call fcn.004698b9
mov eax, 0x43779a
ret
test esi, esi
je 0x4377eb
push esi
call dword [sym.imp.WININET.dll_InternetCloseHandle]
cmp dword [0x4c2e50], 0
je 0x4377fa
mov dword [edi], 0x4c7
push dword [edi]
push ebx
push str.CheckNewFile____End__d____d_
call fcn.0045f520
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.004698aa
mov esp, ebp
pop ebp
ret