Function at 0x6d6a1a2a
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.6d6a89f0
push 0xfffffffffffffffe
push 0x6d6dc030
push 0x6d6a9090
mov eax, dword fs:[0]
push eax
sub esp, 0xb4
mov eax, dword [0x6d6e05c8]
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.6d6a8cf0
pop ecx
pop ecx
test eax, eax
je 0x6d6a1ab9
mov dword [ebp - 0x24], 1
jmp 0x6d6a23a8
mov dword [ebp - 0x34], esi
cmp dword [ebp + 0x695c], esi
je 0x6d6a1b0a
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 [0x6d6e7218]
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 0x6d6a1b15
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 0x6d6a1aad
push 0x3c
push esi
lea eax, [ebp - 0xbc]
push eax
call fcn.6d6a8a20
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 0x6d6a1bcb
push edi
lea eax, [ebp + 0x4fc0]
push eax
push 0xbb9
push dword [0x6d6e7218]
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 0x6d6d4996
push 0x6d6d4997
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 0x6d6a1aad
lea eax, [ebp + 0x37c0]
cmp dword [ebp - 0x8c], esi
je 0x6d6a1c0f
push dword [ebp - 0x90]
jmp 0x6d6a1c14
push 0x6d6d4ab4
push eax
call dword [sym.imp.kernel32.dll_lstrcpyA]
cmp dword [ebp - 0x84], esi
je 0x6d6a1c36
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 0x6d6a1c73
push edi
lea eax, [ebp + 0x4fc0]
push eax
push 0xbba
push dword [0x6d6e7218]
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 0x6d6d499e
push str.HTTP_1.1
lea eax, [ebp + 0x37c0]
push eax
push 0x6d6d4ac4
push dword [ebp - 0x54]
call dword [sym.imp.wininet.dll_HttpOpenRequestA]
mov dword [ebp - 0x1c], eax
cmp eax, esi
je 0x6d6a1aad
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 0x6d6a1aad
push esi
push eax
call dword [sym.imp.kernel32.dll_GetFileSize]
mov dword [ebp - 0x30], eax
cmp dword [ebp + 0x6958], esi
jne 0x6d6a1cdb
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x6c], esi
cmp dword [ebp - 0x30], esi
je 0x6d6a1d6c
cmp dword [ebp - 0x30], 0xffffffff
je 0x6d6a1d6c
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 0x6d6a1d6c
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.6d6c1900
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 0x6d6a1da0
push edi
lea eax, [ebp + 0x4fc0]
push eax
push 0xbbb
push dword [0x6d6e7218]
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 0x6d6a1e6e
cmp dword [ebp - 0x2c], esi
je 0x6d6a1aad
call dword [sym.imp.kernel32.dll_GetLastError]
mov ecx, eax
sub ecx, 0x2ee2
je 0x6d6a1dfb
sub ecx, 5
je 0x6d6a1dfb
sub ecx, 0x16
je 0x6d6a1dfb
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 0x6d6a1da0
mov dword [ebp - 0x2c], 1
jmp 0x6d6a1da0
mov dword [ebp - 0x2c], esi
push edi
cmp eax, 0x2ee2
jne 0x6d6a1e14
lea eax, [ebp + 0x5fc0]
push eax
push 0x198
jmp 0x6d6a1e25
cmp eax, 0x2ee7
lea eax, [ebp + 0x5fc0]
push eax
push 0x7ec
push dword [0x6d6e7218]
call ebx
push edi
lea eax, [ebp + 0x57c0]
push eax
push 0x7d4
push dword [0x6d6e7218]
call ebx
cmp dword [ebp + 0x6960], esi
je 0x6d6a1da0
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 0x6d6a1da0
cmp dword [ebp - 0x2c], esi
je 0x6d6a1aad
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 0x6d6a1eae
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 0x6d6a1ec6
cmp eax, 0x191
jne 0x6d6a1f19
cmp dword [ebp - 0x2c], esi
je 0x6d6a1f19
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 0x6d6a1eec
mov dword [ebp - 0x2c], esi
jmp 0x6d6a1eb5
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 0x6d6a1eb5
cmp eax, 0xc8
je 0x6d6a219d
cmp eax, 0xce
je 0x6d6a219d
cmp eax, 0x1a0
jne 0x6d6a1f45
cmp dword [ebp - 0x30], esi
je 0x6d6a1f45
cmp dword [ebp - 0x30], 0xffffffff
jne 0x6d6a2262
lea ecx, [eax - 0x190]
cmp ecx, 0xc7
ja 0x6d6a2129
cmp eax, 0x193
jne 0x6d6a1f8d
push edi
lea eax, [ebp + 0x57c0]
push eax
push 0x2bc
push dword [0x6d6e7218]
call ebx
push edi
lea eax, [ebp + 0x5fc0]
push eax
push 0x258
push dword [0x6d6e7218]
call ebx
jmp 0x6d6a2118
cmp eax, 0x1f4
jne 0x6d6a1ffb
push edi
lea eax, [ebp + 0x57c0]
push eax
push 0x2be
push dword [0x6d6e7218]
call ebx
push edi
lea eax, [ebp + 0x5fc0]
push eax
push 0x25a
push dword [0x6d6e7218]
call ebx
cmp dword [ebp + 0x6960], esi
je 0x6d6a2191
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 0x6d6a2191
mov dword [ebp - 0x48], 1
jmp 0x6d6a2191
cmp eax, 0x1f7
jne 0x6d6a20e8
cmp dword [ebp - 0x5c], 5
jge 0x6d6a2081
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], esi
jl 0x6d6a206e
cmp dword [ebp + 0x695c], esi
je 0x6d6a205e
push edi
lea eax, [ebp + 0x4fc0]
push eax
push 0xbbc
push dword [0x6d6e7218]
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 0x6d6a2012
inc dword [ebp - 0x5c]
add dword [ebp - 0x58], 0x1e
mov dword [ebp - 0x48], 1
jmp 0x6d6a1c43
push edi
lea eax, [ebp + 0x57c0]
push eax
push 0x2bd
push dword [0x6d6e7218]
call ebx
push edi
lea eax, [ebp + 0x5fc0]
push eax
push 0x259
push dword [0x6d6e7218]
call ebx
cmp dword [ebp + 0x6960], esi
je 0x6d6a2191
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 0x6d6a2191
mov dword [ebp - 0x5c], esi
mov dword [ebp - 0x58], 0x3c
jmp 0x6d6a2075
push edi
lea eax, [ebp + 0x57c0]
push eax
push 0x2be
push dword [0x6d6e7218]
call ebx
push edi
lea eax, [ebp + 0x5fc0]
push eax
push dword [ebp - 0x3c]
push dword [0x6d6e7218]
call ebx
cmp dword [ebp + 0x6960], esi
je 0x6d6a2191
push 0x40
lea eax, [ebp + 0x57c0]
push eax
lea eax, [ebp + 0x5fc0]
jmp 0x6d6a2184
push edi
lea eax, [ebp + 0x5fc0]
push eax
push 0x2bf
push dword [0x6d6e7218]
call ebx
push edi
lea eax, [ebp + 0x47c0]
push eax
push 0x25b
push dword [0x6d6e7218]
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 0x6d6a2191
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 0x6d6a2351
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 0x6d6a21cf
mov dword [ebp - 0x4c], 0xe4e1c0
jmp 0x6d6a227e
cmp dword [ebp - 0x6c], esi
je 0x6d6a227e
mov eax, dword [ebp - 0x30]
cmp eax, esi
je 0x6d6a227e
cmp dword [ebp - 0x4c], eax
jne 0x6d6a227e
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 0x6d6a227e
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 0x6d6a226a
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 0x6d6a227e
mov dword [ebp - 0x24], esi
jmp 0x6d6a23a8
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 0x6d6a22aa
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 0x6d6a22bf
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 0x6d6a2341
cmp dword [ebp - 0x40], esi
je 0x6d6a2300
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 0x6d6a2325
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.6d6a19d2
push esi
mov eax, dword [ebp - 0x28]
push dword [eax + 0x60]
call dword [sym.imp.kernel32.dll_WaitForSingleObject]
test eax, eax
je 0x6d6a1aad
cmp dword [ebp - 0x40], esi
jne 0x6d6a22bf
jmp 0x6d6a2348
mov dword [ebp - 0x44], 1
cmp dword [ebp - 0x44], esi
jne 0x6d6a1aad
cmp dword [ebp + 0x695c], esi
je 0x6d6a237e
push edi
lea eax, [ebp + 0x4fc0]
push eax
push 0xbbd
push dword [0x6d6e7218]
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 0x6d6a238c
push dword [ebp - 0x1c]
call dword [sym.imp.wininet.dll_InternetCloseHandle]
cmp dword [ebp - 0x20], 0xffffffff
je 0x6d6a239f
push dword [ebp - 0x20]
call dword [sym.imp.kernel32.dll_CloseHandle]
or dword [ebp - 0x20], 0xffffffff
cmp dword [ebp - 0x48], esi
jne 0x6d6a1c43
mov dword [ebp - 4], 0xfffffffe
call fcn.6d6a23e7
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.6d6a886c
add ebp, 0x6948
leave
ret 0x14