Function at 0x14017ba50
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x10], rbx
mov dword [rsp + 0x20], r9d
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x90
mov ebp, r9d
mov r13d, r8d
mov r14, rdx
mov r15, rcx
xor esi, esi
mov rbx, qword [rcx + 0x10]
test rbx, rbx
je 0x14017bd48
cmp qword [rbx + 0x20], rsi
je 0x14017bd48
mov rcx, qword [rbx + 8]
mov r8, qword [rbx + 0x10]
sub r8, rcx
mov rdx, qword [rdx]
mov rax, qword [r14 + 8]
sub rax, rdx
cmp r8, rax
jne 0x14017bab9
call fcn.1403e0720
test eax, eax
je 0x14017badf
mov rdx, r14
lea rcx, [rbx + 8]
call fcn.140039be0
mov rax, qword [rbx + 0x20]
test rax, rax
je 0x14017badf
mov rdx, qword [rbx + 8]
mov r8, qword [rbx + 0x10]
sub r8, rdx
mov rcx, rax
call qword [rax + reloc.WS2_32.dll_recv]
mov rcx, qword [r15 + 8]
test rcx, rcx
je 0x14017bd44
cmp r13d, 1
jbe 0x14017bd2a
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x70], xmm0
mov rbp, rsi
mov qword [rsp + 0x80], rsi
mov r14, r13
test r13d, r13d
je 0x14017bc71
movabs rax, 0xfffffffffffffff
cmp r13, rax
ja 0x14017bd70
mov rdx, r13
lea rcx, [rsp + 0x70]
call fcn.14017bea0
mov rbx, rsi
mov rcx, rsi
mov rbp, qword [rsp + 0x80]
mov rdi, qword [rsp + 0x78]
lea r8, [fcn.14017b770]
xor edx, edx
mov rax, rcx
div r14
mov r12, rax
mov dword [rsp + 0x44], r12d
lea rax, [rcx + 0x207ffff]
mov qword [rsp + 0x60], rax
xor edx, edx
div r14
mov r15, rax
sub r15d, r12d
mov dword [rsp + 0x40], r15d
mov rdx, qword [rsp + 0xd0]
mov rcx, qword [rdx + 0x10]
mov rax, qword [rcx + 0x20]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], rax
cmp rdi, rbp
je 0x14017bc16
mov ecx, 0x28
call fcn.1403de180
mov ecx, dword [rsp + 0xe8]
mov dword [rax], ecx
mov dword [rax + 4], r15d
mov dword [rax + 8], r12d
mov rcx, qword [rsp + 0x48]
mov qword [rax + 0x10], rcx
mov r15, qword [rsp + 0xd0]
mov rcx, qword [r15 + 8]
mov qword [rax + 0x18], rcx
lea rcx, [fcn.14017b770]
mov qword [rax + 0x20], rcx
mov qword [rsp + 0x50], rax
lea r15, [rdi + 8]
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], esi
mov r9, rax
lea r8, [0x14017c210]
xor edx, edx
xor ecx, ecx
call fcn.1403ec4ac
mov qword [rdi], rax
test rax, rax
je 0x14017bd76
add rdi, 0x10
mov qword [rsp + 0x78], rdi
jmp 0x14017bc5f
lea rax, [rsp + 0xe8]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x44]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
lea r9, [rdx + 8]
mov rdx, rdi
lea rcx, [rsp + 0x70]
call fcn.14017bf40
mov rbp, qword [rsp + 0x80]
mov rdi, qword [rsp + 0x78]
inc rbx
cmp rbx, r14
jae 0x14017bc76
mov rcx, qword [rsp + 0x60]
jmp 0x14017bb49
mov rdi, qword [rsp + 0x78]
mov r14, qword [rsp + 0x70]
nop dword [rax + rax]
mov ebx, esi
shl rbx, 4
add rbx, r14
cmp dword [rbx + 8], 0
je 0x14017bd65
call sub.KERNEL32.dll_GetCurrentThreadId
cmp dword [rbx + 8], eax
je 0x14017bd9b
movups xmm0, xmmword [rbx]
movaps xmmword [rsp + 0x60], xmm0
xor edx, edx
lea rcx, [rsp + 0x60]
call fcn.1403dd25c
test eax, eax
jne 0x14017bd90
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
inc esi
cmp esi, r13d
jb 0x14017bc80
test r14, r14
je 0x14017bd44
mov rax, r14
cmp r14, rdi
je 0x14017bcf3
nop word [rax + rax]
cmp dword [rax + 8], 0
jne 0x14017bd8a
add rax, 0x10
cmp rax, rdi
jne 0x14017bce0
sub rbp, r14
and rbp, 0xfffffffffffffff0
mov rax, r14
cmp rbp, 0x1000
jb 0x14017bd1b
add rbp, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14017bd84
mov rdx, rbp
mov rcx, r14
call fcn.1403de1bc
mov al, 1
jmp 0x14017bd4a
mov rdx, qword [r15 + 0x10]
mov dword [rsp + 0x20], ebp
mov r9d, 0x207ffff
xor r8d, r8d
mov rdx, qword [rdx + 0x20]
call fcn.14017b770
mov al, 1
jmp 0x14017bd4a
xor al, al
mov rbx, qword [rsp + 0xd8]
add rsp, 0x90
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov ecx, 1
call fcn.1403dcadc
int3
call fcn.1400041d0
nop
mov dword [r15], esi
mov ecx, 6
call fcn.1403dcadc
nop
call fcn.1403e528c
int3
call fcn.1403e96f8
nop
mov ecx, 2
call fcn.1403dcadc
int3
mov ecx, 5
call fcn.1403dcadc
int3