Function at 0x140090520
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rbp
push r14
push r15
lea rbp, [rsp - 0x4e0]
sub rsp, 0x5e0
mov rsi, r9
movzx r14d, r8w
mov r15d, edx
mov rbx, rcx
call fcn.140090ea0
mov dword [rbx], eax
test eax, eax
je 0x14009055d
xor eax, eax
jmp 0x140090b5d
mov qword [rsp + 0x608], rdi
mov rdi, qword [rbp + 0x520]
test rdi, rdi
je 0x140090b4d
cmp byte [rdi], 0
je 0x140090b4d
test rsi, rsi
je 0x140090b4d
cmp byte [rsi], 0
je 0x140090b4d
xor edx, edx
lea rcx, [rsp + 0x30]
mov r8d, 0x5a4
call fcn.1400b5f30
mov edx, 0xe0
lea rcx, [rsp + 0x30]
mov r8d, 0x7fffffff
call fcn.1400ace08
test eax, eax
js 0x1400905db
mov r9, rdi
mov qword [rsp + 0x20], 0x7ffffffe
xor r8d, r8d
lea rcx, [rsp + 0x30]
mov edx, 0xe0
call fcn.1400aca84
jmp 0x1400905e0
mov byte [rsp + 0x30], 0
test eax, eax
js 0x140090b4d
mov rdi, qword [rbp + 0x528]
test rdi, rdi
je 0x14009063c
cmp byte [rdi], 0
je 0x14009063c
mov edx, 0xe0
lea rcx, [rbp + 0x10]
mov r8d, 0x7fffffff
call fcn.1400ace08
test eax, eax
js 0x140090630
mov r9, rdi
mov qword [rsp + 0x20], 0x7ffffffe
xor r8d, r8d
lea rcx, [rbp + 0x10]
mov edx, 0xe0
call fcn.1400aca84
jmp 0x140090634
mov byte [rbp + 0x10], 0
test eax, eax
js 0x140090b4d
mov edx, 0xe0
lea rcx, [rbp + 0xf0]
mov r8d, 0x7fffffff
call fcn.1400ace08
test eax, eax
js 0x140090679
mov r9, rsi
mov qword [rsp + 0x20], 0x7ffffffe
xor r8d, r8d
lea rcx, [rbp + 0xf0]
mov edx, 0xe0
call fcn.1400aca84
jmp 0x140090680
mov byte [rbp + 0xf0], 0
test eax, eax
js 0x140090b4d
mov rsi, qword [rbp + 0x538]
mov eax, dword [rbp + 0x530]
mov word [rbp + 0x2bc], r14w
xor r14d, r14d
mov byte [rbp + 0x2b0], 0
mov dword [rbp + 0x2b4], eax
mov dword [rbp + 0x2b8], r15d
test rsi, rsi
je 0x1400908ab
cmp byte [rsi], r14b
je 0x1400908ab
mov rdi, qword [rbp + 0x540]
test rdi, rdi
je 0x1400908ab
cmp byte [rdi], r14b
je 0x1400908ab
mov edx, 0xe0
mov byte [rbp + 0x2b1], 1
mov r8d, 0x7fffffff
lea rcx, [rbp + 0x2e2]
call fcn.1400ace08
test eax, eax
js 0x140090723
mov r9, rsi
mov qword [rsp + 0x20], 0x7ffffffe
xor r8d, r8d
lea rcx, [rbp + 0x2e2]
mov edx, 0xe0
call fcn.1400aca84
jmp 0x14009072a
mov byte [rbp + 0x2e2], r14b
test eax, eax
js 0x140090b4d
lea r8, [rbp + 0x500]
mov qword [rbp + 0x500], r14
mov edx, setsockopt
mov rcx, rdi
call fcn.1400acca0
test eax, eax
mov rsi, r14
cmovns rsi, qword [rbp + 0x500]
js 0x140090b4d
cmp rsi, 0xc
jb 0x140090b4d
mov edx, setsockopt
lea rcx, [rbp + 0x2be]
mov r8d, 0x7fffffff
call fcn.1400ace08
test eax, eax
js 0x1400907a6
xor r8d, r8d
mov qword [rsp + 0x20], 0x7ffffffe
mov r9, rdi
lea rcx, [rbp + 0x2be]
lea edx, [r8 + 0x11]
call fcn.1400aca84
jmp 0x1400907ad
mov byte [rbp + 0x2be], r14b
mov rdi, qword [rbp + 0x550]
mov byte [rbp + 0x2e0], sil
test rdi, rdi
je 0x1400908ab
cmp byte [rdi], r14b
je 0x1400908ab
mov rsi, qword [rbp + 0x548]
test rsi, rsi
je 0x14009082a
cmp byte [rsi], r14b
je 0x14009082a
mov edx, 0xe0
lea rcx, [rbp + 0x3c2]
mov r8d, 0x7fffffff
call fcn.1400ace08
test eax, eax
js 0x14009081b
mov r9, rsi
mov qword [rsp + 0x20], 0x7ffffffe
xor r8d, r8d
lea rcx, [rbp + 0x3c2]
mov edx, 0xe0
call fcn.1400aca84
jmp 0x140090822
mov byte [rbp + 0x3c2], r14b
test eax, eax
js 0x140090b4d
lea r8, [rbp + 0x500]
mov qword [rbp + 0x500], r14
mov edx, setsockopt
mov rcx, rdi
call fcn.1400acca0
test eax, eax
mov rcx, r14
cmovns rcx, qword [rbp + 0x500]
js 0x140090b4d
cmp rcx, 0xc
jb 0x140090b4d
mov byte [rbp + 0x2e1], cl
mov edx, setsockopt
lea rcx, [rbp + 0x2cf]
mov r8d, 0x7fffffff
call fcn.1400ace08
test eax, eax
js 0x1400908a4
xor r8d, r8d
mov qword [rsp + 0x20], 0x7ffffffe
mov r9, rdi
lea rcx, [rbp + 0x2cf]
lea edx, [r8 + 0x11]
call fcn.1400aca84
jmp 0x1400908ab
mov byte [rbp + 0x2cf], r14b
movzx eax, byte [rbp + 0x558]
lea rdx, [0x1401336e4]
mov r15d, 1
mov dword [rbp + 0x4c4], eax
movzx eax, byte [rbp + 0x560]
mov word [rbp + 0x4a4], r15w
mov dword [rbp + 0x4a8], r15d
lea ecx, [r15 + 0x77]
mov dword [rbp + 0x4ac], r15d
mov dword [rbp + 0x4b0], 0x20000
mov dword [rbp + 0x4b4], 0x20000
mov dword [rbp + 0x4b8], 0x140002
mov word [rbp + 0x4bc], r15w
mov byte [rbp + 0x4be], r14b
mov dword [rbp + 0x4c0], r15d
mov dword [rbp + 0x4c8], eax
mov dword [rbp + 0x4cc], 0x2000
mov dword [rbp + 0x4d0], 0x20000
call fcn.1400af704
mov qword [rbp + 0x500], rax
test rax, rax
je 0x140090984
mov r8, qword [rbp + 0x570]
mov rcx, rax
mov rdx, qword [rbp + 0x568]
call fcn.1400902d0
mov rdi, rax
test rax, rax
je 0x140090984
lea rcx, [rax + 8]
call fcn.1400923b0
test eax, eax
je 0x140090990
mov rcx, rdi
call fcn.140090320
lea edx, [r15 + 0x77]
mov rcx, rdi
call fcn.1400aee84
mov ecx, 8
mov dword [rbx], ecx
jmp 0x140090b53
mov rax, qword [rdi + 8]
lea rdx, [rsp + 0x30]
mov qword [rax + 0x3468], rdi
mov rcx, qword [rdi + 8]
call fcn.1400926d0
test eax, eax
jne 0x140090a06
mov rax, qword [rdi + 8]
movzx ecx, word [rax + 0x48]
cmp cx, 2
je 0x1400909de
nop dword [rax + rax]
test cx, cx
je 0x1400909ff
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rax, qword [rdi + 8]
movzx ecx, word [rax + 0x48]
cmp cx, 2
jne 0x1400909c0
mov rax, qword [rdi + 8]
cmp dword [rax + 0x628], 0x8000
jae 0x140090a2d
mov dword [rbx], 0x52e
mov dword [rbx], 0x32
jmp 0x140090b36
mov rax, qword [rdi + 8]
mov eax, dword [rax + 0x4c]
mov dword [rbx], 0x52e
cmp eax, 0x80000008
je 0x140090b16
cmp eax, 0x80000057
jne 0x140090aac
mov dword [rbx], 0x57
jmp 0x140090b36
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventW]
mov qword [rdi + 0x10], rax
test rax, rax
jne 0x140090a58
mov ecx, 8
mov dword [rbx], 0x52e
mov dword [rbx], ecx
jmp 0x140090b36
lea rax, [rbp + 0x500]
mov r9, rdi
mov qword [rsp + 0x28], rax
lea r8, [0x140091750]
xor edx, edx
mov dword [rsp + 0x20], r14d
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov r14, rax
test rax, rax
je 0x140090a91
mov edx, r15d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetThreadPriority]
mov qword [rdi + 0x18], r14
test r14, r14
jne 0x140090aa4
mov eax, 0x80000008
jmp 0x140090a06
mov rax, rdi
jmp 0x140090b55
cmp eax, 0x80000032
jne 0x140090abb
mov dword [rbx], 0x32
jmp 0x140090b36
cmp eax, 0x800005b4
jne 0x140090aca
mov dword [rbx], 0x79
jmp 0x140090b36
cmp eax, 0x8000052e
jne 0x140090b36
mov rax, qword [rdi + 8]
movzx edx, byte [rax + 0x60]
cmp dl, r15b
je 0x140090b1f
cmp dl, 2
jne 0x140090b27
movzx ecx, byte [rax + 0x61]
lea eax, [rcx - 3]
cmp al, r15b
jbe 0x140090b1f
cmp cl, 5
je 0x140090ab3
lea eax, [rcx - 8]
cmp al, r15b
jbe 0x140090ab3
cmp cl, 7
je 0x140090a22
lea eax, [rcx - 0xa]
cmp al, r15b
jbe 0x140090a22
cmp cl, 6
jne 0x140090b36
mov ecx, 8
mov dword [rbx], ecx
jmp 0x140090b36
mov dword [rbx], 0x37
jmp 0x140090b36
mov eax, dword [rbx]
cmp dl, 3
mov ecx, 8
cmove eax, ecx
mov dword [rbx], eax
mov rcx, rdi
call fcn.140090320
mov edx, 0x78
mov rcx, rdi
call fcn.1400aee84
jmp 0x140090b53
mov dword [rbx], 0x57
xor eax, eax
mov rdi, qword [rsp + 0x608]
lea r11, [rsp + 0x5e0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret