Function at 0x140074290
Capabilities:
Delete file
Receive data
Receive data on socket
Send data
Send data on socket

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x398]
sub rsp, 0x498
mov qword [rsp + 0x68], 0xfffffffffffffffe
mov rax, qword [0x14017c430]
xor rax, rsp
mov qword [rbp + 0x380], rax
mov r13, r9
mov rdi, r8
mov rbx, rdx
mov r14, rcx
mov r12, qword [0x140183698]
lea rcx, [0x14017bd30]
mov rax, qword [0x14017bd30]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x48], rax
mov rdx, rdi
lea rcx, str._SendFilesR:_start:_type:__s_n
call fcn.1400d8d08
xor r15d, r15d
mov qword [rsp + 0x20], r15
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x30], r15
lea rcx, [0x14017bd30]
mov rax, qword [0x14017bd30]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x40], rax
or rsi, 0xffffffffffffffff
test rbx, rbx
je 0x140074374
test rbx, 0xffffffffffff0000
jne 0x140074361
movzx edi, bx
mov ecx, edi
call fcn.140002830
test rax, rax
je 0x140074388
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.1400029f0
jmp 0x140074388
xor eax, eax
mov rcx, rsi
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
dec rcx
jmp 0x140074377
mov ecx, r15d
mov r8d, ecx
mov rdx, rbx
lea rcx, [rsp + 0x40]
call fcn.140002120
nop
mov r8d, 2
lea rdx, [0x14012ffc4]
lea rcx, [rsp + 0x40]
call fcn.14003bd50
mov rdi, qword [rsp + 0x40]
cmp dword [rdi - 8], 1
jle 0x1400743bc
mov edx, dword [rdi - 0x10]
lea rcx, [rsp + 0x40]
call fcn.140001fb0
mov rdi, qword [rsp + 0x40]
lea r9, [rsp + 0x20]
mov r8, r13
mov rdx, rdi
mov rcx, r12
call fcn.1400738c0
mov r11, qword [rsp + 0x28]
sub r11, qword [rsp + 0x20]
sar r11, 4
mov word [rsp + 0x70], 0x24
xor r9d, r9d
lea r8d, [r9 + 0xe]
mov rcx, r14
test r11, r11
jne 0x140074478
mov qword [rsp + 0x72], 0x20009301
lea rdx, [rsp + 0x70]
call qword [sym.imp.WS2_32.dll_send]
nop
lea rdx, [rdi - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140074427
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
nop
mov rcx, qword [rsp + 0x20]
test rcx, rcx
je 0x140074445
mov rdx, qword [rsp + 0x28]
call fcn.14007b830
mov rcx, qword [rsp + 0x20]
call fcn.1400d4d78
mov qword [rsp + 0x20], r15
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x30], r15
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], esi
dec esi
test esi, esi
jg 0x140074471
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
xor eax, eax
jmp 0x14007482a
mov dword [rsp + 0x76], 4
mov dword [rsp + 0x72], 0x20009301
mov rax, qword [rsp + 0x70]
mov qword [rbp - 0x80], rax
movzx eax, word [rsp + 0x78]
mov word [rbp - 0x78], ax
mov dword [rbp - 0x76], r11d
lea rdx, [rbp - 0x80]
call qword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
jne 0x1400744fa
lea rdx, [rdi - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400744c8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
nop
mov rcx, qword [rsp + 0x20]
test rcx, rcx
je 0x1400744e6
mov rdx, qword [rsp + 0x28]
call fcn.14007b830
mov rcx, qword [rsp + 0x20]
call fcn.1400d4d78
mov qword [rsp + 0x20], r15
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x30], r15
jmp 0x140074454
xor edx, edx
mov r8d, 0x400
lea rcx, [rbp - 0x80]
call fcn.1400dd9f0
xor r9d, r9d
mov r8d, 0x400
lea rdx, [rbp - 0x80]
mov rcx, r14
call qword [sym.imp.WS2_32.dll_recv]
cmp eax, 0xffffffff
jne 0x140074573
lea rdx, [rdi - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140074541
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
nop
mov rcx, qword [rsp + 0x20]
test rcx, rcx
je 0x14007455f
mov rdx, qword [rsp + 0x28]
call fcn.14007b830
mov rcx, qword [rsp + 0x20]
call fcn.1400d4d78
mov qword [rsp + 0x20], r15
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x30], r15
jmp 0x140074454
mov rax, qword [rbp - 0x80]
mov qword [rsp + 0x70], rax
movzx eax, word [rbp - 0x78]
mov word [rsp + 0x78], ax
cmp byte [rbp - 0x80], 0x24
je 0x1400745d8
lea rdx, [rdi - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400745a6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
nop
mov rcx, qword [rsp + 0x20]
test rcx, rcx
je 0x1400745c4
mov rdx, qword [rsp + 0x28]
call fcn.14007b830
mov rcx, qword [rsp + 0x20]
call fcn.1400d4d78
mov qword [rsp + 0x20], r15
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x30], r15
jmp 0x140074454
lea rcx, [0x14017bd30]
mov rax, qword [0x14017bd30]
cmp dword [rbp - 0x7e], 0x55aa0000
je 0x140074688
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x58], rax
mov r8d, dword [rsp + 0x72]
lea rdx, str.Bad_data_type._Received_type__04Xh.
lea rcx, [rsp + 0x58]
call fcn.140016060
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140074636
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140074656
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
nop
mov rcx, qword [rsp + 0x20]
test rcx, rcx
je 0x140074674
mov rdx, qword [rsp + 0x28]
call fcn.14007b830
mov rcx, qword [rsp + 0x20]
call fcn.1400d4d78
mov qword [rsp + 0x20], r15
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x30], r15
jmp 0x140074454
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x60], rdi
mov r12d, r15d
mov rbx, qword [rsp + 0x20]
cmp rbx, qword [rsp + 0x28]
je 0x140074793
test r13, r13
je 0x14007478e
mov rcx, qword [rbx]
cmp dword [rcx - 0x10], 0
jl 0x14007478e
mov rdx, r13
call fcn.1400d8384
mov r11, rax
test rax, rax
je 0x14007478e
mov rax, qword [rbx]
sub r11, rax
sar r11, 1
cmp r11d, 0xffffffff
je 0x14007478e
mov r8d, dword [rax - 0x10]
xor eax, eax
mov rcx, rsi
mov rdi, r13
repne scasw ax, word [rdi]
not rcx
dec rcx
sub r8d, r11d
sub r8d, ecx
dec r8d
lea rdx, [rsp + 0x50]
mov rcx, rbx
call fcn.140016140
nop
mov r8, qword [rsp + 0x50]
cmp dword [r8 - 8], 1
jle 0x14007472f
mov edx, dword [r8 - 0x10]
lea rcx, [rsp + 0x50]
call fcn.140001fb0
mov r8, qword [rsp + 0x50]
mov rdx, qword [rbx]
mov rcx, r14
call fcn.140074850
test eax, eax
je 0x14007474d
cmp byte [rbx + 8], 0
jne 0x14007474d
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
inc r12d
mov edx, r12d
lea rcx, str.SendFiles:_count:__d_n
call fcn.1400d8d08
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14007477f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
add rbx, 0x10
cmp rbx, qword [rsp + 0x28]
jne 0x1400746a7
mov rdi, qword [rsp + 0x60]
lea rcx, str.SendFilesR:_end_n
call fcn.1400d8d08
nop
lea rdx, [rdi - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400747bb
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400747db
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
nop
mov rcx, qword [rsp + 0x20]
test rcx, rcx
je 0x1400747f9
mov rdx, qword [rsp + 0x28]
call fcn.14007b830
mov rcx, qword [rsp + 0x20]
call fcn.1400d4d78
mov qword [rsp + 0x20], r15
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x30], r15
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], esi
dec esi
test esi, esi
jg 0x140074825
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
mov eax, 1
mov rcx, qword [rbp + 0x380]
xor rcx, rsp
call fcn.1400d4d90
add rsp, 0x498
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret