Function at 0x1000db5c
Capabilities:
Check http status code
Connect to http server
Create http request
Download and write a file
Get file size
Get file system object information
Get http content length
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 - 0x3f44]
mov eax, 0x3f44
call fcn.1003a680
push 0xfffffffffffffffe
push 0x100b2718
push 0x1003e060
mov eax, dword fs:[0]
push eax
sub esp, 0x68
mov eax, dword [0x100bc054]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp + 0x3f40], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov eax, ecx
mov dword [ebp - 0x64], ecx
mov edi, eax
mov dword [ebp - 0x70], edi
xor esi, esi
mov ebx, esi
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x60], esi
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x1c], esi
or dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 4], esi
mov eax, dword [edi + 4]
mov dword [eax + 4], edi
mov ecx, dword [edi + 4]
mov eax, dword [ecx]
push dword [edi + 8]
call dword [eax]
test eax, eax
jne 0x1000dbde
xor ebx, ebx
inc ebx
jmp 0x1000e065
mov eax, dword [edi + 8]
mov eax, dword [eax + 4]
test eax, eax
je 0x1000dbec
mov eax, dword [eax]
jmp 0x1000dbee
mov eax, esi
push str.file:__
push eax
call fcn.1003e1b7
pop ecx
pop ecx
test eax, eax
jne 0x1000dbd6
push esi
push esi
push esi
push esi
push str.deployHelper
call dword [sym.imp.wininet.dll_InternetOpenW]
mov edx, eax
mov dword [ebp - 0x60], edx
test edx, edx
je 0x1000dbd6
mov eax, dword [edi + 8]
movzx ecx, word [eax + 0x1c]
mov eax, dword [eax + 0x14]
test eax, eax
je 0x1000dc29
mov eax, dword [eax]
jmp 0x1000dc2b
mov eax, esi
push esi
push esi
push 3
push 0x10070e50
push 0x10070e54
push ecx
push eax
push edx
call dword [sym.imp.wininet.dll_InternetConnectW]
mov dword [ebp - 0x50], eax
test eax, eax
je 0x1000dbd6
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x44], 0x3c
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x54], 0x4400000
mov eax, dword [edi + 8]
mov eax, dword [eax + 4]
test eax, eax
je 0x1000dc6e
mov eax, dword [eax]
jmp 0x1000dc70
mov eax, esi
push str.https:__
push eax
call fcn.1003e1b7
pop ecx
pop ecx
mov edx, 0x4c00000
test eax, eax
mov ecx, dword [ebp - 0x54]
cmovne ecx, edx
mov dword [ebp - 0x54], ecx
mov eax, dword [edi + 8]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x1000dc9b
mov eax, dword [eax]
jmp 0x1000dc9d
mov eax, esi
push esi
push ecx
push esi
push 0x10070e6c
push str.HTTP_1.1
push eax
push 0x10070e84
push dword [ebp - 0x50]
call dword [sym.imp.wininet.dll_HttpOpenRequestW]
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x1000e0bb
mov eax, dword [edi + 0xc]
test eax, eax
je 0x1000dccf
mov eax, dword [eax]
jmp 0x1000dcd1
mov eax, esi
push esi
push 0x20
push 4
push esi
push esi
push 0x40000000
push eax
call dword [sym.imp.kernel32.dll_CreateFileW]
mov dword [ebp - 0x28], eax
cmp eax, 0xffffffff
je 0x1000e0bb
push esi
push eax
call dword [sym.imp.kernel32.dll_GetFileSize]
mov dword [ebp - 0x78], esi
xor edx, edx
inc edx
push 5
pop ecx
mov dword [ebp - 0x30], ecx
mov eax, edx
mov dword [ebp - 0x24], eax
test eax, eax
je 0x1000ddac
test ecx, ecx
jle 0x1000dda8
push esi
push esi
push esi
push esi
push dword [ebp - 0x1c]
call dword [sym.imp.wininet.dll_HttpSendRequestW]
test eax, eax
jne 0x1000dda2
call dword [sym.imp.kernel32.dll_GetLastError]
mov edx, eax
sub eax, 0x2ee2
je 0x1000dd84
sub eax, 5
je 0x1000dd84
sub eax, 0x16
je 0x1000dd62
mov dword [ebp - 0x24], esi
mov ecx, dword [edi + 4]
mov eax, dword [ecx]
push edx
push dword [ebp - 0x1c]
push esi
push dword [edi + 8]
call dword [eax + 0xc]
xor edx, edx
mov ecx, dword [ebp - 0x30]
inc edx
test eax, eax
jne 0x1000dd9a
jmp 0x1000dd04
mov eax, esi
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x30]
dec ecx
mov dword [ebp - 0x30], ecx
test ecx, ecx
push 1
pop edx
cmovg eax, edx
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x1000dd11
push 0x2efd
jmp 0x1000dd85
push edx
push dword [ebp - 0x1c]
push esi
mov ecx, dword [edi + 4]
push dword [edi + 8]
mov eax, dword [ecx]
call dword [eax + 0xc]
xor edx, edx
inc edx
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x24]
jmp 0x1000dd09
mov eax, dword [ebp - 0x24]
xor edx, edx
inc edx
test eax, eax
jne 0x1000ddb3
mov ebx, edx
jmp 0x1000e065
call dword [sym.imp.kernel32.dll_GetLastError]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x2c], 4
push esi
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x34]
push eax
push 0x20000013
push dword [ebp - 0x1c]
call dword [sym.imp.wininet.dll_HttpQueryInfoW]
test eax, eax
jne 0x1000ddea
call dword [sym.imp.kernel32.dll_GetLastError]
mov dword [ebp - 0x4c], eax
xor ecx, ecx
lea eax, [ecx + 1]
mov dword [ebp - 0x24], eax
mov edx, dword [ebp - 0x34]
cmp edx, 0x197
je 0x1000de05
cmp edx, 0x191
jne 0x1000de56
test eax, eax
je 0x1000de56
mov ecx, dword [edi + 4]
mov eax, dword [ecx]
push dword [ebp - 0x4c]
push dword [ebp - 0x1c]
push esi
push dword [edi + 8]
call dword [eax + 0xc]
cmp eax, 0x4c7
jne 0x1000de26
mov eax, esi
jmp 0x1000ddef
push esi
push esi
push esi
push esi
push dword [ebp - 0x1c]
call dword [sym.imp.wininet.dll_HttpSendRequestW]
mov dword [ebp - 0x2c], 4
push esi
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x34]
push eax
push 0x20000013
push dword [ebp - 0x1c]
call dword [sym.imp.wininet.dll_HttpQueryInfoW]
mov eax, dword [ebp - 0x24]
jmp 0x1000ddf2
cmp edx, 0xc8
je 0x1000df4e
cmp edx, 0xce
je 0x1000df4e
lea eax, [edx - 0x190]
cmp eax, 0xc7
ja 0x1000df33
cmp edx, 0x193
jne 0x1000de8d
push edx
jmp 0x1000df14
cmp edx, 0x1f4
jne 0x1000deb2
mov ecx, dword [edi + 4]
mov eax, dword [ecx]
push edx
push dword [ebp - 0x1c]
xor ebx, ebx
inc ebx
push ebx
push dword [edi + 8]
call dword [eax + 0xc]
cmp eax, 6
jne 0x1000df24
mov dword [ebp - 0x3c], ebx
jmp 0x1000df24
cmp edx, 0x1f7
jne 0x1000df13
cmp dword [ebp - 0x40], 5
jge 0x1000deed
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x58], eax
test eax, eax
js 0x1000dedb
push 0x3e8
call dword [sym.imp.kernel32.dll_Sleep]
mov eax, dword [ebp - 0x58]
dec eax
jmp 0x1000dec3
inc dword [ebp - 0x40]
add dword [ebp - 0x44], 0x1e
xor eax, eax
inc eax
mov dword [ebp - 0x3c], eax
jmp 0x1000dc56
mov ecx, dword [edi + 4]
mov eax, dword [ecx]
push 0x1f7
push dword [ebp - 0x1c]
push 1
push dword [edi + 8]
call dword [eax + 0xc]
cmp eax, 6
jne 0x1000df24
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x44], 0x3c
jmp 0x1000dee2
push edx
push dword [ebp - 0x1c]
push 1
mov ecx, dword [edi + 4]
push dword [edi + 8]
mov eax, dword [ecx]
call dword [eax + 0xc]
xor ebx, ebx
cmp dword [ebp - 0x34], 0x194
sete bl
inc ebx
jmp 0x1000df46
mov ecx, dword [edi + 4]
mov eax, dword [ecx]
push edx
push dword [ebp - 0x1c]
xor ebx, ebx
inc ebx
push ebx
push dword [edi + 8]
call dword [eax + 0xc]
mov dword [ebp - 0x20], ebx
jmp 0x1000e028
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x68], 4
push esi
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x48]
push eax
push 0x20000005
push dword [ebp - 0x1c]
call dword [sym.imp.wininet.dll_HttpQueryInfoW]
mov eax, dword [ebp - 0x48]
mov ecx, 0xe4e1c0
test eax, eax
cmove eax, ecx
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x5c], esi
mov dword [ebp - 0x4c], esi
cmp dword [ebp - 0x34], 0xce
jne 0x1000dfa0
push 2
push esi
push esi
push dword [ebp - 0x28]
call dword [sym.imp.kernel32.dll_SetFilePointer]
jmp 0x1000dfb5
push esi
push esi
push esi
push dword [ebp - 0x28]
call dword [sym.imp.kernel32.dll_SetFilePointer]
push dword [ebp - 0x28]
call dword [sym.imp.kernel32.dll_SetEndOfFile]
mov dword [ebp - 0x38], esi
lea eax, [ebp - 0x38]
push eax
push 0x1fa0
lea eax, [ebp]
push eax
push dword [ebp - 0x1c]
call dword [sym.imp.wininet.dll_InternetReadFile]
test eax, eax
je 0x1000e06d
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x1000dff6
mov dword [ebp - 0x6c], esi
push esi
lea ecx, [ebp - 0x6c]
push ecx
push eax
lea eax, [ebp]
push eax
push dword [ebp - 0x28]
call dword [sym.imp.kernel32.dll_WriteFile]
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x5c]
add edx, eax
mov dword [ebp - 0x5c], edx
mov ecx, dword [edi + 4]
mov eax, dword [ecx]
push dword [ebp - 0x48]
push edx
push dword [edi + 8]
call dword [eax + 8]
mov ecx, edi
call fcn.1000e1d1
test eax, eax
jne 0x1000e062
cmp dword [ebp - 0x38], eax
jne 0x1000dfb5
mov eax, dword [ebp - 0x4c]
test eax, eax
jne 0x1000e115
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x1000e036
push eax
call dword [sym.imp.wininet.dll_InternetCloseHandle]
mov ecx, dword [ebp - 0x28]
cmp ecx, 0xffffffff
je 0x1000e04b
push ecx
call dword [sym.imp.kernel32.dll_CloseHandle]
or ecx, 0xffffffff
mov dword [ebp - 0x28], ecx
mov eax, dword [edi + 8]
cmp dword [eax], 0
je 0x1000e10b
mov ecx, edi
call fcn.1000e1d1
test eax, eax
je 0x1000e07a
push 3
pop ebx
mov dword [ebp - 0x20], ebx
jmp 0x1000e115
xor ecx, ecx
lea eax, [ecx + 1]
lea ebx, [ecx + 1]
mov dword [ebp - 0x20], ebx
jmp 0x1000e020
test ebx, ebx
jne 0x1000e0fc
mov eax, dword [edi + 0xc]
test eax, eax
je 0x1000e089
mov eax, dword [eax]
jmp 0x1000e08b
mov eax, esi
push 0x2000
push 0x2b4
lea ecx, [ebp + 0x3c8c]
push ecx
push esi
push eax
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
test eax, eax
jne 0x1000e0c2
mov ecx, dword [edi + 4]
mov eax, dword [ecx]
push dword [ebp - 0x34]
push dword [ebp - 0x1c]
push 2
push dword [edi + 8]
call dword [eax + 0xc]
xor eax, eax
lea ebx, [eax + 1]
jmp 0x1000e065
mov ecx, dword [edi + 8]
mov eax, dword [ecx + 8]
test eax, eax
je 0x1000e0d0
mov edx, dword [eax]
jmp 0x1000e0d2
mov edx, esi
mov eax, dword [ecx + 4]
test eax, eax
je 0x1000e0dd
mov ecx, dword [eax]
jmp 0x1000e0df
mov ecx, esi
mov eax, dword [edi + 0xc]
test eax, eax
je 0x1000e0ea
mov eax, dword [eax]
jmp 0x1000e0ec
mov eax, esi
push edx
push esi
push ecx
push eax
call fcn.1000ea4f
add esp, 0x10
test eax, eax
je 0x1000e0bb
mov ecx, edi
call fcn.1000e1d1
test eax, eax
jne 0x1000e062
cmp dword [ebp - 0x3c], 0
jne 0x1000dc56
mov dword [ebp - 4], 0xfffffffe
call fcn.1000e187
mov eax, dword [edi + 8]
mov dword [ebp - 0x2c], eax
cmp dword [eax], esi
jne 0x1000e14a
mov dword [ebp - 0x2c], eax
test ebx, ebx
je 0x1000e14a
mov ecx, dword [edi + 4]
mov edx, dword [ecx]
push esi
push dword [ebp - 0x1c]
push 3
push eax
call dword [edx + 0xc]
mov eax, dword [ebp - 0x64]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x2c], ecx
mov ecx, dword [edi + 4]
mov edx, dword [ecx]
push dword [ebp - 0x2c]
call dword [edx + 4]
mov eax, ebx
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x3f40]
xor ecx, ebp
call fcn.1003a5a7
add ebp, 0x3f44
leave
ret