Function at 0x6d203f26
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.6d20a9b0
push 0xfffffffffffffffe
push 0x6d2290e0
push 0x6d20ab30
mov eax, dword fs:[0]
push eax
sub esp, 0xb4
mov eax, dword [0x6d22e258]
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.6d20b0f0
pop ecx
pop ecx
test eax, eax
je 0x6d203fb5
mov dword [ebp - 0x24], 1
jmp 0x6d2048a4
mov dword [ebp - 0x34], esi
cmp dword [ebp + 0x695c], esi
je 0x6d204006
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 [0x6d233754]
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 0x6d204011
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 0x6d203fa9
push 0x3c
push esi
lea eax, [ebp - 0xbc]
push eax
call fcn.6d20a0b0
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 0x6d2040c7
push edi
lea eax, [ebp + 0x4fc0]
push eax
push 0xbb9
push dword [0x6d233754]
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 0x6d221be6
push 0x6d221be7
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 0x6d203fa9
lea eax, [ebp + 0x37c0]
cmp dword [ebp - 0x8c], esi
je 0x6d20410b
push dword [ebp - 0x90]
jmp 0x6d204110
push 0x6d221d04
push eax
call dword [sym.imp.kernel32.dll_lstrcpyA]
cmp dword [ebp - 0x84], esi
je 0x6d204132
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 0x6d20416f
push edi
lea eax, [ebp + 0x4fc0]
push eax
push 0xbba
push dword [0x6d233754]
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 0x6d221bee
push str.HTTP_1.1
lea eax, [ebp + 0x37c0]
push eax
push 0x6d221d14
push dword [ebp - 0x54]
call dword [sym.imp.wininet.dll_HttpOpenRequestA]
mov dword [ebp - 0x1c], eax
cmp eax, esi
je 0x6d203fa9
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 0x6d203fa9
push esi
push eax
call dword [sym.imp.kernel32.dll_GetFileSize]
mov dword [ebp - 0x30], eax
cmp dword [ebp + 0x6958], esi
jne 0x6d2041d7
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x6c], esi
cmp dword [ebp - 0x30], esi
je 0x6d204268
cmp dword [ebp - 0x30], 0xffffffff
je 0x6d204268
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 0x6d204268
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.6d2165d4
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 0x6d20429c
push edi
lea eax, [ebp + 0x4fc0]
push eax
push 0xbbb
push dword [0x6d233754]
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 0x6d20436a
cmp dword [ebp - 0x2c], esi
je 0x6d203fa9
call dword [sym.imp.kernel32.dll_GetLastError]
mov ecx, eax
sub ecx, 0x2ee2
je 0x6d2042f7
sub ecx, 5
je 0x6d2042f7
sub ecx, 0x16
je 0x6d2042f7
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 0x6d20429c
mov dword [ebp - 0x2c], 1
jmp 0x6d20429c
mov dword [ebp - 0x2c], esi
push edi
cmp eax, 0x2ee2
jne 0x6d204310
lea eax, [ebp + 0x5fc0]
push eax
push 0x198
jmp 0x6d204321
cmp eax, 0x2ee7
lea eax, [ebp + 0x5fc0]
push eax
push 0x7ec
push dword [0x6d233754]
call ebx
push edi
lea eax, [ebp + 0x57c0]
push eax
push 0x7d4
push dword [0x6d233754]
call ebx
cmp dword [ebp + 0x6960], esi
je 0x6d20429c
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 0x6d20429c
cmp dword [ebp - 0x2c], esi
je 0x6d203fa9
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 0x6d2043aa
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 0x6d2043c2
cmp eax, 0x191
jne 0x6d204415
cmp dword [ebp - 0x2c], esi
je 0x6d204415
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 0x6d2043e8
mov dword [ebp - 0x2c], esi
jmp 0x6d2043b1
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 0x6d2043b1
cmp eax, 0xc8
je 0x6d204699
cmp eax, 0xce
je 0x6d204699
cmp eax, 0x1a0
jne 0x6d204441
cmp dword [ebp - 0x30], esi
je 0x6d204441
cmp dword [ebp - 0x30], 0xffffffff
jne 0x6d20475e
lea ecx, [eax - 0x190]
cmp ecx, 0xc7
ja 0x6d204625
cmp eax, 0x193
jne 0x6d204489
push edi
lea eax, [ebp + 0x57c0]
push eax
push 0x2bc
push dword [0x6d233754]
call ebx
push edi
lea eax, [ebp + 0x5fc0]
push eax
push 0x258
push dword [0x6d233754]
call ebx
jmp 0x6d204614
cmp eax, 0x1f4
jne 0x6d2044f7
push edi
lea eax, [ebp + 0x57c0]
push eax
push 0x2be
push dword [0x6d233754]
call ebx
push edi
lea eax, [ebp + 0x5fc0]
push eax
push 0x25a
push dword [0x6d233754]
call ebx
cmp dword [ebp + 0x6960], esi
je 0x6d20468d
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 0x6d20468d
mov dword [ebp - 0x48], 1
jmp 0x6d20468d
cmp eax, 0x1f7
jne 0x6d2045e4
cmp dword [ebp - 0x5c], 5
jge 0x6d20457d
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], esi
jl 0x6d20456a
cmp dword [ebp + 0x695c], esi
je 0x6d20455a
push edi
lea eax, [ebp + 0x4fc0]
push eax
push 0xbbc
push dword [0x6d233754]
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 0x6d20450e
inc dword [ebp - 0x5c]
add dword [ebp - 0x58], 0x1e
mov dword [ebp - 0x48], 1
jmp 0x6d20413f
push edi
lea eax, [ebp + 0x57c0]
push eax
push 0x2bd
push dword [0x6d233754]
call ebx
push edi
lea eax, [ebp + 0x5fc0]
push eax
push 0x259
push dword [0x6d233754]
call ebx
cmp dword [ebp + 0x6960], esi
je 0x6d20468d
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 0x6d20468d
mov dword [ebp - 0x5c], esi
mov dword [ebp - 0x58], 0x3c
jmp 0x6d204571
push edi
lea eax, [ebp + 0x57c0]
push eax
push 0x2be
push dword [0x6d233754]
call ebx
push edi
lea eax, [ebp + 0x5fc0]
push eax
push dword [ebp - 0x3c]
push dword [0x6d233754]
call ebx
cmp dword [ebp + 0x6960], esi
je 0x6d20468d
push 0x40
lea eax, [ebp + 0x57c0]
push eax
lea eax, [ebp + 0x5fc0]
jmp 0x6d204680
push edi
lea eax, [ebp + 0x5fc0]
push eax
push 0x2bf
push dword [0x6d233754]
call ebx
push edi
lea eax, [ebp + 0x47c0]
push eax
push 0x25b
push dword [0x6d233754]
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 0x6d20468d
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 0x6d20484d
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 0x6d2046cb
mov dword [ebp - 0x4c], 0xe4e1c0
jmp 0x6d20477a
cmp dword [ebp - 0x6c], esi
je 0x6d20477a
mov eax, dword [ebp - 0x30]
cmp eax, esi
je 0x6d20477a
cmp dword [ebp - 0x4c], eax
jne 0x6d20477a
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 0x6d20477a
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 0x6d204766
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 0x6d20477a
mov dword [ebp - 0x24], esi
jmp 0x6d2048a4
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 0x6d2047a6
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 0x6d2047bb
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 0x6d20483d
cmp dword [ebp - 0x40], esi
je 0x6d2047fc
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 0x6d204821
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.6d203ece
push esi
mov eax, dword [ebp - 0x28]
push dword [eax + 0x60]
call dword [sym.imp.kernel32.dll_WaitForSingleObject]
test eax, eax
je 0x6d203fa9
cmp dword [ebp - 0x40], esi
jne 0x6d2047bb
jmp 0x6d204844
mov dword [ebp - 0x44], 1
cmp dword [ebp - 0x44], esi
jne 0x6d203fa9
cmp dword [ebp + 0x695c], esi
je 0x6d20487a
push edi
lea eax, [ebp + 0x4fc0]
push eax
push 0xbbd
push dword [0x6d233754]
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 0x6d204888
push dword [ebp - 0x1c]
call dword [sym.imp.wininet.dll_InternetCloseHandle]
cmp dword [ebp - 0x20], 0xffffffff
je 0x6d20489b
push dword [ebp - 0x20]
call dword [sym.imp.kernel32.dll_CloseHandle]
or dword [ebp - 0x20], 0xffffffff
cmp dword [ebp - 0x48], esi
jne 0x6d20413f
mov dword [ebp - 4], 0xfffffffe
call fcn.6d2048e3
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.6d20a065
add ebp, 0x6948
leave
ret 0x14