Function at 0x6d313f26
Capabilities:
Check http status code
Connect to http server
Create http request
Download and write a file
Get file size
Get http content length
Parse url
Read data from internet
Receive and write data from server to client
Receive data
Send data
Send http request
Write file on windows

Disassembly:
push ebp
lea ebp, [esp - 0x6948]
mov eax, 0x6948
call fcn.6d31a9b0
push 0xfffffffffffffffe
push 0x6d3390e0
push 0x6d31ab30
mov eax, dword fs:[0]
push eax
sub esp, 0xb4
mov eax, dword [0x6d33e258]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp + 0x6944], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp + 0x6950]
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp + 0x6954]
mov dword [ebp - 0x78], ecx
xor esi, esi
mov dword [ebp - 0x60], esi
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x1c], esi
or dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x24], esi
mov dword [ebp - 4], esi
push str.file:__
push eax
call fcn.6d31b0f0
pop ecx
pop ecx
test eax, eax
je 0x6d313fb5
mov dword [ebp - 0x24], 1
jmp 0x6d3148a4
mov dword [ebp - 0x34], esi
cmp dword [ebp + 0x695c], esi
je 0x6d314006
push 0x3ee
mov eax, dword [ebp - 0x28]
push dword [eax + 4]
call dword [sym.imp.USER32.dll_GetDlgItem]
mov dword [ebp - 0x34], eax
mov edi, 0x800
push edi
lea eax, [ebp + 0x4fc0]
push eax
push 0xbb8
push dword [0x6d343754]
mov ebx, dword [sym.imp.USER32.dll_LoadStringA]
call ebx
lea eax, [ebp + 0x4fc0]
push eax
push dword [ebp - 0x34]
call dword [sym.imp.USER32.dll_SetWindowTextA]
jmp 0x6d314011
mov edi, 0x800
mov ebx, dword [sym.imp.USER32.dll_LoadStringA]
push esi
push esi
push esi
push esi
push str.deployHelper
call dword [sym.imp.wininet.dll_InternetOpenA]
mov dword [ebp - 0x60], eax
cmp eax, esi
je 0x6d313fa9
push 0x3c
push esi
lea eax, [ebp - 0xbc]
push eax
call fcn.6d31a0b0
add esp, 0xc
mov dword [ebp - 0xbc], 0x3c
lea eax, [ebp + 0x1020]
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa8], edi
xor eax, eax
mov word [ebp - 0xa4], ax
lea eax, [ebp + 0x20]
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x8c], edi
lea eax, [ebp + 0x820]
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], edi
lea eax, [ebp - 0xbc]
push eax
push esi
push dword [ebp - 0x38]
call dword [sym.imp.kernel32.dll_lstrlenA]
push eax
push dword [ebp - 0x38]
call dword [sym.imp.wininet.dll_InternetCrackUrlA]
cmp dword [ebp + 0x695c], esi
je 0x6d3140c7
push edi
lea eax, [ebp + 0x4fc0]
push eax
push 0xbb9
push dword [0x6d343754]
call ebx
lea eax, [ebp + 0x4fc0]
push eax
push dword [ebp - 0x34]
call dword [sym.imp.USER32.dll_SetWindowTextA]
push esi
push esi
push 3
push 0x6d331be6
push 0x6d331be7
push dword [ebp - 0xa4]
push dword [ebp - 0xac]
push dword [ebp - 0x60]
call dword [sym.imp.wininet.dll_InternetConnectA]
mov dword [ebp - 0x54], eax
cmp eax, esi
je 0x6d313fa9
lea eax, [ebp + 0x37c0]
cmp dword [ebp - 0x8c], esi
je 0x6d31410b
push dword [ebp - 0x90]
jmp 0x6d314110
push 0x6d331d04
push eax
call dword [sym.imp.kernel32.dll_lstrcpyA]
cmp dword [ebp - 0x84], esi
je 0x6d314132
push dword [ebp - 0x88]
lea eax, [ebp + 0x37c0]
push eax
call dword [sym.imp.kernel32.dll_lstrcatA]
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x5c], esi
mov dword [ebp - 0x58], 0x3c
mov dword [ebp - 0x48], esi
cmp dword [ebp + 0x695c], esi
je 0x6d31416f
push edi
lea eax, [ebp + 0x4fc0]
push eax
push 0xbba
push dword [0x6d343754]
call ebx
lea eax, [ebp + 0x4fc0]
push eax
push dword [ebp - 0x34]
call dword [sym.imp.USER32.dll_SetWindowTextA]
push esi
push 0x4400000
push esi
push 0x6d331bee
push str.HTTP_1.1
lea eax, [ebp + 0x37c0]
push eax
push 0x6d331d14
push dword [ebp - 0x54]
call dword [sym.imp.wininet.dll_HttpOpenRequestA]
mov dword [ebp - 0x1c], eax
cmp eax, esi
je 0x6d313fa9
push esi
push 0x20
push 4
push esi
push esi
push 0x40000000
push dword [ebp - 0x78]
call dword [sym.imp.kernel32.dll_CreateFileA]
mov dword [ebp - 0x20], eax
cmp eax, 0xffffffff
je 0x6d313fa9
push esi
push eax
call dword [sym.imp.kernel32.dll_GetFileSize]
mov dword [ebp - 0x30], eax
cmp dword [ebp + 0x6958], esi
jne 0x6d3141d7
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x6c], esi
cmp dword [ebp - 0x30], esi
je 0x6d314268
cmp dword [ebp - 0x30], 0xffffffff
je 0x6d314268
lea eax, [ebp - 0x80]
push eax
push esi
push esi
push dword [ebp - 0x20]
call dword [sym.imp.kernel32.dll_GetFileTime]
test eax, eax
je 0x6d314268
lea eax, [ebp]
push eax
lea eax, [ebp - 0x80]
push eax
call dword [sym.imp.kernel32.dll_FileTimeToSystemTime]
push 0x1e
lea eax, [ebp + 0x6924]
push eax
push esi
lea eax, [ebp]
push eax
call dword [sym.imp.wininet.dll_InternetTimeFromSystemTime]
lea eax, [ebp + 0x6924]
push eax
push dword [ebp - 0x30]
push str.Range:_bytes_d__r_nIf_Range:__s_r_n
push 0x64
lea eax, [ebp + 0x68c0]
push eax
call fcn.6d32a027
add esp, 0x14
push 0xa0000000
lea eax, [ebp + 0x68c0]
push eax
call dword [sym.imp.kernel32.dll_lstrlenA]
push eax
lea eax, [ebp + 0x68c0]
push eax
push dword [ebp - 0x1c]
call dword [sym.imp.wininet.dll_HttpAddRequestHeadersA]
mov dword [ebp - 0x6c], 1
mov dword [ebp - 0x2c], 1
cmp dword [ebp + 0x695c], esi
je 0x6d31429c
push edi
lea eax, [ebp + 0x4fc0]
push eax
push 0xbbb
push dword [0x6d343754]
call ebx
lea eax, [ebp + 0x4fc0]
push eax
push dword [ebp - 0x34]
call dword [sym.imp.USER32.dll_SetWindowTextA]
push esi
push esi
push esi
push esi
push dword [ebp - 0x1c]
call dword [sym.imp.wininet.dll_HttpSendRequestA]
test eax, eax
jne 0x6d31436a
cmp dword [ebp - 0x2c], esi
je 0x6d313fa9
call dword [sym.imp.kernel32.dll_GetLastError]
mov ecx, eax
sub ecx, 0x2ee2
je 0x6d3142f7
sub ecx, 5
je 0x6d3142f7
sub ecx, 0x16
je 0x6d3142f7
mov dword [ebp - 0x2c], esi
push esi
push 7
push eax
push dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
push dword [eax + 4]
call dword [sym.imp.wininet.dll_InternetErrorDlg]
test eax, eax
jne 0x6d31429c
mov dword [ebp - 0x2c], 1
jmp 0x6d31429c
mov dword [ebp - 0x2c], esi
push edi
cmp eax, 0x2ee2
jne 0x6d314310
lea eax, [ebp + 0x5fc0]
push eax
push 0x198
jmp 0x6d314321
cmp eax, 0x2ee7
lea eax, [ebp + 0x5fc0]
push eax
push 0x7ec
push dword [0x6d343754]
call ebx
push edi
lea eax, [ebp + 0x57c0]
push eax
push 0x7d4
push dword [0x6d343754]
call ebx
cmp dword [ebp + 0x6960], esi
je 0x6d31429c
push esi
lea eax, [ebp + 0x57c0]
push eax
lea eax, [ebp + 0x5fc0]
push eax
mov eax, dword [ebp - 0x28]
push dword [eax + 4]
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x6d31429c
cmp dword [ebp - 0x2c], esi
je 0x6d313fa9
call dword [sym.imp.kernel32.dll_GetLastError]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x38], 4
push esi
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x3c]
push eax
push 0x20000013
push dword [ebp - 0x1c]
call dword [sym.imp.wininet.dll_HttpQueryInfoA]
test eax, eax
jne 0x6d3143aa
call dword [sym.imp.kernel32.dll_GetLastError]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x2c], 1
mov eax, dword [ebp - 0x3c]
cmp eax, 0x197
je 0x6d3143c2
cmp eax, 0x191
jne 0x6d314415
cmp dword [ebp - 0x2c], esi
je 0x6d314415
push esi
push 7
push dword [ebp - 0x44]
push dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
push dword [eax + 4]
call dword [sym.imp.wininet.dll_InternetErrorDlg]
cmp eax, 0x4c7
jne 0x6d3143e8
mov dword [ebp - 0x2c], esi
jmp 0x6d3143b1
push esi
push esi
push esi
push esi
push dword [ebp - 0x1c]
call dword [sym.imp.wininet.dll_HttpSendRequestA]
mov dword [ebp - 0x38], 4
push esi
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x3c]
push eax
push 0x20000013
push dword [ebp - 0x1c]
call dword [sym.imp.wininet.dll_HttpQueryInfoA]
jmp 0x6d3143b1
cmp eax, 0xc8
je 0x6d314699
cmp eax, 0xce
je 0x6d314699
cmp eax, 0x1a0
jne 0x6d314441
cmp dword [ebp - 0x30], esi
je 0x6d314441
cmp dword [ebp - 0x30], 0xffffffff
jne 0x6d31475e
lea ecx, [eax - 0x190]
cmp ecx, 0xc7
ja 0x6d314625
cmp eax, 0x193
jne 0x6d314489
push edi
lea eax, [ebp + 0x57c0]
push eax
push 0x2bc
push dword [0x6d343754]
call ebx
push edi
lea eax, [ebp + 0x5fc0]
push eax
push 0x258
push dword [0x6d343754]
call ebx
jmp 0x6d314614
cmp eax, 0x1f4
jne 0x6d3144f7
push edi
lea eax, [ebp + 0x57c0]
push eax
push 0x2be
push dword [0x6d343754]
call ebx
push edi
lea eax, [ebp + 0x5fc0]
push eax
push 0x25a
push dword [0x6d343754]
call ebx
cmp dword [ebp + 0x6960], esi
je 0x6d31468d
push 0x34
lea eax, [ebp + 0x57c0]
push eax
lea eax, [ebp + 0x5fc0]
push eax
mov eax, dword [ebp - 0x28]
push dword [eax + 4]
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 6
jne 0x6d31468d
mov dword [ebp - 0x48], 1
jmp 0x6d31468d
cmp eax, 0x1f7
jne 0x6d3145e4
cmp dword [ebp - 0x5c], 5
jge 0x6d31457d
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], esi
jl 0x6d31456a
cmp dword [ebp + 0x695c], esi
je 0x6d31455a
push edi
lea eax, [ebp + 0x4fc0]
push eax
push 0xbbc
push dword [0x6d343754]
call ebx
push dword [ebp - 0x50]
lea eax, [ebp + 0x4fc0]
push eax
lea eax, [ebp + 0x47c0]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea eax, [ebp + 0x47c0]
push eax
push dword [ebp - 0x34]
call dword [sym.imp.USER32.dll_SetWindowTextA]
push 0x3e8
call dword [sym.imp.kernel32.dll_Sleep]
dec dword [ebp - 0x50]
jmp 0x6d31450e
inc dword [ebp - 0x5c]
add dword [ebp - 0x58], 0x1e
mov dword [ebp - 0x48], 1
jmp 0x6d31413f
push edi
lea eax, [ebp + 0x57c0]
push eax
push 0x2bd
push dword [0x6d343754]
call ebx
push edi
lea eax, [ebp + 0x5fc0]
push eax
push 0x259
push dword [0x6d343754]
call ebx
cmp dword [ebp + 0x6960], esi
je 0x6d31468d
push 0x34
lea eax, [ebp + 0x57c0]
push eax
lea eax, [ebp + 0x5fc0]
push eax
mov eax, dword [ebp - 0x28]
push dword [eax + 4]
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 6
jne 0x6d31468d
mov dword [ebp - 0x5c], esi
mov dword [ebp - 0x58], 0x3c
jmp 0x6d314571
push edi
lea eax, [ebp + 0x57c0]
push eax
push 0x2be
push dword [0x6d343754]
call ebx
push edi
lea eax, [ebp + 0x5fc0]
push eax
push dword [ebp - 0x3c]
push dword [0x6d343754]
call ebx
cmp dword [ebp + 0x6960], esi
je 0x6d31468d
push 0x40
lea eax, [ebp + 0x57c0]
push eax
lea eax, [ebp + 0x5fc0]
jmp 0x6d314680
push edi
lea eax, [ebp + 0x5fc0]
push eax
push 0x2bf
push dword [0x6d343754]
call ebx
push edi
lea eax, [ebp + 0x47c0]
push eax
push 0x25b
push dword [0x6d343754]
call ebx
push dword [ebp - 0x3c]
lea eax, [ebp + 0x47c0]
push eax
lea eax, [ebp + 0x57c0]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
cmp dword [ebp + 0x6960], esi
je 0x6d31468d
push 0x40
lea eax, [ebp + 0x5fc0]
push eax
lea eax, [ebp + 0x57c0]
push eax
mov eax, dword [ebp - 0x28]
push dword [eax + 4]
call dword [sym.imp.USER32.dll_MessageBoxA]
mov dword [ebp - 0x24], 1
jmp 0x6d31484d
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x74], 4
push esi
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x4c]
push eax
push 0x20000005
push dword [ebp - 0x1c]
call dword [sym.imp.wininet.dll_HttpQueryInfoA]
cmp dword [ebp - 0x4c], esi
ja 0x6d3146cb
mov dword [ebp - 0x4c], 0xe4e1c0
jmp 0x6d31477a
cmp dword [ebp - 0x6c], esi
je 0x6d31477a
mov eax, dword [ebp - 0x30]
cmp eax, esi
je 0x6d31477a
cmp dword [ebp - 0x4c], eax
jne 0x6d31477a
mov dword [ebp - 0x68], 0x100
push esi
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp + 0x67c0]
push eax
push 0x35
push dword [ebp - 0x1c]
call dword [sym.imp.wininet.dll_HttpQueryInfoA]
test eax, eax
jne 0x6d31477a
push esi
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp + 0x67c0]
push eax
push 0xb
push dword [ebp - 0x1c]
call dword [sym.imp.wininet.dll_HttpQueryInfoA]
push esi
test eax, eax
je 0x6d314766
lea eax, [ebp + 0x10]
push eax
lea eax, [ebp + 0x67c0]
push eax
call dword [sym.imp.wininet.dll_InternetTimeToSystemTime]
lea eax, [ebp - 0xc4]
push eax
lea eax, [ebp + 0x10]
push eax
call dword [sym.imp.kernel32.dll_SystemTimeToFileTime]
lea eax, [ebp - 0xc4]
push eax
lea eax, [ebp - 0x80]
push eax
call dword [sym.imp.kernel32.dll_CompareFileTime]
cmp eax, 1
jne 0x6d31477a
mov dword [ebp - 0x24], esi
jmp 0x6d3148a4
push esi
push esi
push dword [ebp - 0x20]
call dword [sym.imp.kernel32.dll_SetFilePointer]
push dword [ebp - 0x20]
call dword [sym.imp.kernel32.dll_SetEndOfFile]
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x64], esi
mov dword [ebp - 0x44], esi
cmp dword [ebp - 0x3c], 0xce
jne 0x6d3147a6
mov eax, dword [ebp - 0x28]
add dword [eax + 0x30], 0xffffff9c
adc dword [eax + 0x34], 0xffffffff
push 2
push esi
push esi
push dword [ebp - 0x20]
call dword [sym.imp.kernel32.dll_SetFilePointer]
jmp 0x6d3147bb
push esi
push esi
push esi
push dword [ebp - 0x20]
call dword [sym.imp.kernel32.dll_SetFilePointer]
push dword [ebp - 0x20]
call dword [sym.imp.kernel32.dll_SetEndOfFile]
mov dword [ebp - 0x40], esi
lea eax, [ebp - 0x40]
push eax
mov eax, 0x1fa0
push eax
lea eax, [ebp + 0x1820]
push eax
push dword [ebp - 0x1c]
call dword [sym.imp.wininet.dll_InternetReadFile]
test eax, eax
je 0x6d31483d
cmp dword [ebp - 0x40], esi
je 0x6d3147fc
mov dword [ebp - 0x70], esi
push esi
lea eax, [ebp - 0x70]
push eax
push dword [ebp - 0x40]
lea eax, [ebp + 0x1820]
push eax
push dword [ebp - 0x20]
call dword [sym.imp.kernel32.dll_WriteFile]
mov eax, dword [ebp - 0x40]
add dword [ebp - 0x64], eax
cmp dword [ebp + 0x695c], esi
je 0x6d314821
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x30]
add ecx, eax
push ecx
mov ecx, dword [ebp - 0x64]
add ecx, eax
push ecx
push dword [ebp - 0x28]
call fcn.6d313ece
push esi
mov eax, dword [ebp - 0x28]
push dword [eax + 0x60]
call dword [sym.imp.kernel32.dll_WaitForSingleObject]
test eax, eax
je 0x6d313fa9
cmp dword [ebp - 0x40], esi
jne 0x6d3147bb
jmp 0x6d314844
mov dword [ebp - 0x44], 1
cmp dword [ebp - 0x44], esi
jne 0x6d313fa9
cmp dword [ebp + 0x695c], esi
je 0x6d31487a
push edi
lea eax, [ebp + 0x4fc0]
push eax
push 0xbbd
push dword [0x6d343754]
call ebx
lea eax, [ebp + 0x4fc0]
push eax
push dword [ebp - 0x34]
call dword [sym.imp.USER32.dll_SetWindowTextA]
cmp dword [ebp - 0x1c], esi
je 0x6d314888
push dword [ebp - 0x1c]
call dword [sym.imp.wininet.dll_InternetCloseHandle]
cmp dword [ebp - 0x20], 0xffffffff
je 0x6d31489b
push dword [ebp - 0x20]
call dword [sym.imp.kernel32.dll_CloseHandle]
or dword [ebp - 0x20], 0xffffffff
cmp dword [ebp - 0x48], esi
jne 0x6d31413f
mov dword [ebp - 4], 0xfffffffe
call fcn.6d3148e3
mov eax, dword [ebp - 0x24]
neg eax
sbb eax, eax
and eax, 0x80004005
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x6944]
xor ecx, ebp
call fcn.6d31a065
add ebp, 0x6948
leave
ret 0x14