Function at 0x140022840
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x20]
sub rsp, 0x120
mov rax, qword [0x140135558]
xor rax, rsp
mov qword [rbp + 0x10], rax
mov r14, rdx
mov rsi, rcx
mov qword [rbp - 0x80], rcx
xor r15d, r15d
mov dword [rsp + 0x30], r15d
mov ecx, 0xd8
call fcn.1400b9b24
mov qword [rsp + 0x70], rax
test rax, rax
je 0x140022896
mov rcx, rax
call fcn.140022240
jmp 0x140022899
mov rax, r15
mov rdx, rax
mov rcx, rsi
call fcn.140024ba0
mov dword [rsp + 0x30], 1
lea rcx, [rsp + 0x38]
call fcn.140003040
nop
mov rbx, qword [rsp + 0x38]
mov rax, qword [rbx]
test rax, rax
je 0x140022bd8
cmp byte [rbx + 8], 0
je 0x1400228db
cmp byte [rax + 0xb8], 0
jne 0x140022bd8
cmp byte [rbx + 0x10], 0
jne 0x140022be3
mov byte [rbx + 0x10], 1
mov qword [rsp + 0x48], r15
lea rax, [rsp + 0x48]
cmp rax, rbx
je 0x140022911
mov rax, qword [rbx]
test rax, rax
je 0x140022911
lock inc dword [rax + 8]
mov rbx, qword [rsp + 0x38]
mov rax, qword [rbx]
mov qword [rsp + 0x48], rax
mov byte [rsp + 0x50], 1
mov dword [rsp + 0x30], 3
mov rcx, qword [rsi]
add rcx, 0x10
lea rdx, [rsp + 0x48]
call fcn.140027a00
nop
mov edi, 0xffffffff
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x140022978
mov eax, edi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140022973
mov rcx, qword [rsp + 0x48]
mov r8, qword [rcx + 0xc8]
test r8, r8
je 0x140022969
mov rax, qword [r8]
mov rdx, rcx
mov rcx, r8
call qword [rax]
jmp 0x140022973
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov rbx, qword [rsp + 0x38]
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x50], xmm0
mov rax, qword [rsi + 8]
test rax, rax
je 0x140022992
lock inc dword [rax + 8]
mov rbx, qword [rsp + 0x38]
mov rax, qword [rsi]
mov qword [rbp - 0x50], rax
mov rax, qword [rsi + 8]
mov qword [rbp - 0x48], rax
lea rax, [rbp - 0x40]
mov qword [rsp + 0x70], rax
mov qword [rbp - 8], r15
mov rcx, qword [r14 + 0x38]
test rcx, rcx
je 0x1400229c4
mov rax, qword [rcx]
lea rdx, [rbp - 0x40]
call qword [rax]
mov qword [rbp - 8], rax
xorps xmm0, xmm0
movdqa xmmword [rbp], xmm0
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x1400229df
lock inc dword [rcx + 8]
mov rbx, qword [rsp + 0x38]
mov qword [rbp], rbx
mov rax, qword [rsp + 0x40]
mov qword [rbp + 8], rax
mov ecx, 0x60
call fcn.1400b9b24
mov rbx, rax
test rax, rax
je 0x140022a76
mov rax, qword [rbp - 0x50]
mov qword [rbx], rax
mov rax, qword [rbp - 0x48]
mov qword [rbx + 8], rax
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x50], xmm0
mov qword [rbx + 0x48], r15
mov rcx, qword [rbp - 8]
test rcx, rcx
je 0x140022a5c
lea rax, [rbp - 0x40]
cmp rcx, rax
jne 0x140022a54
mov rax, qword [rcx]
lea rdx, [rbx + 0x10]
call qword [rax + reloc.WS2_32.dll_htonl]
mov qword [rbx + 0x48], rax
mov rcx, qword [rbp - 8]
test rcx, rcx
je 0x140022a5c
mov rax, qword [rcx]
lea rdx, [rbp - 0x40]
cmp rcx, rdx
setne dl
call qword [rax + reloc.WLDAP32.dll_Ordinal_32]
jmp 0x140022a58
mov qword [rbx + 0x48], rcx
mov qword [rbp - 8], r15
mov rax, qword [rbp]
mov qword [rbx + 0x50], rax
mov rax, qword [rbp + 8]
mov qword [rbx + 0x58], rax
xorps xmm0, xmm0
movdqa xmmword [rbp], xmm0
jmp 0x140022a79
mov rbx, r15
mov qword [rbp - 0x70], rbx
mov dword [rsp + 0x30], 7
lea rax, [rsp + 0x68]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r15d
mov r9, rbx
lea r8, [0x140025350]
xor edx, edx
xor ecx, ecx
call fcn.1400c2ed8
mov qword [rsp + 0x60], rax
test rax, rax
je 0x140022bc8
cmp dword [rsp + 0x68], 0
je 0x140022bee
movaps xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rbp - 0x60], xmm0
lea rcx, [rbp - 0x60]
call fcn.1400b633c
test eax, eax
jne 0x140022bf9
xorps xmm0, xmm0
movaps xmmword [rbp - 0x80], xmm0
movdqa xmmword [rsp + 0x60], xmm0
mov rbx, qword [rbp + 8]
test rbx, rbx
je 0x140022b1a
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x140022b1a
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, edi
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140022b1a
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
mov rcx, qword [rbp - 8]
test rcx, rcx
je 0x140022b37
mov rax, qword [rcx]
lea rdx, [rbp - 0x40]
cmp rcx, rdx
setne dl
call qword [rax + reloc.WLDAP32.dll_Ordinal_32]
mov qword [rbp - 8], r15
mov rbx, qword [rbp - 0x48]
test rbx, rbx
je 0x140022b6a
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x140022b6a
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, edi
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140022b6a
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x140022ba2
mov eax, edi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140022ba2
mov rbx, qword [rsp + 0x40]
mov rdx, qword [rbx]
mov rcx, rbx
call qword [rdx]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x140022ba2
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rcx]
call qword [rdx + reloc.WS2_32.dll_htonl]
mov rax, rsi
mov rcx, qword [rbp + 0x10]
xor rcx, rsp
call fcn.1400b9890
mov rbx, qword [rsp + 0x160]
add rsp, 0x120
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
mov dword [rsp + 0x68], r15d
mov ecx, 6
call fcn.1400b6cbc
nop
mov ecx, 4
call fcn.140004010
int3
mov ecx, 2
call fcn.140004010
nop
mov ecx, 1
call fcn.1400b6cbc
int3
mov ecx, eax
call fcn.1400b6c80
int3