Function at 0x448090
Capabilities:
Check internet connectivity via wininet
Connect to http server
Create http request
Parse url
Read data from internet
Receive data
Send data
Send http request

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x52921b
mov eax, dword fs:[0]
push eax
mov eax, 0x5fe8
call fcn.004bab30
mov eax, dword [0x590cc0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 0x14]
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 0x24]
mov ebx, ecx
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x5fb4], ecx
mov ecx, dword [ebp + 0x28]
mov dword [ebp - 0x5f8c], eax
mov eax, dword [ebp + 0x1c]
push 0x3c
mov dword [ebp - 0x5fa4], ecx
mov dword [ebp - 0x5fb0], edx
mov edx, dword [ebp + 0x2c]
mov dword [ebp - 0x5f98], eax
mov eax, dword [ebp + 0x30]
lea ecx, [ebp - 0x5ff4]
push 0
push ecx
mov dword [ebp - 0x5f94], ebx
mov dword [ebp - 0x5f90], edx
mov dword [ebp - 0x5fb8], eax
mov dword [ebp - 0x5fa0], 0
call fcn.004ba010
lea edx, [ebp - 0xb40]
mov dword [ebp - 0x5ff0], edx
add esp, 0xc
lea edx, [ebp - 0x938]
mov dword [ebp - 0x5fd0], edx
lea edx, [ebp - 0x5ff4]
push edx
lea eax, [ebp - 0x528]
mov dword [ebp - 0x5fe4], eax
push 0
lea ecx, [ebp - 0x730]
lea eax, [ebp - 0xd48]
mov dword [ebp - 0x5fd8], ecx
mov dword [ebp - 0x5fc8], eax
mov eax, 0x104
push 0
lea ecx, [ebp - 0xf50]
push esi
mov dword [ebp - 0x5ff4], 0x3c
mov dword [ebp - 0x5fc0], ecx
mov dword [ebp - 0x5fd4], eax
mov dword [ebp - 0x5fc4], eax
mov dword [ebp - 0x5fec], eax
mov dword [ebp - 0x5fcc], eax
mov dword [ebp - 0x5fe0], eax
mov dword [ebp - 0x5fbc], eax
call dword [sym.imp.WININET.dll_InternetCrackUrlW]
test eax, eax
je 0x4486f6
push 0
call dword [sym.imp.WININET.dll_InternetAttemptConnect]
test eax, eax
jne 0x4486f6
cmp dword [ebp - 0x5fe8], 4
push 0x7e
sete al
xor ecx, ecx
push ecx
lea edx, [ebp - 0x116]
push edx
mov word [ebp - 0x118], cx
mov dword [ebp - 0x5f9c], eax
call fcn.004ba010
push 0
push 0x40
lea eax, [ebp - 0x118]
push eax
push str.HKCUSoftwareKingsoftOffice6.0Commonupdateinfo_notmaptoip
call fcn.0041dcb0
add esp, 0x1c
cmp dword [ebx + 4], 0
je 0x448313
test eax, eax
jne 0x448263
mov ecx, 0x53db0c
lea eax, [ebp - 0x118]
lea ebx, [ebx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x448256
test dx, dx
je 0x448252
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x448256
add eax, 4
add ecx, 4
test dx, dx
jne 0x448230
xor eax, eax
jmp 0x44825b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x448313
lea ecx, [ebp - 0x528]
push ecx
lea ecx, [ebp - 0x5f88]
call fcn.00402580
lea edx, [ebp - 0x5f88]
push edx
lea eax, [ebp - 0x5f6c]
push eax
mov dword [ebp - 4], 0
call fcn.00408170
mov ecx, eax
call fcn.00447ef0
cmp dword [ebp - 0x5f74], 8
mov dword [ebp - 4], 0xffffffff
jb 0x4482b5
mov ecx, dword [ebp - 0x5f88]
push ecx
call fcn.004b9008
add esp, 4
push 0x208
lea edx, [ebp - 0x528]
push 0
push edx
call fcn.004ba010
mov esi, dword [ebp - 0x5f58]
mov ebx, dword [ebp - 0x5f6c]
add esp, 0xc
mov eax, ebx
cmp esi, 8
jae 0x4482e4
lea eax, [ebp - 0x5f6c]
lea edx, [ebp - 0x528]
sub edx, eax
lea esp, [esp]
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x4482f0
cmp esi, 8
jb 0x44830d
push ebx
call fcn.004b9008
add esp, 4
mov ebx, dword [ebp - 0x5f94]
mov eax, dword [ebx]
test eax, eax
je 0x448342
lea edx, [eax + 4]
mov eax, edx
lea esi, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x448321
sub eax, esi
sar eax, 1
je 0x448342
mov eax, dword [ebp - 0x5f8c]
push 0
push 0
push edx
push 3
push eax
jmp 0x448351
mov ecx, dword [ebp - 0x5f8c]
push 0
push 0
push 0
push 1
push ecx
call dword [sym.imp.WININET.dll_InternetOpenW]
mov dword [edi], eax
test eax, eax
je 0x4486f6
mov esi, dword [sym.imp.WININET.dll_InternetSetOptionExW]
push 0
push 4
lea edx, [ebp - 0x5f8c]
push edx
push 2
push eax
mov dword [ebp - 0x5f8c], 0x7530
call esi
mov ecx, dword [edi]
push 0
push 4
lea eax, [ebp - 0x5f8c]
push eax
push 5
push ecx
call esi
mov eax, dword [edi]
push 0
push 4
lea edx, [ebp - 0x5f8c]
push edx
push 6
push eax
call esi
mov ecx, dword [ebp - 0x5f9c]
mov edx, dword [ebp - 0x5fd0]
mov eax, dword [ebp - 0x5fd8]
push ebx
neg ecx
sbb ecx, ecx
and ecx, 0x800000
push ecx
mov ecx, dword [ebp - 0x5fdc]
push 3
push edx
mov edx, dword [ebp - 0x5fe4]
push eax
mov eax, dword [edi]
push ecx
push edx
push eax
call dword [sym.imp.WININET.dll_InternetConnectW]
mov ecx, dword [ebp - 0x5fa4]
mov dword [ecx], eax
test eax, eax
je 0x4486f6
xor edx, edx
push 0x4ffe
push edx
lea eax, [ebp - 0x5f4e]
push eax
mov word [ebp - 0x5f50], dx
call fcn.004ba010
mov eax, dword [ebp - 0x5fc8]
lea edx, [ebp - 0x5f50]
add esp, 0xc
sub edx, eax
lea ebx, [ebx]
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x448420
mov esi, dword [ebp - 0x5fb0]
mov eax, esi
lea edx, [eax + 2]
lea ebx, [ebx]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x448440
sub eax, edx
sar eax, 1
je 0x4484b0
lea edi, [ebp - 0x5f50]
add edi, 0xfffffffe
lea ebx, [ebx]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x448460
mov ecx, dword [0x53db74]
mov eax, esi
mov dword [edi], ecx
mov edx, eax
jmp 0x448480
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x448480
lea edi, [ebp - 0x5f50]
sub eax, edx
add edi, 0xfffffffe
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x448496
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
cmp dword [ebp - 0x5f9c], 0
mov dword [ebp - 0x5fac], 0x549768
mov dword [ebp - 0x5fa8], 0
mov esi, 0x84280000
je 0x4484e7
mov ecx, ebx
mov esi, 0x84a80000
call fcn.00447950
test al, al
je 0x4484e7
mov esi, 0x84ac3000
mov ecx, dword [ebp - 0x5fb4]
push ebx
push esi
lea edx, [ebp - 0x5fac]
push edx
mov edx, dword [ebp - 0x5fa4]
push 0
push 0
lea eax, [ebp - 0x5f50]
push eax
mov eax, dword [edx]
push ecx
push eax
call dword [sym.imp.WININET.dll_HttpOpenRequestW]
mov ecx, dword [ebp - 0x5f90]
mov dword [ecx], eax
test eax, eax
je 0x4486f6
mov ebx, dword [sym.imp.WININET.dll_HttpAddRequestHeadersW]
push 0xa0000000
push 0xd
push 0x54974c
push eax
call ebx
test eax, eax
je 0x4486f6
mov ecx, 0x14
mov esi, str.Content_Type:_application_octet_stream_r_n
lea edi, [ebp - 0x98]
rep movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x98]
movsw word es:[edi], word [esi]
lea edx, [eax + 2]
jmp 0x448560
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x448560
mov edi, dword [ebp - 0x5f90]
sub eax, edx
push 0xa0000000
sar eax, 1
push eax
mov eax, dword [edi]
lea edx, [ebp - 0x98]
push edx
push eax
call ebx
test eax, eax
je 0x4486f6
mov esi, dword [ebp - 0x5fb8]
test esi, esi
je 0x4485c3
mov eax, esi
lea edx, [eax + 2]
mov edi, edi
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4485a0
mov ecx, dword [edi]
sub eax, edx
push 0xa0000000
sar eax, 1
push eax
push esi
push ecx
call ebx
test eax, eax
je 0x4486f6
xor edx, edx
push 0x206
push edx
lea eax, [ebp - 0x31e]
push eax
mov word [ebp - 0x320], dx
call fcn.004ba010
mov esi, dword [ebp + 0x20]
push esi
lea ecx, [ebp - 0x320]
push str.Content_Length:__d_r_n
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [ebp - 0x320]
add esp, 0x18
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x448600
sub eax, edx
push 0xa0000000
sar eax, 1
push eax
mov eax, dword [edi]
lea edx, [ebp - 0x320]
push edx
push eax
call ebx
test eax, eax
je 0x4486f6
mov ecx, dword [ebp - 0x5f98]
mov edx, dword [edi]
mov ebx, dword [sym.imp.WININET.dll_HttpSendRequestW]
push esi
push ecx
push 0
push 0
push edx
call ebx
test eax, eax
je 0x4486f6
mov eax, dword [edi]
mov esi, dword [ebp - 0x5f94]
push eax
mov ecx, esi
call fcn.004478e0
cmp eax, 0x197
jne 0x4486db
push edi
mov ecx, esi
call fcn.004479e0
test eax, eax
je 0x4486db
push 0x32
lea ecx, [ebp - 0x43]
push 0
push ecx
mov byte [ebp - 0x44], 0
call fcn.004ba010
mov esi, dword [sym.imp.WININET.dll_InternetReadFile]
add esp, 0xc
mov dword [ebp - 0x5f90], 0
nop
mov ecx, dword [edi]
lea edx, [ebp - 0x5f90]
push edx
push 0x32
lea eax, [ebp - 0x44]
push eax
push ecx
call esi
test eax, eax
je 0x4486af
cmp dword [ebp - 0x5f90], 0
jne 0x448690
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp - 0x5f98]
mov ecx, dword [edi]
push edx
push eax
push 0
push 0
push ecx
call ebx
test eax, eax
je 0x4486f6
mov edx, dword [edi]
mov ecx, dword [ebp - 0x5f94]
push edx
call fcn.004478e0
mov esi, dword [ebp - 0x5f94]
mov eax, dword [edi]
push eax
mov ecx, esi
call fcn.004478e0
cmp eax, 0x12c
jae 0x4486f6
mov dword [ebp - 0x5fa0], 1
mov eax, dword [ebp - 0x5fa0]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004b9ff3
mov esp, ebp
pop ebp
ret 0x2c