Function at 0x4cf2c8
Capabilities:
Check http status code
Connect to http server
Create http request
Get file size
Read and send data from client to server
Read data from internet
Read file on windows
Receive data
Send data
Send http request

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x215
push 0
push 0
dec ecx
jne 0x4cf2d0
push ebx
push esi
push edi
mov dword [ebp - 0x1054], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x4d06c8
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov byte [eax + 0x68], 0
mov eax, dword [ebp - 4]
mov dword [eax + 0x190], 0xffffffff
mov eax, dword [ebp - 4]
add eax, 0x154
call fcn.00448494
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x64]
mov dword [ebp - 0x1014], eax
call sub.KERNEL32.DLL_GetTickCount
mov edx, dword [ebp - 4]
mov dword [edx + 0x130], eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x11f], 1
lea eax, [ebp - 0x1020]
push eax
lea eax, [ebp - 0x1024]
push eax
lea eax, [ebp - 0x1028]
push eax
lea eax, [ebp - 0x102c]
push eax
lea eax, [ebp - 0x1010]
push eax
lea ecx, [ebp - 0x101c]
lea edx, [ebp - 0x1018]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4c]
call sym.tripyupdate.exe__Winhttp_ParseURL_qqr17System_AnsiStringr17System_AnsiStringt2t2t2t2t2rus
lea edx, [ebp - 0x1080]
mov eax, dword [ebp - 0x102c]
call sym.tripyupdate.exe__Winhttp_URLEncode_qqrx17System_AnsiString
mov edx, dword [ebp - 0x1080]
lea eax, [ebp - 0x102c]
call fcn.0044852c
cmp dword [ebp - 0x1024], 0
jne 0x4cf3ac
lea eax, [ebp - 0x1024]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x30]
call fcn.0044852c
cmp dword [ebp - 0x1028], 0
jne 0x4cf3c6
lea eax, [ebp - 0x1028]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x34]
call fcn.0044852c
push ebp
call fcn.004cee58
pop ecx
mov eax, dword [ebp - 0x1018]
mov edx, 0x4d06e0
call fcn.004488c0
sete byte [ebp - 0x1039]
cmp byte [ebp - 0x1039], 0
jne 0x4d017d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x6c]
mov dword [ebp - 0x1040], eax
mov eax, dword [ebp - 0x1040]
cmp byte [eax + 4], 2
jne 0x4cf533
mov eax, dword [ebp - 0x1040]
cmp dword [eax + 0x10], 0
jne 0x4cf4a3
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x71]
mov eax, dword [eax*4 + 0x51195c]
push eax
push 0
mov eax, dword [ebp - 0x1040]
push dword [eax + 0xc]
push 0x4d06f0
lea edx, [ebp - 0x1088]
mov eax, dword [ebp - 0x1040]
mov eax, dword [eax + 8]
call fcn.004343d8
push dword [ebp - 0x1088]
lea eax, [ebp - 0x1084]
mov edx, 3
call fcn.00448834
mov eax, dword [ebp - 0x1084]
call fcn.00448974
push eax
mov eax, dword [ebp - 0x1040]
movzx eax, byte [eax + 4]
mov eax, dword [eax*4 + 0x511964]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00448974
push eax
call sub.WININET.DLL_InternetOpenA
mov edx, dword [ebp - 4]
mov dword [edx + 0x140], eax
jmp 0x4cf572
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x71]
mov eax, dword [eax*4 + 0x51195c]
push eax
mov eax, dword [ebp - 0x1040]
mov eax, dword [eax + 0x10]
call fcn.00448974
push eax
mov eax, dword [ebp - 0x1040]
push dword [eax + 0xc]
push 0x4d06f0
lea edx, [ebp - 0x1090]
mov eax, dword [ebp - 0x1040]
mov eax, dword [eax + 8]
call fcn.004343d8
push dword [ebp - 0x1090]
lea eax, [ebp - 0x108c]
mov edx, 3
call fcn.00448834
mov eax, dword [ebp - 0x108c]
call fcn.00448974
push eax
mov eax, dword [ebp - 0x1040]
movzx eax, byte [eax + 4]
mov eax, dword [eax*4 + 0x511964]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00448974
push eax
call sub.WININET.DLL_InternetOpenA
mov edx, dword [ebp - 4]
mov dword [edx + 0x140], eax
jmp 0x4cf572
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x71]
mov eax, dword [eax*4 + 0x51195c]
push eax
push 0
push 0
mov eax, dword [ebp - 0x1040]
movzx eax, byte [eax + 4]
mov eax, dword [eax*4 + 0x511964]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00448974
push eax
call sub.WININET.DLL_InternetOpenA
mov edx, dword [ebp - 4]
mov dword [edx + 0x140], eax
mov eax, dword [ebp - 0x1040]
cmp byte [eax + 4], 1
je 0x4cf5c0
mov eax, dword [ebp - 0x1040]
cmp dword [eax + 0x14], 0
je 0x4cf5c0
mov eax, dword [ebp - 0x1040]
cmp dword [eax + 0x18], 0
je 0x4cf5c0
push ebp
mov eax, dword [ebp - 0x1040]
mov edx, dword [eax + 0x14]
mov eax, 0x2b
call fcn.004ceee8
pop ecx
push ebp
mov eax, dword [ebp - 0x1040]
mov edx, dword [eax + 0x18]
mov eax, 0x2c
call fcn.004ceee8
pop ecx
push 0x4cb998
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x140]
push eax
call sub.WININET.DLL_InternetSetStatusCallback
mov eax, dword [ebp - 4]
cmp dword [eax + 0x140], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x11c], al
mov eax, dword [ebp - 4]
cmp byte [eax + 0x11c], 0
je 0x4d068f
push ebp
call fcn.004cee58
pop ecx
mov eax, dword [ebp - 4]
push eax
push 0
push 3
mov eax, dword [ebp - 0x1028]
call fcn.00448974
push eax
mov eax, dword [ebp - 0x1024]
call fcn.00448974
push eax
mov ax, word [ebp - 0x1010]
push eax
mov eax, dword [ebp - 0x101c]
call fcn.00448974
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x140]
push eax
call sub.WININET.DLL_InternetConnectA
mov edx, dword [ebp - 4]
mov dword [edx + 0x144], eax
mov eax, dword [ebp - 4]
cmp dword [eax + 0x144], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x11c], al
mov eax, dword [ebp - 4]
cmp byte [eax + 0x11c], 0
je 0x4d068f
push ebp
call fcn.004cee58
pop ecx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3c]
call fcn.00448974
mov dword [ebp - 0x1034], eax
xor eax, eax
mov dword [ebp - 0x1030], eax
mov eax, dword [ebp - 4]
cmp byte [eax + 0x6a], 0
jne 0x4cf6bc
mov eax, dword [ebp - 4]
cmp dword [eax + 0x50], 0
jne 0x4cf6b2
mov eax, dword [ebp - 4]
cmp byte [eax + 0x69], 1
je 0x4cf6b2
xor eax, eax
jmp 0x4cf6b4
mov al, 1
mov byte [ebp - 0x100d], al
jmp 0x4cf6ca
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x6a]
dec eax
mov byte [ebp - 0x100d], al
xor eax, eax
mov dword [ebp - 0x100c], eax
mov eax, dword [ebp - 0x1018]
mov edx, 0x4d06fc
call fcn.004488c0
jne 0x4cf6f0
add dword [ebp - 0x100c], 0x800000
jmp 0x4cf700
mov eax, dword [ebp - 4]
test byte [eax + 0x58], 0x20
je 0x4cf700
add dword [ebp - 0x100c], 0x10
mov eax, dword [ebp - 4]
test byte [eax + 0x58], 1
je 0x4cf713
add dword [ebp - 0x100c], 0x80000000
mov eax, dword [ebp - 4]
test byte [eax + 0x58], 2
je 0x4cf726
add dword [ebp - 0x100c], 0x400
mov eax, dword [ebp - 4]
test byte [eax + 0x58], 4
je 0x4cf739
add dword [ebp - 0x100c], 0x800
mov eax, dword [ebp - 4]
test byte [eax + 0x58], 8
je 0x4cf74c
add dword [ebp - 0x100c], 0x100
mov eax, dword [ebp - 4]
test byte [eax + 0x58], 0x10
je 0x4cf75f
add dword [ebp - 0x100c], 0x4000000
mov eax, dword [ebp - 4]
test byte [eax + 0x58], 0x40
je 0x4cf772
add dword [ebp - 0x100c], 0x10000
mov eax, dword [ebp - 4]
test byte [eax + 0x59], 1
je 0x4cf785
add dword [ebp - 0x100c], 0x1000
mov eax, dword [ebp - 4]
test byte [eax + 0x59], 2
je 0x4cf798
add dword [ebp - 0x100c], 0x2000
mov eax, dword [ebp - 4]
test byte [eax + 0x59], 8
je 0x4cf7ab
add dword [ebp - 0x100c], 0x8000
mov eax, dword [ebp - 4]
test byte [eax + 0x59], 0x10
je 0x4cf7be
add dword [ebp - 0x100c], 0x4000
mov eax, dword [ebp - 4]
test byte [eax + 0x59], 0x20
je 0x4cf7d1
add dword [ebp - 0x100c], 0x400000
mov eax, dword [ebp - 4]
test byte [eax + 0x59], 0x40
je 0x4cf7e4
add dword [ebp - 0x100c], 0x40000
mov eax, dword [ebp - 4]
test byte [eax + 0x59], 0x80
je 0x4cf7f7
add dword [ebp - 0x100c], 0x200000
mov eax, dword [ebp - 4]
test byte [eax + 0x5a], 1
je 0x4cf80a
add dword [ebp - 0x100c], 0x80000
push 0
mov eax, dword [ebp - 0x100c]
push eax
lea eax, [ebp - 0x1034]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
call fcn.00448974
push eax
push 0
lea eax, [ebp - 0x1094]
mov ecx, dword [ebp - 0x102c]
mov edx, dword [ebp - 0x1020]
call fcn.004487c0
mov eax, dword [ebp - 0x1094]
call fcn.00448974
push eax
xor eax, eax
mov al, byte [ebp - 0x100d]
mov eax, dword [eax*4 + 0x511970]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x144]
push eax
call sub.WININET.DLL_HttpOpenRequestA
mov edx, dword [ebp - 4]
mov dword [edx + 0x148], eax
mov eax, dword [ebp - 4]
cmp dword [eax + 0x148], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x11c], al
mov eax, dword [ebp - 4]
cmp byte [eax + 0x11c], 0
je 0x4d068f
push ebp
call fcn.004cee58
pop ecx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x60]
mov dword [ebp - 0x1044], eax
mov eax, dword [ebp - 0x1044]
cmp dword [eax + 4], 0
je 0x4cf8cd
push ebp
mov eax, dword [ebp - 0x1044]
mov edx, dword [eax + 4]
mov eax, 2
call fcn.004cef20
pop ecx
mov eax, dword [ebp - 0x1044]
cmp dword [eax + 8], 0
je 0x4cf8ee
push ebp
mov eax, dword [ebp - 0x1044]
mov edx, dword [eax + 8]
mov eax, 6
call fcn.004cef20
pop ecx
mov eax, dword [ebp - 0x1044]
cmp dword [eax + 0xc], 0
je 0x4cf90f
push ebp
mov eax, dword [ebp - 0x1044]
mov edx, dword [eax + 0xc]
mov eax, 5
call fcn.004cef20
pop ecx
mov eax, dword [ebp - 4]
test byte [eax + 0x59], 4
je 0x4cf929
push ebp
mov edx, 0x100
mov eax, 0x1f
call fcn.004cef20
pop ecx
mov eax, dword [ebp - 4]
cmp byte [eax + 0x70], 0
je 0x4cf957
mov eax, dword [ebp - 4]
call sym.tripyupdate.exe__Winhttp_TCustomWinHTTP_IsGlobalOffline_qqrv
test al, al
je 0x4cf957
push 0
call sub.USER32.DLL_GetDesktopWindow
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4c]
call fcn.00448974
push eax
call sub.WININET.DLL_InternetGoOnline
mov eax, dword [ebp - 4]
cmp word [eax + 0x7a], 0
je 0x4cf976
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x148]
mov ebx, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x7c]
call dword [ebx + 0x78]
push ebp
mov al, 1
call fcn.004cf038
pop ecx
test al, al
je 0x4d068f
push ebp
call fcn.004cee58
pop ecx
mov eax, dword [ebp - 4]
mov byte [eax + 0x11d], 0
cmp byte [ebp - 0x100d], 0
je 0x4cfbbf
mov eax, dword [ebp - 4]
cmp byte [eax + 0x69], 0
jne 0x4cf9f0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
call fcn.00448770
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
call fcn.00448974
push eax
push 0x2f
push 0x4d0704
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x148]
push eax
call sub.WININET.DLL_HttpSendRequestA
cmp eax, 1
sbb eax, eax
inc eax
mov edx, dword [ebp - 4]
mov byte [edx + 0x11c], al
jmp 0x4cfbe5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x118]
mov edx, dword [eax]
call dword [edx]
mov edx, dword [ebp - 4]
mov dword [edx + 0x128], eax
lea eax, [ebp - 0x107c]
mov edx, 0x28
call fcn.004caf48
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x13c]
call fcn.00448974
mov dword [ebp - 0x1074], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x13c]
call fcn.00448770
mov dword [ebp - 0x1070], eax
mov eax, dword [ebp - 0x1070]
mov dword [ebp - 0x106c], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x128]
mov dword [ebp - 0x1060], eax
push 0
push 8
push 0
lea eax, [ebp - 0x107c]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x148]
push eax
call sub.WININET.DLL_HttpSendRequestExA
cmp eax, 1
sbb eax, eax
inc eax
mov edx, dword [ebp - 4]
mov byte [edx + 0x11c], al
mov eax, dword [ebp - 4]
cmp byte [eax + 0x11c], 0
je 0x4cfbe5
mov eax, dword [ebp - 4]
mov byte [eax + 0x68], 1
push 0
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x118]
call fcn.0042189c
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x12c], edx
jmp 0x4cfb7c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x118]
mov dword [ebp - 0x1048], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x12c]
add eax, dword [ebp - 0x1014]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x128]
jbe 0x4cfb00
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x128]
mov edx, dword [ebp - 4]
sub eax, dword [edx + 0x12c]
mov dword [ebp - 0x100c], eax
jmp 0x4cfb0c
mov eax, dword [ebp - 0x1014]
mov dword [ebp - 0x100c], eax
lea eax, [ebp - 0x100c]
push eax
mov eax, dword [ebp - 0x100c]
push eax
mov eax, dword [ebp - 0x1048]
mov eax, dword [eax + 4]
mov edx, dword [ebp - 4]
add eax, dword [edx + 0x12c]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x148]
push eax
call sub.WININET.DLL_InternetWriteFile
test eax, eax
je 0x4cfb8b
cmp dword [ebp - 0x100c], 0
je 0x4cfb8b
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x100c]
add dword [eax + 0x12c], edx
mov eax, dword [ebp - 4]
cmp word [eax + 0xb2], 0
je 0x4cfb7c
mov eax, dword [ebp - 4]
push eax
push sym.tripyupdate.exe__Winhttp_TCustomWinHTTP_CallUploadProgress_qqrv
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x114]
call sym.tripyupdate.exe__Winthread_TCustomWinThread_Synchronize_qqrynpqqrv_v
push ebp
call fcn.004cee58
pop ecx
test al, al
je 0x4cfabd
push 0
push 0
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x148]
push eax
call sub.WININET.DLL_HttpEndRequestA
test eax, eax
jne 0x4cfbe5
call sub.KERNEL32.DLL_GetLastError
cmp eax, 0x2f00
jne 0x4cfbe5
mov eax, dword [ebp - 4]
mov byte [eax + 0x11d], 1
jmp 0x4cfe6a
push 0
push 0
push 0
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x148]
push eax
call sub.WININET.DLL_HttpSendRequestA
cmp eax, 1
sbb eax, eax
inc eax
mov edx, dword [ebp - 4]
mov byte [edx + 0x11c], al
mov eax, dword [ebp - 4]
cmp byte [eax + 0x11c], 0
jne 0x4cfc1f
mov eax, dword [ebp - 4]
cmp dword [eax + 0x118], 0
je 0x4d068f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x118]
call fcn.0044763c
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x118], edx
jmp 0x4d068f
push ebp
call fcn.004cee58
pop ecx
push ebp
mov eax, 0x13
call fcn.004cee9c
pop ecx
mov edx, dword [ebp - 4]
mov byte [edx + 0x11c], al
mov eax, dword [ebp - 4]
cmp byte [eax + 0x11c], 0
je 0x4cfc7a
lea eax, [ebp - 0x1098]
lea edx, [ebp - 0x1004]
mov ecx, 0x1000
call fcn.00448704
mov eax, dword [ebp - 0x1098]
xor edx, edx
call fcn.00434554
mov edx, dword [ebp - 4]
mov dword [edx + 0x190], eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x68], 0
mov eax, dword [ebp - 4]
cmp dword [eax + 0x190], 0x1a0
jne 0x4cfcfc
mov eax, dword [ebp - 4]
cmp dword [eax + 0x134], 0
je 0x4cfcfc
push ebp
call fcn.004cf194
pop ecx
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x134]
je 0x4d068f
mov eax, dword [ebp - 4]
mov dword [eax + 0x190], 0xffffffff
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x134], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x148]
push eax
call sub.WININET.DLL_InternetCloseHandle
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x148], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x144]
push eax
call sub.WININET.DLL_InternetCloseHandle
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x144], edx
jmp 0x4cf5fa
mov eax, dword [ebp - 4]
cmp dword [eax + 0x190], 0x191
jne 0x4cfe01
mov eax, dword [ebp - 4]
cmp word [eax + 0xfa], 0
je 0x4cfe01
push ebp
mov eax, 0x28
call fcn.004cee9c
pop ecx
mov edx, dword [ebp - 4]
mov byte [edx + 0x11c], al
mov eax, dword [ebp - 4]
cmp byte [eax + 0x11c], 0
je 0x4cfdb7
mov eax, dword [ebp - 4]
add eax, 0x154
lea edx, [ebp - 0x1004]
mov ecx, 0x1000
call fcn.00448704
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x154]
mov eax, 0x4d073c
call fcn.00448b04
mov dword [ebp - 0x100c], eax
cmp dword [ebp - 0x100c], 0
je 0x4cfdc4
add dword [ebp - 0x100c], 2
mov eax, dword [ebp - 4]
add eax, 0x154
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x154]
call fcn.00448770
mov ecx, eax
sub ecx, dword [ebp - 0x100c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x154]
mov edx, dword [ebp - 0x100c]
call fcn.004489d8
jmp 0x4cfdc4
mov eax, dword [ebp - 4]
add eax, 0x154
call fcn.00448494
mov eax, dword [ebp - 4]
push eax
push sym.tripyupdate.exe__Winhttp_TCustomWinHTTP_CallPasswordRequest_qqrv
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x114]
call sym.tripyupdate.exe__Winthread_TCustomWinThread_Synchronize_qqrynpqqrv_v
push ebp
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x30]
mov eax, 0x1c
call fcn.004ceee8
pop ecx
push ebp
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x34]
mov eax, 0x1d
call fcn.004ceee8
pop ecx
jmp 0x4cfe6a
mov eax, dword [ebp - 4]
cmp dword [eax + 0x190], 0x197
jne 0x4cfe6a
mov eax, dword [ebp - 4]
cmp word [eax + 0x102], 0
je 0x4cfe6a
mov eax, dword [ebp - 4]
push eax
push sym.tripyupdate.exe__Winhttp_TCustomWinHTTP_CallProxyAuthenticationRequest_qqrv
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x114]
call sym.tripyupdate.exe__Winthread_TCustomWinThread_Synchronize_qqrynpqqrv_v
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x6c]
mov dword [ebp - 0x104c], eax
push ebp
mov eax, dword [ebp - 0x104c]
mov edx, dword [eax + 0x14]
mov eax, 0x2b
call fcn.004ceee8
pop ecx
push ebp
mov eax, dword [ebp - 0x104c]
mov edx, dword [eax + 0x18]
mov eax, 0x2c
call fcn.004ceee8
pop ecx
mov eax, dword [ebp - 4]
cmp byte [eax + 0x11d], 0
jne 0x4cf987
mov eax, dword [ebp - 4]
cmp dword [eax + 0x118], 0
je 0x4cfe9f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x118]
call fcn.0044763c
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x118], edx
push ebp
call fcn.004cee58
pop ecx
push ebp
mov eax, 1
call fcn.004cee9c
pop ecx
test al, al
je 0x4cfece
mov eax, dword [ebp - 4]
add eax, 0x154
lea edx, [ebp - 0x1004]
mov ecx, 0x1000
call fcn.00448704
push ebp
mov eax, 5
call fcn.004cee9c
pop ecx
mov edx, dword [ebp - 4]
mov byte [edx + 0x11c], al
mov eax, dword [ebp - 4]
cmp byte [eax + 0x11c], 0
je 0x4cff1d
lea eax, [ebp - 0x109c]
lea edx, [ebp - 0x1004]
mov ecx, 0x1000
call fcn.00448704
mov eax, dword [ebp - 0x109c]
xor edx, edx
call fcn.00434554
mov edx, dword [ebp - 4]
mov dword [edx + 0x128], eax
jmp 0x4cff28
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x128], edx
push ebp
mov eax, 0x35
call fcn.004cee9c
pop ecx
test al, al
jne 0x4cff43
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x134], edx
mov eax, dword [ebp - 4]
cmp word [eax + 0x82], 0
je 0x4d025e
push ebp
mov eax, 0x16
call fcn.004cee9c
pop ecx
test al, al
je 0x4cff7e
mov eax, dword [ebp - 4]
add eax, 0x150
lea edx, [ebp - 0x1004]
mov ecx, 0x1000
call fcn.00448704
jmp 0x4cff8b
mov eax, dword [ebp - 4]
add eax, 0x150
call fcn.00448494
push ebp
mov eax, 6
call fcn.004cee9c
pop ecx
test al, al
je 0x4cffb5
mov eax, dword [ebp - 4]
add eax, 0x158
lea edx, [ebp - 0x1004]
mov ecx, 0x1000
call fcn.00448704
jmp 0x4cffc2
mov eax, dword [ebp - 4]
add eax, 0x158
call fcn.00448494
push ebp
mov eax, 0x1d
call fcn.004cee9c
pop ecx
test al, al
je 0x4cffec
mov eax, dword [ebp - 4]
add eax, 0x15c
lea edx, [ebp - 0x1004]
mov ecx, 0x1000
call fcn.00448704
jmp 0x4cfff9
mov eax, dword [ebp - 4]
add eax, 0x15c
call fcn.00448494
push ebp
mov eax, 0x21
call fcn.004cee9c
pop ecx
test al, al
je 0x4d0023
mov eax, dword [ebp - 4]
add eax, 0x160
lea edx, [ebp - 0x1004]
mov ecx, 0x1000
call fcn.00448704
jmp 0x4d0030
mov eax, dword [ebp - 4]
add eax, 0x160
call fcn.00448494
push ebp
mov eax, 0x36
call fcn.004cee9c
pop ecx
test al, al
je 0x4d005a
mov eax, dword [ebp - 4]
add eax, 0x164
lea edx, [ebp - 0x1004]
mov ecx, 0x1000
call fcn.00448704
jmp 0x4d0067
mov eax, dword [ebp - 4]
add eax, 0x164
call fcn.00448494
push ebp
mov eax, 9
call fcn.004cee9c
pop ecx
test al, al
je 0x4d00a4
lea eax, [ebp - 0x10a0]
lea edx, [ebp - 0x1004]
mov ecx, 0x1000
call fcn.00448704
mov eax, dword [ebp - 0x10a0]
call sym.tripyupdate.exe__Winhttp_InternetTimeToDateTime_qqr17System_AnsiString
mov eax, dword [ebp - 4]
fstp qword [eax + 0x168]
wait
jmp 0x4d00b5
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x168], edx
mov dword [eax + 0x16c], edx
push ebp
mov eax, 0xb
call fcn.004cee9c
pop ecx
test al, al
je 0x4d00f2
lea eax, [ebp - 0x10a4]
lea edx, [ebp - 0x1004]
mov ecx, 0x1000
call fcn.00448704
mov eax, dword [ebp - 0x10a4]
call sym.tripyupdate.exe__Winhttp_InternetTimeToDateTime_qqr17System_AnsiString
mov eax, dword [ebp - 4]
fstp qword [eax + 0x170]
wait
jmp 0x4d0103
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x170], edx
mov dword [eax + 0x174], edx
push ebp
mov eax, 0xa
call fcn.004cee9c
pop ecx
test al, al
je 0x4d0140
lea eax, [ebp - 0x10a8]
lea edx, [ebp - 0x1004]
mov ecx, 0x1000
call fcn.00448704
mov eax, dword [ebp - 0x10a8]
call sym.tripyupdate.exe__Winhttp_InternetTimeToDateTime_qqr17System_AnsiString
mov eax, dword [ebp - 4]
fstp qword [eax + 0x178]
wait
jmp 0x4d0151
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x178], edx
mov dword [eax + 0x17c], edx
mov eax, dword [ebp - 4]
push eax
push sym.tripyupdate.exe__Winhttp_TCustomWinHTTP_CallHeaderInfo_qqrv
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x114]
call sym.tripyupdate.exe__Winthread_TCustomWinThread_Synchronize_qqrynpqqrv_v
mov eax, dword [ebp - 4]
cmp byte [eax + 0x11f], 0
je 0x4d068f
jmp 0x4d025e
push 0
push 0x80
push 3
push 0
push 3
push SysReAllocStringLen
mov eax, dword [ebp - 0x1020]
call fcn.00448974
push eax
call sub.KERNEL32.DLL_CreateFileA
mov edx, dword [ebp - 4]
mov dword [edx + 0x14c], eax
mov eax, dword [ebp - 4]
cmp dword [eax + 0x14c], 0xffffffff
jne 0x4d01d2
mov eax, dword [ebp - 4]
mov dword [eax + 0x190], 0x194
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x128], edx
jmp 0x4d025e
mov eax, dword [ebp - 4]
mov dword [eax + 0x190], 0xc8
lea eax, [ebp - 0x100c]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14c]
push eax
call sub.KERNEL32.DLL_GetFileSize
mov edx, dword [ebp - 4]
mov dword [edx + 0x128], eax
mov eax, dword [ebp - 4]
cmp dword [eax + 0x134], 0
je 0x4d0229
push 0
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x134]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14c]
push eax
call sub.KERNEL32.DLL_SetFilePointer
jmp 0x4d025e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov dword [ebp - 0x1050], eax
mov eax, dword [ebp - 0x1050]
cmp dword [eax + 4], 0
je 0x4d025e
push 0
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x134]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14c]
push eax
call sub.KERNEL32.DLL_SetFilePointer
push ebp
call fcn.004cee58
pop ecx
mov eax, dword [ebp - 4]
cmp dword [eax + 0x190], 0xc8
je 0x4d0287
mov eax, dword [ebp - 4]
cmp dword [eax + 0x190], 0xce
jne 0x4d03c8
mov eax, dword [ebp - 4]
cmp dword [eax + 0x44], 0
je 0x4d03c8
xor eax, eax
push ebp
push 0x4d0343
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
cmp dword [eax + 0x134], 0
sete al
push eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x44]
mov dl, 1
mov eax, dword [sym.tripyupdate.exe__Winhttp_TWinHTTPFileStream_]
call sym.tripyupdate.exe__Winhttp_TWinHTTPFileStream__bctr_qqrx17System_AnsiStringo
mov edx, dword [ebp - 4]
mov dword [edx + 0x118], eax
mov eax, dword [ebp - 4]
cmp dword [eax + 0x134], 0
je 0x4d030a
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x134]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x118]
xor ecx, ecx
mov ebx, dword [eax]
call dword [ebx + 0x14]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x134]
je 0x4d030a
mov eax, dword [ebp - 4]
mov dword [eax + 0x190], 0xffffffff
jmp 0x4d032f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
mov dl, byte [0x4d0740]
cmp dl, byte [eax + 5]
je 0x4d032f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
mov dl, byte [eax + 5]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call sym.tripyupdate.exe__Winhttp_SetFileAttr_qqrx17System_AnsiStringx57System__Set_t29Winhttp_TWinHTTPFileAttribute_iuc_0_iuc_5_
mov eax, dword [ebp - 4]
mov byte [eax + 0x11e], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4d0383
mov eax, dword [ebp - 4]
cmp dword [eax + 0x190], 0xffffffff
jne 0x4d0400
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x148]
push eax
call sub.WININET.DLL_InternetCloseHandle
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x148], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x144]
push eax
call sub.WININET.DLL_InternetCloseHandle
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x144], edx
jmp 0x4cf5fa
mov dl, 1
mov eax, dword [0x41c0a0]
call fcn.0044760c
mov edx, dword [ebp - 4]
mov dword [edx + 0x118], eax
mov eax, dword [ebp - 4]
cmp byte [eax + 0x11c], 0
je 0x4d0400
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x128]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x118]
mov ecx, dword [eax]
call dword [ecx + 4]
mov eax, dword [ebp - 4]
cmp dword [eax + 0x134], 0
je 0x4d0418
mov eax, dword [ebp - 4]
cmp byte [eax + 0x11e], 0
jne 0x4d041c
xor eax, eax
jmp 0x4d041e
mov al, 1
mov byte [ebp - 0x100d], al
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x12c], edx
mov eax, dword [ebp - 0x1014]
call fcn.004466a4
mov edx, dword [ebp - 4]
mov dword [edx + 0x124], eax
jmp 0x4d05f8
cmp byte [ebp - 0x1039], 0
je 0x4d0484
push 0
lea eax, [ebp - 0x100c]
push eax
mov eax, dword [ebp - 0x1014]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x124]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14c]
push eax
call sub.KERNEL32.DLL_ReadFile
test eax, eax
je 0x4d0607
jmp 0x4d04b3
lea eax, [ebp - 0x100c]
push eax
mov eax, dword [ebp - 0x1014]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x124]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x148]
push eax
call sub.WININET.DLL_InternetReadFile
test eax, eax
je 0x4d0607
cmp dword [ebp - 0x100c], 0
je 0x4d0607
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x100c]
add dword [eax + 0x12c], edx
cmp byte [ebp - 0x100d], 0
je 0x4d05b7
mov byte [ebp - 0x100d], 0
mov eax, dword [ebp - 0x1014]
call fcn.004466a4
mov dword [ebp - 0x1038], eax
xor eax, eax
push ebp
push 0x4d055a
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, dword [ebp - 0x1038]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x118]
mov ecx, dword [ebp - 0x1014]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x124]
mov ecx, dword [ebp - 0x1014]
mov eax, dword [ebp - 0x1038]
call fcn.004338a4
xor al, 1
mov edx, dword [ebp - 4]
mov byte [edx + 0x11d], al
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4d0561
mov eax, dword [ebp - 0x1038]
call fcn.004466c0
ret
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x124]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x118]
mov ecx, dword [ebp - 0x100c]
mov ebx, dword [eax]
call dword [ebx + 0x10]
mov eax, dword [ebp - 4]
cmp word [eax + 0x9a], 0
je 0x4d05f8
mov eax, dword [ebp - 4]
push eax
push sym.tripyupdate.exe__Winhttp_TCustomWinHTTP_CallProgress_qqrv
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x114]
call sym.tripyupdate.exe__Winthread_TCustomWinThread_Synchronize_qqrynpqqrv_v
push ebp
call fcn.004cee58
pop ecx
test al, al
je 0x4d0448
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x124]
call fcn.004466c0
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x124], edx
mov eax, dword [ebp - 4]
cmp dword [eax + 0x190], 0xc8
je 0x4d0642
mov eax, dword [ebp - 4]
cmp dword [eax + 0x190], 0xce
je 0x4d0642
xor eax, eax
jmp 0x4d0644
mov al, 1
mov edx, dword [ebp - 4]
mov byte [edx + 0x11c], al
mov eax, dword [ebp - 4]
cmp byte [eax + 0x11c], 0
je 0x4d068f
mov eax, dword [ebp - 4]
cmp dword [eax + 0x128], 0
je 0x4d068f
mov eax, dword [ebp - 4]
cmp dword [eax + 0x118], 0
je 0x4d068f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x128]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x12c]
sete al
mov edx, dword [ebp - 4]
mov byte [edx + 0x11c], al
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4d06cf
lea eax, [ebp - 0x10a8]
mov edx, 0xb
call fcn.004484b8
lea eax, [ebp - 0x102c]
mov edx, 6
call fcn.004484b8
lea eax, [ebp - 0x1008]
call fcn.00448494
ret