Function at 0x14002d060
Capabilities:
Send data
Send data on socket
Terminate thread

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x48
mov rsi, qword [0x1401052d0]
mov rbp, qword [0x1401052c8]
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0xa0], rbp
test rsi, rsi
je 0x14002d0ae
mov rcx, qword [rsi + 0x110]
test rcx, rcx
je 0x14002d0ae
call fcn.14001b000
call fcn.140026b40
mov qword [rsi + 0x118], rax
xor r15d, r15d
mov edi, r15d
mov rcx, qword [rsi + rdi*8]
test rcx, rcx
je 0x14002d0d1
nop dword [rax]
mov rbx, qword [rcx]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, rbx
test rbx, rbx
jne 0x14002d0c0
mov qword [rsi + rdi*8], r15
inc rdi
cmp rdi, 4
jl 0x14002d0b4
mov rcx, qword [rsi + 0x20]
mov dword [rsi + 0x138], r15d
test rcx, rcx
je 0x14002d101
nop
mov rbx, qword [rcx]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, rbx
test rbx, rbx
jne 0x14002d0f0
lea r8, [rsi + 0x144]
mov r10, 0xfffffffffffffffc
sub r10, rsi
mov qword [rsp + 0x98], r8
mov r14d, listen
mov qword [rsp + 0xa8], r10
lea r9, [rbp + 0x28]
mov qword [rsp + 0x20], r14
xor esi, esi
mov qword [rsp + 0x28], r9
nop dword [rax + rax]
movsxd rdx, dword [r14 + rbp]
lea rax, [r8 + 0x2c]
mov dword [r8 - 4], esi
mov ecx, 2
mov dword [r8], 0xffffffff
nop dword [rax + rax]
mov dword [rax - 0x10], esi
mov qword [rax - 0x28], rsi
mov qword [rax - 0x20], rsi
mov qword [rax - 0x18], rsi
mov dword [rax + 0x10], esi
mov qword [rax - 8], rsi
mov qword [rax], rsi
mov qword [rax + 8], rsi
mov dword [rax + 0x30], esi
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rsi
mov qword [rax + 0x28], rsi
mov dword [rax + 0x50], esi
mov qword [rax + 0x38], rsi
mov qword [rax + 0x40], rsi
mov qword [rax + 0x48], rsi
mov dword [rax + 0x70], esi
mov qword [rax + 0x58], rsi
mov qword [rax + 0x60], rsi
mov qword [rax + 0x68], rsi
mov dword [rax + 0x90], esi
mov qword [rax + 0x78], rsi
mov qword [rax + 0x80], rsi
mov qword [rax + 0x88], rsi
mov dword [rax + 0xb0], esi
mov qword [rax + 0x98], rsi
mov qword [rax + 0xa0], rsi
mov qword [rax + 0xa8], rsi
mov dword [rax + 0xd0], esi
mov qword [rax + 0xb8], rsi
mov qword [rax + 0xc0], rsi
mov qword [rax + 0xc8], rsi
mov dword [rax + 0xf0], esi
mov qword [rax + 0xd8], rsi
mov qword [rax + 0xe0], rsi
mov qword [rax + 0xe8], rsi
mov dword [rax + 0x110], esi
mov qword [rax + 0xf8], rsi
mov qword [rax + 0x100], rsi
mov qword [rax + 0x108], rsi
mov dword [rax + 0x130], esi
mov qword [rax + 0x118], rsi
mov qword [rax + 0x120], rsi
mov qword [rax + 0x128], rsi
mov dword [rax + 0x150], esi
mov qword [rax + 0x138], rsi
mov qword [rax + 0x140], rsi
mov qword [rax + 0x148], rsi
mov dword [rax + 0x170], esi
mov qword [rax + 0x158], rsi
mov qword [rax + 0x160], rsi
mov qword [rax + 0x168], rsi
mov dword [rax + 0x190], esi
mov qword [rax + 0x178], rsi
mov qword [rax + 0x180], rsi
mov qword [rax + 0x188], rsi
mov dword [rax + 0x1b0], esi
mov qword [rax + 0x198], rsi
mov qword [rax + 0x1a0], rsi
mov qword [rax + 0x1a8], rsi
mov dword [rax + 0x1d0], esi
mov qword [rax + 0x1b8], rsi
mov qword [rax + 0x1c0], rsi
mov qword [rax + 0x1c8], rsi
mov dword [rax + 0x1f0], esi
mov qword [rax + 0x1d8], rsi
mov qword [rax + 0x1e0], rsi
mov qword [rax + 0x1e8], rsi
mov dword [rax + 0x210], esi
mov qword [rax + 0x1f8], rsi
mov qword [rax + 0x200], rsi
mov qword [rax + 0x208], rsi
mov dword [rax + 0x230], esi
mov qword [rax + 0x218], rsi
mov qword [rax + 0x220], rsi
mov qword [rax + 0x228], rsi
mov dword [rax + 0x250], esi
mov qword [rax + 0x238], rsi
mov qword [rax + 0x240], rsi
mov qword [rax + 0x248], rsi
mov dword [rax + 0x270], esi
mov qword [rax + 0x258], rsi
mov qword [rax + 0x260], rsi
mov qword [rax + 0x268], rsi
mov dword [rax + 0x290], esi
mov qword [rax + 0x278], rsi
mov qword [rax + 0x280], rsi
mov qword [rax + 0x288], rsi
mov dword [rax + 0x2b0], esi
mov qword [rax + 0x298], rsi
mov qword [rax + 0x2a0], rsi
mov qword [rax + 0x2a8], rsi
mov dword [rax + 0x2d0], esi
mov qword [rax + 0x2b8], rsi
mov qword [rax + 0x2c0], rsi
mov qword [rax + 0x2c8], rsi
mov dword [rax + 0x2f0], esi
mov qword [rax + 0x2d8], rsi
mov qword [rax + 0x2e0], rsi
mov qword [rax + 0x2e8], rsi
mov dword [rax + 0x310], esi
mov qword [rax + 0x2f8], rsi
mov qword [rax + 0x300], rsi
mov qword [rax + 0x308], rsi
mov dword [rax + 0x330], esi
mov qword [rax + 0x318], rsi
mov qword [rax + 0x320], rsi
mov qword [rax + 0x328], rsi
mov dword [rax + 0x350], esi
mov qword [rax + 0x338], rsi
mov qword [rax + 0x340], rsi
mov qword [rax + 0x348], rsi
mov dword [rax + 0x370], esi
mov qword [rax + 0x358], rsi
mov qword [rax + 0x360], rsi
mov qword [rax + 0x368], rsi
mov dword [rax + 0x390], esi
mov qword [rax + 0x378], rsi
mov qword [rax + 0x380], rsi
mov qword [rax + 0x388], rsi
lea rax, [rax + 0x3c0]
sub rcx, 1
jne 0x14002d160
mov r13, rdx
test edx, edx
jle 0x14002d5dd
mov r15, r9
mov r12d, 0x760
nop
mov rax, qword [0x1401052c8]
lea r14, [r10 + r8]
mov rdi, qword [r15]
lea rdx, [rsp + 0x90]
add r14, qword [0x1401052d0]
sub rax, rbp
xor r9d, r9d
mov byte [rsp + 0x90], 2
mov rbx, qword [rax + r15]
lea r8d, [r9 + 1]
movsxd rcx, dword [rbx + 0x2c]
call qword [sym.imp.WS2_32.dll_send]
mov rax, qword [0x1401052d0]
test rax, rax
je 0x14002d4d1
mov rcx, qword [rax + 0x110]
test rcx, rcx
je 0x14002d4d1
mov qword [rax + 0x118], rsi
call fcn.14001b3d0
mov rcx, qword [rbx]
mov edx, 0x3a98
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rsi, qword [0x1401052d0]
mov ebp, eax
test rsi, rsi
je 0x14002d50a
mov rcx, qword [rsi + 0x110]
test rcx, rcx
je 0x14002d50a
call fcn.14001b000
call fcn.140026b40
mov qword [rsi + 0x118], rax
test ebp, ebp
je 0x14002d529
mov rcx, qword [rbx]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_TerminateThread]
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor esi, esi
mov qword [rbx], rsi
jmp 0x14002d52b
xor esi, esi
mov rcx, qword [r12 + r14 + 0x10]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [r12 + r14 + 0x10], rsi
movsxd rcx, dword [rbx + 0x2c]
call qword [sym.imp.WS2_32.dll_closesocket]
movsxd rcx, dword [rbx + 0x30]
call qword [sym.imp.WS2_32.dll_closesocket]
mov rax, qword [0x1401052c8]
mov r14, qword [rsp + 0x20]
dec dword [r14 + rax]
mov rcx, qword [rdi + 0x10]
test rcx, rcx
je 0x14002d585
nop dword [rax + rax]
mov rbx, qword [rcx + 0x20]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
dec dword [rdi + 0x24]
mov rcx, rbx
test rbx, rbx
jne 0x14002d570
mov rcx, qword [rdi + 0x38]
test rcx, rcx
je 0x14002d5a2
nop
mov rbx, qword [rcx + 8]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, rbx
test rbx, rbx
jne 0x14002d590
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov r8, qword [rsp + 0x98]
sub r12, 0x20
mov rbp, qword [rsp + 0xa0]
mov r10, qword [rsp + 0xa8]
mov qword [r15], rsi
add r15, 8
sub r13, 1
jne 0x14002d470
mov r9, qword [rsp + 0x28]
add r14, 4
add r8, 0x788
add r9, 0x10
mov qword [rsp + 0x20], r14
mov qword [rsp + 0x98], r8
mov qword [rsp + 0x28], r9
cmp r14, 0x24
jl 0x14002d140
mov r14, qword [rsp + 0x30]
mov rcx, qword [r14 + 0x28]
test rcx, rcx
je 0x14002d628
mov rbx, qword [rcx + 8]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, rbx
test rbx, rbx
jne 0x14002d616
mov rcx, qword [r14 + 0x30]
mov qword [r14 + 0x28], rsi
test rcx, rcx
je 0x14002d647
mov rbx, qword [rcx + 8]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, rbx
test rbx, rbx
jne 0x14002d635
mov rcx, qword [r14 + 0x38]
mov qword [r14 + 0x30], rsi
test rcx, rcx
je 0x14002d665
mov rbx, qword [rcx]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, rbx
test rbx, rbx
jne 0x14002d654
mov qword [r14 + 0x38], rsi
mov rcx, qword [rbp]
test rcx, rcx
je 0x14002d684
mov rbx, qword [rcx + 0x20]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, rbx
test rbx, rbx
jne 0x14002d672
mov qword [rbp], rsi
mov rdi, rsi
mov rsi, qword [0x1401052d0]
cmp qword [rdi + rsi + 0x68], 0
je 0x14002d6cf
nop word [rax + rax]
mov rbx, qword [rdi + rsi + 0x68]
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rax, qword [rbx + 8]
mov rcx, rbx
mov qword [rdi + rsi + 0x68], rax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
cmp qword [rdi + rsi + 0x68], 0
jne 0x14002d6a0
mov rsi, qword [0x1401052d0]
add rdi, 0x20
cmp rdi, 0xc0
jl 0x14002d692
xor r15d, r15d
mov qword [r14 + 0x20], r15
cmp qword [r14 + 0x110], r15
je 0x14002d6ff
mov qword [rsi + 0x118], r15
mov rcx, qword [r14 + 0x110]
call fcn.14001b3d0
add rsp, 0x48
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret