Function at 0x1400729a0
Capabilities:
Delete file
Get file size
Receive data
Receive data on socket
Send data
Send data on socket

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x49d0]
mov eax, 0x4ad0
call fcn.1400e2af0
sub rsp, rax
mov qword [rsp + 0x68], 0xfffffffffffffffe
mov qword [rsp + 0x4b28], rbx
mov rax, qword [0x14017c430]
xor rax, rsp
mov qword [rbp + 0x49c0], rax
mov r12, r8
mov rbx, rdx
mov r15, rcx
lea rcx, str.SendFile:_prepare_n
call fcn.1400d8d08
mov byte [rbp + 0x29c0], 0
xor edx, edx
mov r8d, 0x1fff
lea rcx, [rbp + 0x29c1]
call fcn.1400dd9f0
mov byte [rbp + 0x9c0], 0
xor edx, edx
mov r8d, 0x1fff
lea rcx, [rbp + 0x9c1]
call fcn.1400dd9f0
lea rcx, [0x14017bd30]
mov rax, qword [0x14017bd30]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x50], rax
xor r13d, r13d
or rsi, 0xffffffffffffffff
test rbx, rbx
je 0x140072a91
test rbx, 0xffffffffffff0000
jne 0x140072a7e
movzx edi, bx
mov ecx, edi
call fcn.140002830
test rax, rax
je 0x140072aa5
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x50]
call fcn.1400029f0
jmp 0x140072aa5
xor eax, eax
mov rcx, rsi
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
dec rcx
jmp 0x140072a94
mov ecx, r13d
mov r8d, ecx
mov rdx, rbx
lea rcx, [rsp + 0x50]
call fcn.140002120
nop
mov r8, r12
lea rdx, [0x14012f530]
lea rcx, [rsp + 0x50]
call fcn.140045040
mov word [rbp + 0x5a0], r13w
xor edx, edx
mov r8d, 0x206
lea rcx, [rbp + 0x5a2]
call fcn.1400dd9f0
mov word [rbp + 0x7b0], r13w
xor edx, edx
mov r8d, 0x206
lea rcx, [rbp + 0x7b2]
call fcn.1400dd9f0
mov word [rbp + 0x390], r13w
xor edx, edx
mov r8d, 0x206
lea rcx, [rbp + 0x392]
call fcn.1400dd9f0
mov word [rbp + 0x180], r13w
xor edx, edx
mov r8d, 0x206
lea rcx, [rbp + 0x182]
call fcn.1400dd9f0
lea rdx, [rbp + 0x180]
mov qword [rsp + 0x20], rdx
lea r9, [rbp + 0x390]
lea r8, [rbp + 0x5a0]
lea rdx, [rbp + 0x7b0]
mov rbx, qword [rsp + 0x50]
mov rcx, rbx
call fcn.1400da42c
cmp word [rbp + 0x180], 0x2e
jne 0x140072b79
lea r8, [rbp + 0x182]
mov edx, 0x104
lea rcx, [rbp + 0x180]
call fcn.1400d7f70
mov r8, r12
mov edx, 0x104
lea rcx, [rsp + 0x78]
call fcn.1400d7f70
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0x80000000
lea r8d, [r9 + 1]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov r12, rax
cmp rax, 0xffffffffffffffff
jne 0x140072bdc
xor eax, eax
mov rcx, rsi
lea rdi, [rsp + 0x78]
repne scasw ax, word [rdi]
not rcx
dec rcx
add ecx, ecx
mov dword [rsp + 0x70], ecx
mov dword [rsp + 0x74], r13d
xor eax, eax
mov rcx, rsi
lea rdi, [rsp + 0x78]
repne scasw ax, word [rdi]
not rcx
dec rcx
add ecx, ecx
mov dword [rsp + 0x70], ecx
xor edx, edx
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov edi, eax
mov dword [rsp + 0x74], eax
cmp eax, 0xffffffff
jne 0x140072c1e
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [rsp + 0x74], r13d
jmp 0x140072f50
test eax, eax
jne 0x140072c3a
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
nop
jmp 0x140072f50
mov r14d, dword [rsp + 0x70]
lea ecx, [r14 + 9]
mov edx, 1
call fcn.1400d8794
mov r13, rax
test rax, rax
jne 0x140072c64
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
jmp 0x140072f50
mov dword [rax], r14d
mov dword [rax + 4], edi
mov r8, r14
lea rcx, [rax + 8]
lea rdx, [rsp + 0x78]
call fcn.1400d5d30
lea edi, [r14 + 8]
mov dword [rsp + 0x46], edi
mov word [rsp + 0x40], 0x124
mov dword [rsp + 0x42], 0x20009304
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x29c0], rax
movzx eax, word [rsp + 0x48]
mov word [rbp + 0x29c8], ax
mov r8d, edi
mov rdx, r13
lea rcx, [rbp + 0x29ca]
call fcn.1400d5d30
lea rdx, [rbp + 0x180]
lea rcx, str.SendFile:_send_file_name_and_lenth__gszExt:__s_n
call fcn.1400d8d08
lea r8d, [rdi + 0xa]
xor r9d, r9d
lea rdx, [rbp + 0x29c0]
mov rcx, r15
call qword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
jne 0x140072d02
mov rcx, r13
call fcn.1400d6134
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
jmp 0x140072f50
xor edx, edx
mov r8d, 0x2000
lea rcx, [rbp + 0x9c0]
call fcn.1400dd9f0
xor r9d, r9d
mov r8d, 0x1000
lea rdx, [rbp + 0x9c0]
mov rcx, r15
call qword [sym.imp.WS2_32.dll_recv]
cmp eax, 0xffffffff
jne 0x140072d4b
mov rcx, r13
call fcn.1400d6134
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
jmp 0x140072f50
mov rcx, qword [rbp + 0x9c0]
mov qword [rsp + 0x40], rcx
movzx eax, word [rbp + 0x9c8]
mov word [rsp + 0x48], ax
shr rcx, 0x10
cmp ecx, 0x55aa0000
je 0x140072ddf
mov rcx, r13
call fcn.1400d6134
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, [0x14017bd30]
mov rax, qword [0x14017bd30]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x60], rax
mov r8d, dword [rsp + 0x42]
lea rdx, str.Bad_data_type._Received_type:__04Xh.
lea rcx, [rsp + 0x60]
call fcn.140016060
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140072dd1
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
jmp 0x140072f54
cmp r12, 0xffffffffffffffff
je 0x140072f3e
cmp dword [rsp + 0x74], 0
je 0x140072f3e
lea rcx, str.SendFile:_start_transmit_n
call fcn.1400d8d08
xor edx, edx
mov dword [rsp + 0x30], edx
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rdx
xor r9d, r9d
xor r8d, r8d
mov rdx, r12
mov rcx, r15
call qword [sym.imp.MSWSOCK.dll_TransmitFile]
test eax, eax
jne 0x140072e3d
mov rcx, r13
call fcn.1400d6134
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
jmp 0x140072f50
xor r9d, r9d
lea r8d, [r9 + 0xa]
lea rdx, [rbp + 0x9c0]
mov rcx, r15
call qword [sym.imp.WS2_32.dll_recv]
cmp eax, 0xffffffff
jne 0x140072e70
mov rcx, r13
call fcn.1400d6134
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
jmp 0x140072f50
mov rcx, qword [rbp + 0x9c0]
mov qword [rsp + 0x40], rcx
movzx eax, word [rbp + 0x9c8]
mov word [rsp + 0x48], ax
shr rcx, 0x10
cmp ecx, 0x55aa0000
je 0x140072f01
lea rcx, [0x14017bd30]
mov rax, qword [0x14017bd30]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x58], rax
mov r8d, dword [rsp + 0x42]
lea rdx, str.Bad_data_type._Received_type__04Xh
lea rcx, [rsp + 0x58]
call fcn.140016060
mov rcx, r13
call fcn.1400d6134
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140072ef6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
jmp 0x140072f54
lea rcx, str.SendFile:_finish_transmit_n
call fcn.1400d8d08
mov rcx, r13
call fcn.1400d6134
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
lea rdx, [rbx - 0x18]
lock xadd dword [rdx + 0x10], esi
dec esi
test esi, esi
jg 0x140072f37
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
mov eax, 1
jmp 0x140072f6a
mov rcx, r13
call fcn.1400d6134
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
lea rdx, [rbx - 0x18]
lock xadd dword [rdx + 0x10], esi
dec esi
test esi, esi
jg 0x140072f68
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
xor eax, eax
mov rcx, qword [rbp + 0x49c0]
xor rcx, rsp
call fcn.1400d4d90
mov rbx, qword [rsp + 0x4b28]
add rsp, 0x4ad0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret