Function at 0x180002430
Capabilities:
Create thread
Send data
Send data on socket

Disassembly:
push rbp
push rsi
push r13
sub rsp, 0x30
movzx eax, byte [rdx]
mov esi, r8d
mov r13, rdx
mov rbp, rcx
cmp al, 0x96
je 0x180002525
cmp dword [rcx + 0x18], 0
je 0x180002525
movzx r9d, al
sub r9d, 4
je 0x1800025a9
dec r9d
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x60], r12
je 0x18000252e
dec r9d
jne 0x180002516
mov r12d, dword [rdx + 1]
mov r8, qword [rcx + 0x20]
mov rdx, qword [rcx + 0x28]
sub rdx, r8
xor ebx, ebx
lea edi, [r9 + 5]
sar rdx, 4
mov eax, ebx
test rdx, rdx
je 0x180002516
mov rcx, r8
nop dword [rax]
cmp dword [rcx], r12d
je 0x1800024c3
inc rax
add rcx, 0x10
cmp rax, rdx
jb 0x1800024b0
jmp 0x180002516
add rax, rax
mov qword [rsp + 0x68], r14
lea r14, [r8 + rax*8 + 8]
test r14, r14
je 0x180002511
cmp edi, esi
jae 0x180002511
cmp ebx, 0xf
jae 0x180002511
mov rcx, qword [r14]
mov r8d, esi
mov edx, edi
sub r8d, edi
add rdx, r13
xor r9d, r9d
call qword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
je 0x180002500
add edi, eax
inc ebx
jmp 0x1800024d5
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, r12d
mov rcx, rbp
call fcn.180002380
mov r14, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x50]
mov r12, qword [rsp + 0x60]
add rsp, 0x30
pop r13
pop rsi
pop rbp
ret
mov ecx, reloc.WS2_32.dll_recv
call fcn.180003674
mov rcx, rsi
mov qword [rax], rbp
mov r12, rax
call fcn.180002f58
xor ebx, ebx
mov rdi, rax
test rax, rax
je 0x18000255f
mov r8, rsi
xor edx, edx
mov rcx, rax
call fcn.180006b10
jmp 0x180002562
mov rdi, rbx
mov r8, rsi
mov rdx, r13
mov rcx, rdi
mov qword [r12 + 8], rdi
call fcn.180003060
mov eax, 1
lock xadd dword [rbp + 0x40], eax
lea r8, [0x1800025c0]
mov r9, r12
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], ebx
call fcn.180003578
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x180002516
mov edx, dword [rdx + 1]
xor r8d, r8d
add rsp, 0x30
pop r13
pop rsi
pop rbp
jmp 0x180002950
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rdi
push r12
sub rsp, 0x20
xor ebx, ebx
mov r12d, edx
mov rdi, rcx
test r8b, r8b
je 0x1800029ce
mov rcx, qword [rcx + 0x28]
sub rcx, qword [rdi + 0x20]
sar rcx, 4
test rcx, rcx
je 0x180002a42
mov rax, qword [rdi + 0x20]
cmp dword [rax], 0
je 0x1800029aa
inc rbx
add rax, 0x10
cmp rbx, rcx
jb 0x180002986
xor eax, eax
mov rbx, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r12
ret
mov rax, qword [rdi + 0x20]
add rbx, rbx
mov dword [rax + rbx*8], edx
mov rax, qword [rdi + 0x20]
lea rax, [rax + rbx*8 + 8]
mov rbx, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r12
ret
mov rax, qword [rcx + 0x28]
mov qword [rsp + 0x30], rbp
mov rbp, rbx
sub rax, qword [rcx + 0x20]
sar rax, 4
test rax, rax
je 0x180002a3d
mov qword [rsp + 0x38], rsi
mov rsi, rbx
nop
mov rax, qword [rdi + 0x20]
cmp dword [rsi + rax], r12d
jne 0x180002a20
mov dword [rsi + rax], ebx
mov rcx, qword [rdi + 0x20]
mov edx, 1
mov rcx, qword [rsi + rcx + 8]
call qword [sym.imp.WS2_32.dll_shutdown]
mov rcx, qword [rdi + 0x20]
mov rcx, qword [rsi + rcx + 8]
call qword [sym.imp.WS2_32.dll_closesocket]
mov rax, qword [rdi + 0x28]
inc rbp
add rsi, 0x10
sub rax, qword [rdi + 0x20]
sar rax, 4
cmp rbp, rax
jb 0x1800029f0
mov rsi, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
xor eax, eax
add rsp, 0x20
pop r12
ret