Function at 0x1007a790
Capabilities:
Connect to http server
Create http request
Delete file
Get file size
Read and send data from client to server
Read file on windows
Send data
Send http request

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1011b4f1
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0x36c
push esi
push edi
lea edi, [ebp - 0x37c]
mov ecx, 0xdb
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
mov dword [ebp - 0x20], str.Content_Type:_multipart_form_data__boundary___________________________7e0a1b30670e2
movzx eax, byte [ebx + 0xc]
test eax, eax
je 0x1007a7f1
mov dword [ebp - 0x304], 0x10171e00
jmp 0x1007a7fb
mov dword [ebp - 0x304], 0x10171e04
mov ecx, dword [ebp - 0x304]
push ecx
lea ecx, [ebp - 0x3c]
call fcn.10069b60
mov dword [ebp - 4], 0
movzx edx, byte [ebx + 0xc]
test edx, edx
je 0x1007a825
mov dword [ebp - 0x308], str.cropped.bmp
jmp 0x1007a82f
mov dword [ebp - 0x308], str.screen.png
mov eax, dword [ebp - 0x308]
push eax
lea ecx, [ebp - 0x5c]
call fcn.10069b60
mov byte [ebp - 4], 1
movzx ecx, byte [ebx + 0xc]
test ecx, ecx
je 0x1007a856
mov dword [ebp - 0x30c], str.image_bmp
jmp 0x1007a860
mov dword [ebp - 0x30c], str.image_png
mov edx, dword [ebp - 0x30c]
push edx
lea ecx, [ebp - 0x7c]
call fcn.10069b60
mov byte [ebp - 4], 2
mov eax, dword [ebx + 8]
push eax
lea ecx, [ebp - 0x1f8]
call fcn.10069b60
mov dword [ebp - 0x310], eax
mov ecx, dword [ebp - 0x310]
mov dword [ebp - 0x314], ecx
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x314]
push edx
push str._____________________________7e0a1b30670e2_r_nContent_Disposition:_form_data__name_user_id__r_n_r_n
lea eax, [ebp - 0x210]
push eax
call fcn.100a76c0
add esp, 0xc
mov dword [ebp - 0x318], eax
mov ecx, dword [ebp - 0x318]
mov dword [ebp - 0x31c], ecx
mov byte [ebp - 4], 4
push str._r_n_____________________________7e0a1b30670e2_r_nContent_Disposition:_form_data__name_recognition__r_n_r_n
mov edx, dword [ebp - 0x31c]
push edx
lea eax, [ebp - 0x228]
push eax
call fcn.100a69b0
add esp, 0xc
mov dword [ebp - 0x320], eax
mov ecx, dword [ebp - 0x320]
mov dword [ebp - 0x324], ecx
mov byte [ebp - 4], 5
lea edx, [ebp - 0x3c]
push edx
mov eax, dword [ebp - 0x324]
push eax
lea ecx, [ebp - 0x240]
push ecx
call fcn.100a5530
add esp, 0xc
mov dword [ebp - 0x328], eax
mov edx, dword [ebp - 0x328]
mov dword [ebp - 0x32c], edx
mov byte [ebp - 4], 6
push 0x10171ebc
mov eax, dword [ebp - 0x32c]
push eax
lea ecx, [ebp - 0x258]
push ecx
call fcn.100a69b0
add esp, 0xc
mov dword [ebp - 0x330], eax
mov edx, dword [ebp - 0x330]
mov dword [ebp - 0x334], edx
mov byte [ebp - 4], 7
push str._____________________________7e0a1b30670e2_r_nContent_Disposition:_form_data__name_file___filename_
mov eax, dword [ebp - 0x334]
push eax
lea ecx, [ebp - 0x270]
push ecx
call fcn.100a69b0
add esp, 0xc
mov dword [ebp - 0x338], eax
mov edx, dword [ebp - 0x338]
mov dword [ebp - 0x33c], edx
mov byte [ebp - 4], 8
lea eax, [ebp - 0x5c]
push eax
mov ecx, dword [ebp - 0x33c]
push ecx
lea edx, [ebp - 0x288]
push edx
call fcn.100a5530
add esp, 0xc
mov dword [ebp - 0x340], eax
mov eax, dword [ebp - 0x340]
mov dword [ebp - 0x344], eax
mov byte [ebp - 4], 9
push 0x10171e50
mov ecx, dword [ebp - 0x344]
push ecx
lea edx, [ebp - 0x2a0]
push edx
call fcn.100a69b0
add esp, 0xc
mov dword [ebp - 0x348], eax
mov eax, dword [ebp - 0x348]
mov dword [ebp - 0x34c], eax
mov byte [ebp - 4], 0xa
push str.Content_Type:
mov ecx, dword [ebp - 0x34c]
push ecx
lea edx, [ebp - 0x2b8]
push edx
call fcn.100a69b0
add esp, 0xc
mov dword [ebp - 0x350], eax
mov eax, dword [ebp - 0x350]
mov dword [ebp - 0x354], eax
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x7c]
push ecx
mov edx, dword [ebp - 0x354]
push edx
lea eax, [ebp - 0x2d0]
push eax
call fcn.100a5530
add esp, 0xc
mov dword [ebp - 0x358], eax
mov ecx, dword [ebp - 0x358]
mov dword [ebp - 0x35c], ecx
mov byte [ebp - 4], 0xc
push str._r_n_r_n
mov edx, dword [ebp - 0x35c]
push edx
lea eax, [ebp - 0x9c]
push eax
call fcn.100a69b0
add esp, 0xc
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x2d0]
call fcn.10069ad0
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x2b8]
call fcn.10069ad0
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x2a0]
call fcn.10069ad0
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x288]
call fcn.10069ad0
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x270]
call fcn.10069ad0
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x258]
call fcn.10069ad0
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x240]
call fcn.10069ad0
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x228]
call fcn.10069ad0
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x210]
call fcn.10069ad0
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x1f8]
call fcn.10069ad0
nop
push str._r_n_____________________________7e0a1b30670e2___r_n
lea ecx, [ebp - 0xbc]
call fcn.10069b60
mov byte [ebp - 4], 0x18
movzx ecx, byte [ebx + 0xc]
test ecx, ecx
je 0x1007ab5f
xor edx, edx
mov byte [ebp - 0x2d1], dl
xor eax, eax
mov byte [ebp - 0x2d2], al
movzx ecx, byte [ebp - 0x2d1]
push ecx
movzx edx, byte [ebp - 0x2d2]
push edx
movzx eax, byte [ebp - 0x2d3]
push eax
lea ecx, [ebp - 0xe0]
call fcn.100a8260
mov ecx, eax
call fcn.10098260
push eax
call fcn.1007c990
add esp, 4
mov esi, esp
push 0
push 0x80
push 4
push 0
push 1
push 0x80000000
mov ecx, 0x101b7ec0
call fcn.10069aa0
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
cmp esi, esp
call fcn.10118e91
mov dword [ebp - 0xe4], eax
cmp dword [ebp - 0xe4], 0xffffffff
jne 0x1007ac91
xor ecx, ecx
mov byte [ebp - 0x2d4], cl
xor edx, edx
mov byte [ebp - 0x2d5], dl
movzx eax, byte [ebp - 0x2d4]
push eax
movzx ecx, byte [ebp - 0x2d5]
push ecx
movzx edx, byte [ebp - 0x2d6]
push edx
lea ecx, [ebp - 0x120]
call fcn.100a82f0
mov ecx, eax
call fcn.10098260
mov dword [ebp - 0x360], eax
xor eax, eax
mov byte [ebp - 0x2dd], al
xor ecx, ecx
mov byte [ebp - 0x2de], cl
mov edx, dword [ebp - 0x360]
push edx
sub esp, 0x18
mov esi, esp
mov dword [ebp - 0x2dc], esp
movzx eax, byte [ebp - 0x2dd]
push eax
movzx ecx, byte [ebp - 0x2de]
push ecx
movzx edx, byte [ebp - 0x2df]
push edx
lea ecx, [ebp - 0x100]
call fcn.100a7b70
mov ecx, eax
call fcn.10099340
push eax
mov ecx, esi
call fcn.10069b60
call fcn.10078260
add esp, 0x1c
mov byte [ebp - 0x2e0], 0
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0xbc]
call fcn.10069ad0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x9c]
call fcn.10069ad0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x7c]
call fcn.10069ad0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x5c]
call fcn.10069ad0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x3c]
call fcn.10069ad0
mov al, byte [ebp - 0x2e0]
jmp 0x1007b0dd
mov esi, esp
push 0
mov eax, dword [ebp - 0xe4]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
cmp esi, esp
call fcn.10118e91
mov dword [ebp - 0x124], eax
lea ecx, [ebp - 0x9c]
call fcn.10049990
mov esi, eax
add esi, dword [ebp - 0x124]
lea ecx, [ebp - 0xbc]
call fcn.10049990
add esi, eax
mov dword [ebp - 0x128], esi
mov ecx, dword [ebp - 0x128]
push ecx
call fcn.100ed51d
add esp, 4
mov dword [ebp - 0x2e4], eax
mov edx, dword [ebp - 0x2e4]
mov dword [ebp - 0x12c], edx
lea ecx, [ebp - 0x9c]
call fcn.10049990
mov dword [ebp - 0x364], eax
lea ecx, [ebp - 0x9c]
call fcn.10069aa0
mov dword [ebp - 0x368], eax
mov eax, dword [ebp - 0x364]
push eax
mov ecx, dword [ebp - 0x368]
push ecx
mov edx, dword [ebp - 0x12c]
push edx
call fcn.100f0650
add esp, 0xc
mov esi, esp
push 0
lea eax, [ebp - 0x134]
push eax
mov ecx, dword [ebp - 0x124]
push ecx
lea ecx, [ebp - 0x9c]
call fcn.10049990
add eax, dword [ebp - 0x12c]
push eax
mov edx, dword [ebp - 0xe4]
push edx
call dword [sym.imp.KERNEL32.dll_ReadFile]
cmp esi, esp
call fcn.10118e91
mov esi, esp
mov eax, dword [ebp - 0xe4]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp esi, esp
call fcn.10118e91
lea ecx, [ebp - 0xbc]
call fcn.10049990
mov dword [ebp - 0x36c], eax
lea ecx, [ebp - 0xbc]
call fcn.10069aa0
mov dword [ebp - 0x370], eax
lea ecx, [ebp - 0x9c]
call fcn.10049990
add eax, dword [ebp - 0x12c]
add eax, dword [ebp - 0x124]
mov dword [ebp - 0x374], eax
mov ecx, dword [ebp - 0x36c]
push ecx
mov edx, dword [ebp - 0x370]
push edx
mov eax, dword [ebp - 0x374]
push eax
call fcn.100f0650
add esp, 0xc
xor ecx, ecx
mov byte [ebp - 0x2e5], cl
xor edx, edx
mov byte [ebp - 0x2e6], dl
movzx eax, byte [ebp - 0x2e5]
push eax
movzx ecx, byte [ebp - 0x2e6]
push ecx
movzx edx, byte [ebp - 0x2e7]
push edx
lea ecx, [ebp - 0x180]
call fcn.100a8380
mov ecx, eax
call fcn.10098260
push eax
lea ecx, [ebp - 0x154]
call fcn.10069b60
nop
xor eax, eax
mov byte [ebp - 0x2e8], al
xor ecx, ecx
mov byte [ebp - 0x2e9], cl
mov esi, esp
push 0
push 0
push 0
push 1
movzx edx, byte [ebp - 0x2e8]
push edx
movzx eax, byte [ebp - 0x2e9]
push eax
movzx ecx, byte [ebp - 0x2ea]
push ecx
lea ecx, [ebp - 0x190]
call fcn.100a7d00
mov ecx, eax
call fcn.10099340
push eax
call dword [sym.imp.WININET.dll_InternetOpenA]
cmp esi, esp
call fcn.10118e91
mov dword [ebp - 0x14], eax
xor edx, edx
mov byte [ebp - 0x2eb], dl
xor eax, eax
mov byte [ebp - 0x2ec], al
mov esi, esp
push 1
push 0
push 3
push 0
push 0
push 0x1bb
movzx ecx, byte [ebp - 0x2eb]
push ecx
movzx edx, byte [ebp - 0x2ec]
push edx
movzx eax, byte [ebp - 0x2ed]
push eax
lea ecx, [ebp - 0x1a0]
call fcn.100a8160
mov ecx, eax
call fcn.10099340
push eax
mov ecx, dword [ebp - 0x14]
push ecx
call dword [sym.imp.WININET.dll_InternetConnectA]
cmp esi, esp
call fcn.10118e91
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x154]
call fcn.10069aa0
mov dword [ebp - 0x378], eax
xor edx, edx
mov byte [ebp - 0x2ee], dl
xor eax, eax
mov byte [ebp - 0x2ef], al
movzx ecx, byte [ebp - 0x2ee]
push ecx
movzx edx, byte [ebp - 0x2ef]
push edx
movzx eax, byte [ebp - 0x2f0]
push eax
lea ecx, [ebp - 0x1b0]
call fcn.100a7dc0
mov ecx, eax
call fcn.10099340
mov dword [ebp - 0x37c], eax
mov esi, esp
push 0
push 0x80a00000
push 0
push 0
push 0
mov ecx, dword [ebp - 0x378]
push ecx
mov edx, dword [ebp - 0x37c]
push edx
mov eax, dword [ebp - 0x18]
push eax
call dword [sym.imp.WININET.dll_HttpOpenRequestA]
cmp esi, esp
call fcn.10118e91
mov dword [ebp - 0x1c], eax
mov esi, esp
mov ecx, dword [ebp - 0x128]
push ecx
mov edx, dword [ebp - 0x12c]
push edx
mov eax, dword [ebp - 0x20]
push eax
call fcn.100f95d0
add esp, 4
push eax
mov ecx, dword [ebp - 0x20]
push ecx
mov edx, dword [ebp - 0x1c]
push edx
call dword [sym.imp.WININET.dll_HttpSendRequestA]
cmp esi, esp
call fcn.10118e91
mov dword [ebp - 0x1b4], eax
xor eax, eax
mov byte [ebp - 0x2f1], al
xor ecx, ecx
mov byte [ebp - 0x2f2], cl
movzx edx, byte [ebp - 0x2f1]
push edx
movzx eax, byte [ebp - 0x2f2]
push eax
movzx ecx, byte [ebp - 0x2f3]
push ecx
lea ecx, [ebp - 0x1d0]
call fcn.100a8410
mov ecx, eax
call fcn.10099340
mov esi, esp
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
cmp esi, esp
call fcn.10118e91
nop
xor edx, edx
mov byte [ebp - 0x2f4], dl
xor eax, eax
mov byte [ebp - 0x2f5], al
movzx ecx, byte [ebp - 0x2f4]
push ecx
movzx edx, byte [ebp - 0x2f5]
push edx
movzx eax, byte [ebp - 0x2f6]
push eax
lea ecx, [ebp - 0x1e0]
call fcn.100a8470
mov ecx, eax
call fcn.10099340
mov esi, esp
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
cmp esi, esp
call fcn.10118e91
nop
mov ecx, dword [ebp - 0x12c]
mov dword [ebp - 0x2fc], ecx
mov edx, dword [ebp - 0x2fc]
push edx
call fcn.100ed518
add esp, 4
mov esi, esp
mov eax, dword [ebp - 0x1c]
push eax
call dword [sym.imp.WININET.dll_InternetCloseHandle]
cmp esi, esp
call fcn.10118e91
mov esi, esp
mov ecx, dword [ebp - 0x18]
push ecx
call dword [sym.imp.WININET.dll_InternetCloseHandle]
cmp esi, esp
call fcn.10118e91
mov esi, esp
mov edx, dword [ebp - 0x14]
push edx
call dword [sym.imp.WININET.dll_InternetCloseHandle]
cmp esi, esp
call fcn.10118e91
nop
mov byte [ebp - 0x2fd], 1
lea ecx, [ebp - 0x154]
call fcn.10069ad0
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0xbc]
call fcn.10069ad0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x9c]
call fcn.10069ad0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x7c]
call fcn.10069ad0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x5c]
call fcn.10069ad0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x3c]
call fcn.10069ad0
mov al, byte [ebp - 0x2fd]
push edx
mov ecx, ebp
push eax
lea edx, [0x1007b104]
call fcn.10118e3d
pop eax
pop edx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret