Function at 0x14014e5d0
Capabilities:
Load assembly via iassembly

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x5a8
mov r15, r8
mov rbx, rdx
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x210], 1
mov qword [rsp + 0x218], 1
mov qword [rsp + 0x240], 0
mov qword [rsp + 0x248], 4
mov rax, qword [0x1405712f8]
movzx eax, byte [rax]
mov ecx, 0xc0
mov edx, 8
call fcn.140010f60
test rax, rax
je 0x14014eeda
mov rdi, rax
lea rdx, [rsp + 0x210]
mov r8d, 0xc0
mov rcx, rax
call fcn.1403ad280
lock inc qword [rdi]
jle 0x14014efb8
mov qword [rsp + 0x98], rdi
mov qword [rsp + 0xa0], rdi
lea rcx, [rsp + 0x370]
mov r8d, 0x110
mov rdx, r15
call fcn.1403ad280
mov rax, qword [r15 + 0x110]
mov rbp, qword [r15 + 0x130]
mov r13d, 2
cmp rax, 2
je 0x14014e9c3
mov r12, qword [r15 + 0x118]
mov r14, qword [r15 + 0x120]
mov r13, qword [r15 + 0x128]
test rax, rax
je 0x14014e6d4
mov al, 1
mov rdx, r13
mov rcx, r13
mov r13d, 2
jmp 0x14014e79e
lea rcx, [rsp + 0x100]
xor edx, edx
call fcn.1401762f0
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0x220], rax
movups xmm0, xmmword [rsp + 0x100]
movaps xmmword [rsp + 0x210], xmm0
mov rsi, qword [rsp + 0x118]
mov qword [rsp + 0x228], r12
mov qword [rsp + 0x230], r14
mov qword [rsp + 0x238], r13
mov qword [rsp + 0x240], rbp
mov qword [rsp + 0x100], rsi
mov rax, qword [0x1405712f8]
movzx eax, byte [rax]
mov ecx, 8
mov edx, 8
call fcn.140010f60
test rax, rax
je 0x14014ef98
mov r14, rax
mov qword [rax], rsi
movaps xmm0, xmmword [rsp + 0x210]
movaps xmm1, xmmword [rsp + 0x220]
movaps xmmword [rsp + 0x100], xmm0
movaps xmmword [rsp + 0x110], xmm1
mov rax, qword [rsp + 0x230]
mov qword [rsp + 0x120], rax
test r13, r13
setne al
lea rcx, fcn.14010d430
xor r12d, r12d
mov rdx, rbp
mov r8, qword [rsp + 0x120]
mov qword [rsp + 0x230], r8
movaps xmm0, xmmword [rsp + 0x100]
movaps xmm1, xmmword [rsp + 0x110]
movaps xmmword [rsp + 0x220], xmm1
movaps xmmword [rsp + 0x210], xmm0
mov qword [rsp + 0x238], r13
mov qword [rsp + 0x240], rbp
mov qword [rsp + 0x78], r12
mov qword [rsp + 0x80], r14
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x90], rbp
test al, al
je 0x14014e8a3
movups xmm0, xmmword [0x14048afa8]
movaps xmmword [rsp + 0x490], xmm0
movups xmm0, xmmword [0x14048af98]
movaps xmmword [rsp + 0x480], xmm0
lea rcx, [rsp + 0x4a0]
call fcn.1402eb420
lea rdx, [rsp + 0x398]
lea rcx, [rsp + 0x100]
lea r8, [rsp + 0x480]
lea r9, [rsp + 0x4a0]
call fcn.14013ff50
cmp byte [rsp + 0x120], 3
je 0x14014ef6d
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0x50], rax
movups xmm0, xmmword [rsp + 0x100]
movups xmm1, xmmword [rsp + 0x110]
movaps xmmword [rsp + 0x40], xmm1
movaps xmmword [rsp + 0x30], xmm0
cmp al, 2
je 0x14014e8a3
mov rax, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
lea rcx, [rsp + 0x48]
mov r8, qword [rsp + 0x40]
call qword [rax + 0x20]
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x88]
mov qword [rsp + 0x110], rdx
mov rdx, qword [rsp + 0x90]
mov qword [rsp + 0x118], rdx
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x108], rcx
cmp qword [rsp + 0x370], 0
je 0x14014e947
mov rax, qword [rsp + 0x378]
test rax, rax
je 0x14014e915
lea rcx, [rsp + 0x390]
mov rdx, qword [rsp + 0x380]
mov r8, qword [rsp + 0x388]
call qword [rax + 0x20]
jmp 0x14014e947
mov r14, qword [rsp + 0x380]
mov rsi, qword [rsp + 0x388]
mov rax, qword [rsi]
test rax, rax
je 0x14014e932
mov rcx, r14
call rax
mov rdx, qword [rsi + 8]
test rdx, rdx
je 0x14014e947
mov r8, qword [rsi + 0x10]
mov rcx, r14
call fcn.140010f70
mov qword [rsp + 0x370], 1
mov rax, qword [rsp + 0x100]
mov rcx, qword [rsp + 0x108]
mov rdx, qword [rsp + 0x110]
mov r8, qword [rsp + 0x118]
mov qword [rsp + 0x378], rax
mov qword [rsp + 0x380], rcx
mov qword [rsp + 0x388], rdx
mov qword [rsp + 0x390], r8
movaps xmm0, xmmword [rsp + 0x210]
movaps xmm1, xmmword [rsp + 0x220]
movaps xmmword [rsp + 0x100], xmm0
movaps xmmword [rsp + 0x110], xmm1
mov rax, qword [rsp + 0x230]
mov qword [rsp + 0x120], rax
lea r14, [rsp + 0x210]
lea rdx, [rsp + 0x370]
mov r8d, 0x110
mov rcx, r14
call fcn.1403ad280
movaps xmm0, xmmword [rsp + 0x100]
movaps xmm1, xmmword [rsp + 0x110]
movups xmmword [rsp + 0x320], xmm0
movups xmmword [rsp + 0x330], xmm1
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0x340], rax
lea rcx, [rsp + 0x370]
mov r8d, 0x110
mov rdx, r14
call fcn.1403ad280
mov rax, qword [rsp + 0x340]
mov qword [rsp + 0x50], rax
movups xmm0, xmmword [rsp + 0x320]
movups xmm1, xmmword [rsp + 0x330]
movaps xmmword [rsp + 0x40], xmm1
movaps xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x60], rbp
lea rdx, [rsp + 0x3f8]
lea rcx, [rsp + 0xa8]
call fcn.14038cd40
movzx eax, byte [rsp + 0x448]
mov byte [rsp + 0xf8], al
movups xmm0, xmmword [rsp + 0x438]
movups xmmword [rsp + 0xe8], xmm0
mov eax, dword [rsp + 0x420]
mov ecx, dword [rsp + 0x434]
movups xmm0, xmmword [rsp + 0x410]
movups xmm1, xmmword [rsp + 0x424]
movups xmmword [rsp + 0xd4], xmm1
mov dword [rsp + 0xd0], eax
mov dword [rsp + 0xe4], ecx
movups xmmword [rsp + 0xc0], xmm0
mov ebp, dword [rsp + 0x458]
cmp ebp, 0x3b9aca00
jne 0x14014eae0
lea rax, [rbx + 8]
mov ebp, dword [rbx + 0x10]
jmp 0x14014eae8
lea rax, [rsp + 0x450]
mov r13, qword [rbx]
mov r14, qword [r13 + 0x10]
test r14, r14
je 0x14014eeee
mov rbx, qword [rax]
mov rsi, qword [rsp + 0x370]
lea rdx, [rsp + 0x378]
lea rcx, [rsp + 0x100]
mov r8d, 0x108
call fcn.1403ad280
mov rax, qword [r14 + 0x1c0]
nop word cs:[rax + rax]
test al, 1
jne 0x14014ebeb
cmp rax, 0xfffffffffffffffe
je 0x14014efba
lea rcx, [rax + 2]
lock cmpxchg qword [r14 + 0x1c0], rcx
jne 0x14014eb30
mov qword [rsp + 0x210], rsi
lea rcx, [rsp + 0x218]
lea rdx, [rsp + 0x100]
mov r8d, 0x108
call fcn.1403ad280
mov qword [rsp + 0x320], rdi
lea rcx, [r14 + 0x80]
mov esi, 1
mov r15d, 1
lock xadd qword [r14 + 0x88], r15
mov rdx, r15
call fcn.1400f55f0
mov r12, rax
and r15d, 0x1f
imul rcx, r15, 0x118
add rcx, rax
lea rdx, [rsp + 0x210]
mov r8d, 0x118
call fcn.1403ad288
mov ecx, r15d
shl rsi, cl
lock or qword [r12 + 0x2310], rsi
add r14, 0x100
mov r15b, 1
xor esi, esi
mov r12b, 1
mov rcx, r14
call fcn.140272d20
jmp 0x14014ec10
lea rcx, [rsp + 0x4a0]
lea rdx, [rsp + 0x100]
mov r8d, 0x108
call fcn.1403ad280
cmp rsi, 2
jne 0x14014ef14
mov r14, qword [rsp + 0x58]
cmp r14, 2
je 0x14014ec84
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x248], rax
movaps xmm0, xmmword [rsp + 0x30]
movaps xmm1, xmmword [rsp + 0x40]
movaps xmm2, xmmword [rsp + 0x50]
movups xmmword [rsp + 0x238], xmm2
movups xmmword [rsp + 0x228], xmm1
movups xmmword [rsp + 0x218], xmm0
mov qword [rsp + 0x210], rdi
mov byte [rsp + 0x251], 0
xor r15d, r15d
lea rcx, [rsp + 0x100]
lea rdx, [rsp + 0x210]
xor r12d, r12d
xor esi, esi
mov r8, rbx
mov r9d, ebp
call fcn.1400ce740
jmp 0x14014ecb7
mov qword [rsp + 0x210], rdi
mov byte [rsp + 0x220], 0
mov r15b, 1
xor r12d, r12d
lea rcx, [rsp + 0x100]
lea rdx, [rsp + 0x210]
xor esi, esi
mov r8, rbx
mov r9d, ebp
call fcn.1400cc820
mov rax, qword [rsp + 0x100]
cmp rax, 3
je 0x14014ed97
cmp eax, 4
jne 0x14014ee17
mov rdi, qword [rsp + 0x108]
test rdi, rdi
jne 0x14014ed9f
mov word [rsp + 0x508], 1
mov qword [rsp + 0x4f8], 1
lea rax, [0x140485ed0]
mov qword [rsp + 0x500], rax
movabs rax, 0x8000000000000001
dec rax
mov qword [rsp + 0x4a0], rax
mov rax, qword [0x1405712f8]
movzx eax, byte [rax]
mov ecx, 0x70
mov edx, 8
call fcn.140010f60
test rax, rax
je 0x14014efa9
mov rdi, rax
movups xmm0, xmmword [rsp + 0x500]
movups xmmword [rax + 0x60], xmm0
movups xmm0, xmmword [rsp + 0x4f0]
movups xmmword [rax + 0x50], xmm0
movups xmm0, xmmword [rsp + 0x4e0]
movups xmmword [rax + 0x40], xmm0
movups xmm0, xmmword [rsp + 0x4a0]
movups xmm1, xmmword [rsp + 0x4b0]
movups xmm2, xmmword [rsp + 0x4c0]
movups xmm3, xmmword [rsp + 0x4d0]
movups xmmword [rax + 0x30], xmm3
movups xmmword [rax + 0x20], xmm2
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
jmp 0x14014ed9f
mov rdi, qword [rsp + 0x108]
mov rdx, qword [rdi]
lea rax, [rdx*2]
test rax, rax
je 0x14014edbe
mov rcx, qword [rdi + 8]
mov r8d, 1
call fcn.140010f70
mov rax, qword [rsp + 0xf8]
mov qword [rdi + 0x50], rax
movups xmm0, xmmword [rsp + 0xe8]
movups xmmword [rdi + 0x40], xmm0
movups xmm0, xmmword [rsp + 0xa8]
movups xmm1, xmmword [rsp + 0xb8]
movups xmm2, xmmword [rsp + 0xc8]
movups xmm3, xmmword [rsp + 0xd8]
movups xmmword [rdi + 0x30], xmm3
movups xmmword [rdi + 0x20], xmm2
movups xmmword [rdi + 0x10], xmm1
movups xmmword [rdi], xmm0
mov r15, qword [rsp + 0x70]
mov qword [r15 + 8], rdi
mov qword [r15], 3
jmp 0x14014ee7d
lock inc qword [r13]
jle 0x14014efb8
lea rdx, [rsp + 0x100]
mov r8d, 0x88
mov r15, qword [rsp + 0x70]
mov rcx, r15
call fcn.1403ad280
mov qword [r15 + 0x88], rbx
mov dword [r15 + 0x90], ebp
mov qword [r15 + 0x98], 0
mov qword [r15 + 0xa8], r13
mov rdx, qword [rsp + 0xa8]
test rdx, rdx
je 0x14014ee7d
mov rcx, qword [rsp + 0xb0]
mov r8d, 1
call fcn.140010f70
cmp r14d, 2
jne 0x14014eec3
mov rax, qword [rsp + 0x58]
cmp eax, 2
je 0x14014eec3
mov rdi, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov rax, qword [rsi]
test rax, rax
je 0x14014eea4
mov rcx, rdi
call rax
mov rdx, qword [rsi + 8]
test rdx, rdx
je 0x14014eeb9
mov r8, qword [rsi + 0x10]
mov rcx, rdi
call fcn.140010f70
lea rcx, [rsp + 0x30]
call fcn.14013c8f0
mov rax, r15
add rsp, 0x5a8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov ecx, 8
mov edx, 0xc0
call fcn.1403891c0
jmp 0x14014efb8
mov r15b, 1
lea rcx, [0x14048aeed]
lea r8, [0x14048af08]
mov edx, 0x18
mov r12b, 1
mov sil, 1
call fcn.1403963e0
jmp 0x14014efb8
mov qword [rsp + 0x210], rsi
lea rcx, [rsp + 0x218]
lea rdx, [rsp + 0x4a0]
mov r8d, 0x108
call fcn.1403ad280
mov qword [rsp + 0x320], rdi
lea rax, [0x14048af38]
mov qword [rsp + 0x20], rax
lea rcx, str.core_thread_panicked
lea r9, fcn.14013cca0
lea r8, [rsp + 0x210]
mov edx, 0x14
call fcn.140396c70
jmp 0x14014efb8
lea rax, [0x140489ac8]
mov qword [rsp + 0x20], rax
lea rcx, [0x140489aaa]
lea r9, [0x140489288]
lea r8, [rsp + 0x30]
mov edx, 0x17
call fcn.140396c70
jmp 0x14014efb8
mov ecx, 8
mov edx, 8
call fcn.1403891c0
jmp 0x14014efb8
mov ecx, 8
mov edx, 0x70
call fcn.1403891c0
ud2
mov ecx, 7
int 0x29
ud2