Function at 0x140068b20
Capabilities:
Create thread

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xc8
movaps xmmword [rsp + 0xa0], xmm6
movaps xmmword [rsp + 0xb0], xmm7
lea rdx, [0x14003b980]
mov rax, qword [rcx + 0x70]
mov rdi, qword [rax + 0x20]
movzx eax, byte [rcx + 0x5c]
mov qword [rsp + 0x110], rcx
cmp al, 1
je 0x140068b76
cmp al, 2
lea rdx, [0x14003b750]
lea rax, [0x14003b310]
cmovne rdx, rax
mov rax, qword [rsp + 0x110]
movzx ecx, byte [rax + 0x5b]
mov r9d, ecx
test ecx, ecx
je 0x140068be8
lea r8d, [rcx - 1]
mov rbx, rax
add rax, 0xa0
lea r10, [r8 + r8*2]
lea r8, [r8 + r10*4]
lea r8, [rbx + r8*8 + 0x108]
mov r10, r8
sub r10, rax
and r10d, 8
je 0x140068bd0
mov qword [rax], rdx
mov rax, qword [rsp + 0x110]
add rax, 0x108
cmp r8, rax
je 0x140068be2
nop dword [rax + rax]
mov qword [rax], rdx
add rax, 0xd0
mov qword [rax - 0x68], rdx
cmp r8, rax
jne 0x140068bd0
cmp r9b, 1
jne 0x140068bf0
xor ebx, ebx
jmp 0x140068c0d
call fcn.140011220
mov rbx, rax
test rax, rax
je 0x14006933d
mov rax, qword [rsp + 0x110]
movzx ecx, byte [rax + 0x5b]
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0x68], rdi
xor r12d, r12d
lea rsi, [rax + 0x60]
lea rax, [rsp + 0x88]
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x90]
mov r13, rsi
mov rdi, rsi
mov qword [rsp + 0x50], rax
mov rsi, qword [rsp + 0x110]
jmp 0x140068c5c
add r12, 1
add r13, 0x68
movzx ecx, byte [rsi + 0x5b]
cmp ecx, r12d
jle 0x140069070
mov edx, dword [r13 + 0x38]
test edx, edx
je 0x140068c50
mov qword [rsp + 0x88], 0
movsxd rcx, edx
cmp edx, 0x10
jle 0x140068f70
xor r14d, r14d
mov eax, 0x10
nop dword [rax]
shl rax, 4
mov ebp, r14d
add r14d, 1
cmp rax, rcx
jl 0x140068c90
mov ecx, 0x10
mov qword [rsp + 0x90], 0
call fcn.140011220
mov qword [rsp + 0x88], rax
mov r10, rax
test rax, rax
je 0x140069060
mov edx, dword [r13 + 0x38]
test edx, edx
jle 0x140068fa0
lea rax, [rsp + 0x90]
mov qword [rsp + 0x70], r12
xor r15d, r15d
pxor xmm6, xmm6
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x98]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x78], rdi
mov qword [rsp + 0x110], rsi
mov dword [rsp + 0x60], r14d
mov r14, r10
mov esi, r15d
mov eax, 0x10
mov r9, qword [rsp + 0x38]
mov rcx, r13
shl esi, 4
mov r8, qword [rsp + 0x30]
mov qword [rsp + 0x98], 0
sub edx, esi
cmp edx, eax
cmovg edx, eax
call fcn.140068750
mov edx, eax
test eax, eax
je 0x140068d90
mov r10, r14
mov r13d, edx
mov rcx, r10
call fcn.14000ea90
mov rcx, rbx
xor ebx, ebx
call fcn.14000ea90
mov rcx, rbx
call fcn.14000ea90
nop
movaps xmm6, xmmword [rsp + 0xa0]
movaps xmm7, xmmword [rsp + 0xb0]
mov eax, r13d
add rsp, 0xc8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
lea eax, [r15 + 1]
mov rdi, qword [rsp + 0x98]
movq xmm7, r13
mov dword [rsp + 0x44], eax
mov rax, qword [0x1401b0350]
movq xmm1, rdi
punpcklqdq xmm7, xmm1
test rax, rax
je 0x140068dd1
mov dword [rsp + 0x58], edx
mov ecx, 0x64
call rax
mov edx, dword [rsp + 0x58]
test eax, eax
jne 0x140069030
mov ecx, dword [0x1401b01c0]
test ecx, ecx
je 0x1400692f0
mov rcx, qword [0x1401f5360]
test rcx, rcx
je 0x140068df9
mov dword [rsp + 0x58], edx
call qword [0x1401b0240]
mov edx, dword [rsp + 0x58]
mov ecx, 0x48
mov dword [rsp + 0x58], edx
call fcn.14000bed0
mov edx, dword [rsp + 0x58]
mov r12, rax
test r12, r12
je 0x140069030
movups xmmword [r12 + 0x10], xmm6
mov qword [r12 + 0x40], 0
movups xmmword [r12 + 0x20], xmm6
movups xmmword [r12 + 0x30], xmm6
movups xmmword [r12], xmm7
mov r8, qword [r13 + 0x10]
mov r9d, dword [r8 + 4]
mov eax, dword [r8 + 8]
mov r8d, r9d
shr r8d, 0x1f
add r8d, r9d
lea r9d, [rax + 8]
add eax, 9
sar r8d, 1
cmp r9d, r8d
cmovl eax, r8d
mov r8, r14
mov dword [r12 + 0x18], eax
cdqe
add qword [r13 + 0x60], rax
cmp dword [rsp + 0x60], 1
je 0x140068fe7
lea eax, [rbp - 1]
mov r9d, 0x10
and eax, 1
mov r8d, eax
mov eax, 1
cmp ebp, 1
jle 0x140068eb3
test r8d, r8d
je 0x140068ea8
mov r9d, 0x100
mov eax, 2
cmp ebp, 2
jle 0x140068eb3
nop dword [rax]
add eax, 2
shl r9d, 8
cmp ebp, eax
jg 0x140068ea8
test edx, edx
jne 0x140069018
xor edi, edi
mov dword [rsp + 0x64], esi
mov r8, r14
mov esi, ebp
mov qword [rsp + 0x58], r14
mov ebp, edi
mov edi, r9d
jmp 0x140068ef4
test edi, edi
mov r8, qword [rax + 8]
lea eax, [rdi + 0xf]
cmovns eax, edi
add ebp, 1
sar eax, 4
mov edi, eax
cmp esi, ebp
jle 0x140068fdc
mov eax, r15d
cdq
idiv edi
cdq
shr edx, 0x1c
add eax, edx
and eax, 0xf
sub eax, edx
cdqe
lea r10, [rax + rax*4]
shl r10, 4
add r10, qword [r8 + 0x18]
mov rax, qword [r10 + 0x48]
mov r14, r10
test rax, rax
jne 0x140068ed8
mov ecx, 0x10
call fcn.140011220
test rax, rax
je 0x140069018
mov rdx, rax
lea r8, [r14 + 0x48]
mov rcx, r13
call fcn.1400110d0
mov edx, eax
test eax, eax
je 0x140069310
mov rax, r12
mov r13d, edx
mov rcx, rax
call fcn.14000ed00
mov r10, qword [rsp + 0x88]
jmp 0x140068d4d
mov r9, qword [rsp + 0x48]
mov rcx, r13
mov r8, qword [rsp + 0x50]
mov qword [rsp + 0x90], 0
call fcn.140068750
mov r10, qword [rsp + 0x88]
mov edx, eax
test eax, eax
jne 0x140068d4a
test rbx, rbx
je 0x140069050
lea r8, [r12 + r12*4]
mov rcx, r13
mov rdx, r10
add r12, 1
shl r8, 4
add r8, qword [rbx + 0x18]
add r13, 0x68
add r8, 0x48
call fcn.1400110d0
test eax, eax
je 0x140068c58
mov r13d, eax
jmp 0x140068d55
mov ebp, esi
mov r14, qword [rsp + 0x58]
mov esi, dword [rsp + 0x64]
and r15d, 0xf
add esi, 0x10
lea rax, [r15 + r15*4]
shl rax, 4
add rax, qword [r8 + 0x18]
mov qword [rax + 0x48], r12
mov edx, dword [r13 + 0x38]
cmp edx, esi
jle 0x14006946c
mov r15d, dword [rsp + 0x44]
jmp 0x140068d11
mov rax, r12
mov r13d, 7
jmp 0x140068f51
mov rcx, rdi
call fcn.14000ea90
cmp dword [rsp + 0x60], 1
je 0x140069348
mov edx, 7
xor r12d, r12d
jmp 0x140068e77
add r12, 1
add r13, 0x68
mov rbx, r10
jmp 0x140068c58
mov r13d, 7
jmp 0x140068d4d
mov rax, qword [rsp + 0x110]
mov rsi, rdi
mov rdi, qword [rsp + 0x68]
cmp byte [rax + 0x59], 0
je 0x1400692c0
movzx esi, byte [rax + 0x5b]
mov rcx, rax
sub esi, 1
movsxd rsi, esi
lea rax, [rsi + rsi*2]
lea rax, [rsi + rax*4]
lea rax, [rcx + rax*8]
cmp qword [rax + 0x78], 0
je 0x140069355
mov edx, 0x50
mov rcx, rdi
call fcn.140028cb0
mov r12, rax
mov rax, qword [rsp + 0x110]
mov qword [rax + 0x10], r12
test r12, r12
je 0x140069332
lea rax, [rsi + rsi*2]
lea r8, [r12 + 0x48]
mov rdx, rbx
lea rax, [rsi + rax*4]
mov rsi, qword [rsp + 0x110]
lea rcx, [rsi + rax*8 + 0x60]
call fcn.1400110d0
mov r13d, eax
test eax, eax
jne 0x1400692e6
mov rax, qword [r12 + 0x48]
mov rdx, qword [rax]
mov dword [rax + 0x20], 1
movsxd rax, dword [rax + 0x18]
sub qword [rdx + 0x60], rax
mov rax, qword [rsp + 0x110]
movzx edx, byte [rax + 0x5b]
movzx eax, dl
cmp dl, 1
jbe 0x140069185
xor r8d, r8d
xor ecx, ecx
jmp 0x140069163
mov rdx, qword [rax]
mov dword [rax + 0x20], 1
add r8d, 1
add rcx, 0x50
movsxd rax, dword [rax + 0x18]
sub qword [rdx + 0x60], rax
mov rax, qword [rsp + 0x110]
movzx eax, byte [rax + 0x5b]
lea r9d, [rax - 1]
mov edx, eax
cmp r9d, r8d
jle 0x140069185
mov r9, qword [rbx + 0x18]
mov rax, qword [r9 + rcx + 0x48]
test rax, rax
jne 0x140069132
movzx eax, dl
add r8d, 1
add rcx, 0x50
lea r10d, [rax - 1]
cmp r10d, r8d
jg 0x140069167
mov qword [rsp + 0x30], r12
mov r15, qword [sym.imp.msvcrt.dll__beginthreadex]
xor esi, esi
pxor xmm6, xmm6
mov rdi, qword [rsp + 0x110]
lea rbp, [fcn.140068a30]
jmp 0x140069277
mov r14, qword [rax]
mov qword [r14], 0
mov eax, dword [0x1401b01c0]
test eax, eax
je 0x140069417
mov rcx, qword [0x1401f5360]
test rcx, rcx
je 0x1400691d5
call qword [0x1401b0240]
mov ecx, 0x28
call fcn.14000bed0
mov r9, rax
test r9, r9
je 0x14006945b
cmp byte [0x1401b01c4], 0
je 0x1400693dc
mov rax, qword [0x1401b0350]
test rax, rax
je 0x14006921d
mov qword [rsp + 0x38], r9
mov ecx, 0xc8
call rax
mov r9, qword [rsp + 0x38]
test eax, eax
jne 0x1400693dc
lea rax, [r9 + 8]
mov qword [r9 + 0x10], rbp
xor edx, edx
xor ecx, ecx
mov qword [r9 + 0x18], r12
lea r8, [0x140007360]
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0
call r15
mov r9, qword [rsp + 0x38]
mov qword [r9], rax
test rax, rax
je 0x140069444
cmp qword [r9 + 0x10], 0
je 0x1400693ed
mov qword [r14], r9
movzx edx, byte [rdi + 0x5b]
add r13d, 1
add rsi, 0x50
movzx eax, dl
cmp eax, r13d
jle 0x14006942a
mov r12, qword [rbx + 0x18]
add r12, rsi
mov rax, qword [r12 + 0x48]
test rax, rax
je 0x14006926c
mov edx, dword [rax + 0x20]
test edx, edx
jne 0x1400691ab
mov edx, 1
mov rcx, r12
add r13d, 1
add rsi, 0x50
call fcn.140068310
test eax, eax
jne 0x140069462
movzx edx, byte [rdi + 0x5b]
jmp 0x140069274
xor r8d, r8d
mov rdx, rbx
mov rcx, rsi
call fcn.140068430
mov r13d, eax
mov rax, qword [rsp + 0x110]
mov qword [rax + 0x18], rbx
test r13d, r13d
je 0x140068d68
xor ebx, ebx
jmp 0x140068d5f
mov dword [rsp + 0x58], edx
mov ecx, 0x48
call qword [0x1401b01e0]
mov edx, dword [rsp + 0x58]
mov r12, rax
jmp 0x140068e0e
mov rax, qword [r14 + 0x48]
jmp 0x140068ed8
lea rax, [rsi + rsi*2]
lea rax, [rsi + rax*4]
mov rsi, qword [rsp + 0x110]
mov qword [rsi + rax*8 + 0x78], 0
mov r13d, 7
jmp 0x140068d5f
mov r13d, 7
jmp 0x140068d55
xor eax, eax
mov r13d, 7
jmp 0x140068f51
mov rax, qword [rax + 0x70]
mov rbp, qword [rax + 0x28]
movzx edx, word [rbp + 6]
mov rcx, qword [rbp + 0x10]
add edx, 1
imul edx, edx, 0x38
add edx, 0x28
test rcx, rcx
je 0x1400693d2
call fcn.140025c60
test rax, rax
je 0x140069319
lea rdx, [rax + 0x28]
movq xmm0, rbp
mov rcx, qword [rsp + 0x110]
movq xmm2, rdx
punpcklqdq xmm0, xmm2
movups xmmword [rax], xmm0
movzx edx, word [rbp + 6]
add edx, 1
mov word [rax + 0x1c], dx
lea rdx, [rsi + rsi*2]
lea rdx, [rsi + rdx*4]
lea rdx, [rcx + rdx*8]
mov rcx, qword [rdx + 0x70]
mov qword [rdx + 0x78], rax
mov rcx, qword [rcx + 0x28]
movzx ecx, word [rcx + 6]
mov word [rax + 0x1c], cx
mov rax, qword [rdx + 0x78]
mov byte [rax + 0x1f], 0
jmp 0x1400690ae
mov rcx, rdx
call fcn.14000c020
jmp 0x140069378
mov qword [r9 + 0x20], 0
movups xmmword [r9], xmm6
movups xmmword [r9 + 0x10], xmm6
mov qword [rsp + 0x38], r9
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov r9, qword [rsp + 0x38]
mov rcx, r12
mov dword [r9 + 8], eax
call fcn.140068a30
mov r9, qword [rsp + 0x38]
mov qword [r9 + 0x20], rax
jmp 0x140069265
mov ecx, 0x28
call qword [0x1401b01e0]
mov r9, rax
jmp 0x1400691e2
mov r12, qword [rsp + 0x30]
mov edx, 2
mov rcx, r12
call fcn.140068310
mov r13d, eax
jmp 0x1400692dd
pxor xmm0, xmm0
mov qword [r9 + 0x20], 0
movups xmmword [r9], xmm0
movups xmmword [r9 + 0x10], xmm0
jmp 0x1400693ed
xor ebx, ebx
jmp 0x140069332
mov r13d, eax
xor ebx, ebx
jmp 0x140068d5f
mov r12, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x110]
mov r10, qword [rsp + 0x88]
jmp 0x140068fa0