Function at 0x1000afff
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.1005e2a0
push 0xfffffffffffffffe
push 0x101250d8
push fcn.10062700
mov eax, dword fs:[0]
push eax
sub esp, 0x64
mov eax, dword [0x10130aa4]
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 edi, ecx
mov dword [ebp - 0x70], edi
xor esi, esi
mov ebx, esi
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x54], 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 0x1000b07c
xor ebx, ebx
inc ebx
jmp 0x1000b526
mov eax, dword [edi + 8]
mov eax, dword [eax + 4]
test eax, eax
je 0x1000b08a
mov eax, dword [eax]
jmp 0x1000b08c
mov eax, esi
push str.file:__
push eax
call fcn.100655df
pop ecx
pop ecx
test eax, eax
jne 0x1000b074
push esi
push esi
push esi
push esi
push str.deployHelper
call dword [sym.imp.WININET.dll_InternetOpenW]
mov dword [ebp - 0x54], eax
test eax, eax
je 0x1000b074
mov edx, dword [edi + 8]
mov eax, dword [edx + 0x14]
test eax, eax
je 0x1000b0c1
mov ecx, dword [eax]
jmp 0x1000b0c3
mov ecx, esi
push esi
push esi
push 3
push 0x100d8f88
push 0x100d8f8c
movzx eax, word [edx + 0x1c]
push eax
push ecx
push dword [ebp - 0x54]
call dword [sym.imp.WININET.dll_InternetConnectW]
mov dword [ebp - 0x50], eax
test eax, eax
je 0x1000b074
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x40], 0x3c
mov dword [ebp - 0x64], 1
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x58], 0x4400000
mov eax, dword [edi + 8]
mov eax, dword [eax + 4]
test eax, eax
je 0x1000b113
mov eax, dword [eax]
jmp 0x1000b115
mov eax, esi
push str.https:__
push eax
call fcn.100655df
pop ecx
pop ecx
mov edx, 0x4c00000
test eax, eax
mov ecx, dword [ebp - 0x58]
cmovne ecx, edx
mov dword [ebp - 0x58], ecx
mov eax, dword [edi + 8]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x1000b140
mov eax, dword [eax]
jmp 0x1000b142
mov eax, esi
push esi
push ecx
push esi
push 0x100d8fa4
push str.HTTP_1.1
push eax
push 0x100d8fbc
push dword [ebp - 0x50]
call dword [sym.imp.WININET.dll_HttpOpenRequestW]
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x1000b56f
mov eax, dword [edi + 0xc]
test eax, eax
je 0x1000b174
mov eax, dword [eax]
jmp 0x1000b176
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 ecx, eax
mov dword [ebp - 0x28], ecx
cmp ecx, 0xffffffff
je 0x1000b56f
push esi
push ecx
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [ebp - 0x74], esi
xor edx, edx
inc edx
mov eax, edx
push 5
pop ecx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x24], eax
test eax, eax
je 0x1000b266
test ecx, ecx
jle 0x1000b262
push esi
push esi
push esi
push esi
push dword [ebp - 0x1c]
call dword [sym.imp.WININET.dll_HttpSendRequestW]
test eax, eax
jne 0x1000b25c
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
mov eax, 0x2f05
cmp edx, eax
ja 0x1000b237
je 0x1000b237
mov eax, edx
sub eax, 0x2ee2
je 0x1000b219
sub eax, 5
je 0x1000b219
sub eax, 7
je 0x1000b237
sub eax, 0xf
jne 0x1000b237
mov eax, esi
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x30]
dec ecx
mov dword [ebp - 0x30], ecx
test ecx, ecx
cmovg eax, dword [ebp - 0x64]
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x1000b22f
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]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x30]
xor edx, edx
inc edx
jmp 0x1000b1b0
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]
test eax, eax
mov eax, esi
push 1
pop edx
cmove eax, edx
mov ecx, dword [ebp - 0x30]
jmp 0x1000b1ad
mov eax, dword [ebp - 0x24]
xor edx, edx
inc edx
test eax, eax
jne 0x1000b26d
mov ebx, edx
jmp 0x1000b526
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x4c], 4
push esi
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x2c]
push eax
push 0x20000013
push dword [ebp - 0x1c]
call dword [sym.imp.WININET.dll_HttpQueryInfoW]
test eax, eax
jne 0x1000b2a4
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x48], eax
xor ecx, ecx
lea eax, [ecx + 1]
mov dword [ebp - 0x24], eax
mov edx, dword [ebp - 0x2c]
cmp edx, 0x197
je 0x1000b2bf
cmp edx, 0x191
jne 0x1000b310
test eax, eax
je 0x1000b310
mov ecx, dword [edi + 4]
mov eax, dword [ecx]
push dword [ebp - 0x48]
push dword [ebp - 0x1c]
push esi
push dword [edi + 8]
call dword [eax + 0xc]
cmp eax, 0x4c7
jne 0x1000b2e0
mov eax, esi
jmp 0x1000b2a9
push esi
push esi
push esi
push esi
push dword [ebp - 0x1c]
call dword [sym.imp.WININET.dll_HttpSendRequestW]
mov dword [ebp - 0x4c], 4
push esi
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x2c]
push eax
push 0x20000013
push dword [ebp - 0x1c]
call dword [sym.imp.WININET.dll_HttpQueryInfoW]
mov eax, dword [ebp - 0x24]
jmp 0x1000b2ac
cmp edx, 0xc8
je 0x1000b40c
cmp edx, 0xce
je 0x1000b40c
lea eax, [edx - 0x190]
cmp eax, 0xc7
ja 0x1000b3f1
cmp edx, 0x193
jne 0x1000b347
push edx
jmp 0x1000b3d0
cmp edx, 0x1f4
jne 0x1000b36c
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 0x1000b3e2
mov dword [ebp - 0x38], ebx
jmp 0x1000b3e2
cmp edx, 0x1f7
jne 0x1000b3cf
cmp dword [ebp - 0x3c], 5
jge 0x1000b3a7
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x5c], eax
test eax, eax
js 0x1000b395
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [ebp - 0x5c]
dec eax
jmp 0x1000b37d
inc dword [ebp - 0x3c]
add dword [ebp - 0x40], 0x1e
xor eax, eax
inc eax
mov dword [ebp - 0x38], eax
jmp 0x1000b0fb
mov ecx, dword [edi + 4]
mov eax, dword [ecx]
push 0x1f7
push dword [ebp - 0x1c]
xor edx, edx
inc edx
push edx
push dword [edi + 8]
call dword [eax + 0xc]
cmp eax, 6
jne 0x1000b3e2
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x40], 0x3c
jmp 0x1000b39c
push edx
xor edx, edx
push dword [ebp - 0x1c]
inc edx
push edx
mov ecx, dword [edi + 4]
push dword [edi + 8]
mov eax, dword [ecx]
call dword [eax + 0xc]
xor ebx, ebx
cmp dword [ebp - 0x2c], 0x194
sete bl
inc ebx
jmp 0x1000b404
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 0x1000b4f7
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x68], 4
push esi
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x44]
push eax
push 0x20000005
push dword [ebp - 0x1c]
call dword [sym.imp.WININET.dll_HttpQueryInfoW]
mov eax, dword [ebp - 0x44]
mov ecx, 0xe4e1c0
test eax, eax
cmove eax, ecx
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x60], esi
mov dword [ebp - 0x48], esi
cmp dword [ebp - 0x2c], 0xce
jne 0x1000b45e
push 2
push esi
push esi
push dword [ebp - 0x28]
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
jmp 0x1000b473
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 - 0x34], esi
lea eax, [ebp - 0x34]
push eax
push 0x1fa0
lea eax, [ebp]
push eax
push dword [ebp - 0x1c]
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x1000b4e4
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x1000b4b0
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 - 0x34]
mov edx, dword [ebp - 0x60]
add edx, eax
mov dword [ebp - 0x60], edx
mov ecx, dword [edi + 4]
mov eax, dword [ecx]
push dword [ebp - 0x44]
push edx
push dword [edi + 8]
call dword [eax + 8]
mov ecx, edi
call fcn.1000afee
test eax, eax
jne 0x1000b4dc
cmp dword [ebp - 0x34], eax
jne 0x1000b473
mov eax, dword [ebp - 0x48]
jmp 0x1000b4ef
push 3
pop ebx
xor eax, eax
inc eax
jmp 0x1000b4ec
xor ecx, ecx
lea eax, [ecx + 1]
lea ebx, [ecx + 1]
mov dword [ebp - 0x20], ebx
test eax, eax
jne 0x1000b5c9
push dword [ebp - 0x1c]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
push dword [ebp - 0x28]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
or dword [ebp - 0x28], 0xffffffff
mov eax, dword [edi + 8]
cmp dword [eax], esi
je 0x1000b5bf
mov ecx, edi
call fcn.1000afee
test eax, eax
je 0x1000b52e
push 3
pop ebx
mov dword [ebp - 0x20], ebx
jmp 0x1000b5c9
test ebx, ebx
jne 0x1000b5b0
mov eax, dword [edi + 0xc]
test eax, eax
je 0x1000b53d
mov eax, dword [eax]
jmp 0x1000b53f
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 0x1000b576
mov ecx, dword [edi + 4]
mov eax, dword [ecx]
push dword [ebp - 0x2c]
push dword [ebp - 0x1c]
push 2
push dword [edi + 8]
call dword [eax + 0xc]
xor eax, eax
lea ebx, [eax + 1]
jmp 0x1000b526
mov ecx, dword [edi + 8]
mov eax, dword [ecx + 8]
test eax, eax
je 0x1000b584
mov edx, dword [eax]
jmp 0x1000b586
mov edx, esi
mov eax, dword [ecx + 4]
test eax, eax
je 0x1000b591
mov ecx, dword [eax]
jmp 0x1000b593
mov ecx, esi
mov eax, dword [edi + 0xc]
test eax, eax
je 0x1000b59e
mov eax, dword [eax]
jmp 0x1000b5a0
mov eax, esi
push edx
push esi
push ecx
push eax
call fcn.1000f606
add esp, 0x10
test eax, eax
je 0x1000b56f
mov ecx, edi
call fcn.1000afee
test eax, eax
jne 0x1000b523
cmp dword [ebp - 0x38], 0
jne 0x1000b0fb
mov dword [ebp - 4], 0xfffffffe
call fcn.1000b627
mov eax, dword [edi + 8]
cmp dword [eax], esi
jne 0x1000b5ef
test ebx, ebx
je 0x1000b5ef
mov ecx, dword [edi + 4]
mov edx, dword [ecx]
push esi
push dword [ebp - 0x1c]
push 3
push eax
call dword [edx + 0xc]
mov ecx, dword [edi + 4]
mov edx, dword [ecx]
push dword [edi + 8]
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.1005e187
add ebp, 0x3f44
leave
ret