Function at 0x14010ccc0
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xa8
mov r13, r8
mov rbx, rdx
mov r14, rcx
mov rax, qword [0x14029c028]
xor rax, rsp
mov qword [rsp + 0xa0], rax
mov r12, qword [r8 + 8]
test r12, r12
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x28], rcx
jne 0x14010dcdf
xor r8d, r8d
xor eax, eax
mov qword [rsp + 0x40], rax
lea r15, [r14 + 0x10]
mov rax, qword [r14 + 0x10]
test al, 0x19
jne 0x14010e063
mov rcx, rax
or rcx, 8
lock cmpxchg qword [r15], rcx
jne 0x14010e063
mov esi, dword [r14 + 0x1c]
mov rax, qword [r14 + 0x10]
mov rcx, rax
xor rcx, 0xc
mov edx, ecx
and edx, 0x18
and ecx, 6
cmp rdx, rcx
jae 0x14010e2e8
mov rcx, rax
and rcx, 0xffffffffffffffd7
lock cmpxchg qword [r15], rcx
jne 0x14010e2e8
test sil, 1
jne 0x14010e1a3
mov rbp, qword [rbx + 8]
mov rax, qword [r15]
test al, 0x19
jne 0x14010e0d2
mov rcx, rax
or rcx, 8
lock cmpxchg qword [r15], rcx
jne 0x14010e0d2
mov qword [rsp + 0x38], r8
mov rsi, qword [r14 + 0x38]
test rsi, rsi
je 0x14010cda0
lock inc dword [rsi + 8]
mov rax, qword [r15]
mov rcx, rax
xor rcx, 0xc
mov edx, ecx
and edx, 0x18
and ecx, 6
cmp rdx, rcx
jae 0x14010e290
mov rcx, rax
and rcx, 0xffffffffffffffd7
lock cmpxchg qword [r15], rcx
jne 0x14010e290
mov ecx, 0x60
call fcn.140184dc4
mov r12, rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x30], xmm0
movups xmmword [rax + 0x40], xmm0
mov qword [rax + 0x50], 1
mov qword [rax + 0x58], 0
test rsi, rsi
je 0x14010e26e
mov rax, qword [rsi]
mov rax, qword [rax + 0x28]
lea rcx, [0x1401748a0]
cmp rax, rcx
jne 0x14010dab8
test rbp, rbp
mov qword [rsp + 0x20], rsi
je 0x14010d98f
mov rax, qword [rsi + 0x10]
mov rsi, qword [rax + 0x50]
test rsi, rsi
je 0x14010d98f
mov qword [rsp + 0x48], rbx
lea rax, [rbp - 0xffff9]
cmp rax, 0xfffffffffff00000
jb 0x14010d98a
mov rax, rbp
and rax, 0xfffffffffffffffe
cmp rax, 0xfffffffffffffff8
je 0x14010e3b4
mov rax, rbp
add rax, 7
je 0x14010d843
bsr rcx, rax
xor rcx, 0x3f
neg cl
mov eax, 1
shl rax, cl
cmp rax, 0x41
mov ebx, 0x40
cmovae rbx, rax
lea r10, [rsi + 0x18]
mov rax, qword [rsi + 0x18]
test al, 0x19
jne 0x14010e141
mov rcx, rax
or rcx, 8
lock cmpxchg qword [r10], rcx
jne 0x14010e141
mov qword [rsp + 0x50], r15
mov rax, qword [rsi + 0x48]
test rax, rax
je 0x14010d944
lea rdx, [rsi + 0x48]
mov rcx, rdx
lea r8, [rax + 8]
cmp qword [rax + 0x20], rbx
cmovae r8, rax
cmovae rcx, rax
mov rax, qword [r8]
test rax, rax
jne 0x14010cec7
cmp rcx, rdx
je 0x14010d944
mov r11, qword [rcx + 0x28]
mov rax, qword [r10]
mov rcx, rax
xor rcx, 0xc
mov edx, ecx
and edx, 0x18
and ecx, 6
cmp rdx, rcx
jae 0x14010e2fd
mov rcx, rax
and rcx, 0xffffffffffffffd7
lock cmpxchg qword [r10], rcx
jne 0x14010e2fd
mov r14, qword [r11 + 0x48]
test r14, r14
je 0x14010d971
mov r13, r14
cmp qword [r13 + 0x20], 0
je 0x14010e33b
mov rax, qword [r13 + 0x18]
mov eax, dword [rax]
mov ecx, eax
shr ecx, 0x10
cmp ecx, 0x7ffe
ja 0x14010d8eb
inc ecx
mov edx, dword [r13 + 0x2c]
dec edx
cmp dx, cx
jl 0x14010d8eb
movzx edx, cx
imul edx, dword [r13 + 0x28]
cmp qword [r13 + 0x20], rdx
jbe 0x14010e33b
mov rdi, qword [r13 + 0x18]
mov r8d, dword [rdi + rdx]
shr r8d, 0x10
add ecx, r8d
mov r8d, ecx
inc r8w
js 0x14010d8eb
mov r9d, dword [r13 + 0x2c]
dec r9d
cmp r9w, r8w
jl 0x14010d8eb
cmp qword [r13 + 0x20], 0
je 0x14010e33b
lea r8d, [rax + 1]
mov r9, qword [r13 + 0x18]
shl ecx, 0x10
movzx r8d, r8w
or r8d, ecx
lock cmpxchg dword [r9], r8d
jne 0x14010cf3a
add rdi, rdx
je 0x14010d8eb
mov r15, rdi
sub r15, qword [r13 + 8]
mov rax, qword [r13 + 0x10]
mov ecx, dword [r13 + 0x28]
sub rax, rcx
cmp rax, r15
jb 0x14010d971
cmp r13, r14
jne 0x14010e32d
mov rax, r15
shr rax, 0x20
jne 0x14010e33b
mov r14, qword [r13]
cmp r14, 0xffffffffffffffff
je 0x14010d971
mov r13d, dword [r13 + 0x28]
lea rax, [r13 - 8]
cmp rax, rbp
cmovb rbp, rax
lock inc dword [rsi]
mov rax, qword [r12 + 0x30]
cmp rax, 1
je 0x14010d2d1
cmp rax, 2
je 0x14010e23b
cmp rax, 3
je 0x14010e210
mov qword [r12 + 0x10], rsi
mov qword [r12 + 0x18], r14
mov dword [r12 + 0x20], r15d
mov dword [r12 + 0x24], r13d
mov qword [r12 + 0x28], rdi
mov qword [r12 + 0x30], 1
cmp r13d, 7
jbe 0x14010e3c1
add rdi, 8
mov qword [r12 + 0x38], rdi
mov qword [r12 + 0x40], rbp
mov r13, qword [rsp + 0x30]
mov r14, qword [rsp + 0x28]
mov r15, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x20]
lock dec dword [rsi + 8]
je 0x14010e2ae
mov r8, qword [rbx + 8]
test r8, r8
je 0x14010e284
mov rcx, qword [r12 + 0x38]
mov rdx, qword [rbx]
call fcn.140189480
mov rax, qword [rbx + 8]
cmp qword [r12 + 0x40], rax
jb 0x14010e340
lea rcx, [r12 + 0x40]
mov rdx, r12
add rdx, 0x30
mov qword [rcx], rax
cmp qword [rdx], 1
jne 0x14010d0e9
mov rcx, qword [r12 + 0x28]
mov dword [rcx + 4], 0
mov dword [rcx], eax
mov ecx, 0x28
call fcn.140184dc4
mov rsi, rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
mov qword [rax + 0x20], 0
mov rbx, qword [r12 + 0x48]
mov qword [r12 + 0x48], rax
test rbx, rbx
jne 0x14010e34c
mov rax, qword [rsp + 0x38]
mov qword [rsi], rax
mov rax, qword [rsp + 0x40]
mov qword [rsi + 8], rax
mov qword [rsi + 0x10], rax
mov rax, qword [r12 + 0x48]
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
sub rdx, rcx
sar rdx, 3
mov qword [rax + 0x18], rcx
mov qword [rax + 0x20], rdx
mov rax, qword [r15]
test al, 0x19
jne 0x14010dffa
mov rcx, rax
or rcx, 8
lock cmpxchg qword [r15], rcx
jne 0x14010dffa
movzx ebx, byte [r14 + 0x78]
test bl, bl
jne 0x14010d6de
lea rcx, [r14 + 0x88]
mov rax, qword [r14 + 0xb0]
mov rdx, qword [r14 + 0x88]
mov r8, qword [r14 + 0x90]
cmp rdx, r8
jne 0x14010d266
mov qword [r12], rax
mov rsi, qword [r14 + 0x38]
test rsi, rsi
je 0x14010d670
cmp byte [r14 + 0xa8], 0
jne 0x14010d7b8
inc rax
mov qword [r14 + 0xb0], rax
cmp rdx, r8
jne 0x14010d7e8
lock inc dword [rsi + 8]
lea rdi, [rsi + 8]
mov rax, qword [r15]
mov rcx, rax
xor rcx, 0xc
mov edx, ecx
and edx, 0x18
and ecx, 6
cmp rdx, rcx
jae 0x14010e29f
mov rcx, rax
and rcx, 0xffffffffffffffd7
lock cmpxchg qword [r15], rcx
jne 0x14010e29f
mov dword [rsp + 0x64], 0
mov qword [rsp + 0x68], r12
mov rax, qword [rsi]
mov rax, qword [rax + 0x30]
lea rdx, [rsp + 0x64]
lea r8, [rsp + 0x68]
mov rcx, rsi
call qword [0x1402ca008]
lock dec dword [rdi]
je 0x14010e2cb
mov rax, qword [r13 + 8]
xor ebp, ebp
test rax, rax
jne 0x14010d347
mov rcx, qword [rsp + 0xa0]
xor rcx, rsp
call fcn.1401879f0
mov eax, ebp
add rsp, 0xa8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r9, qword [r14 + 0xa0]
mov r10, r8
sub r10, rdx
sar r10, 3
movabs r11, 0x6db6db6db6db6db7
imul r11, r10
cmp r11, r9
jbe 0x14010e3da
imul r10, r9, 0x38
lea r9, [rdx + r10]
cmp byte [rdx + r10], 0
je 0x14010d519
mov r10, qword [r9 + 0x10]
add rax, r10
mov qword [r12], rax
mov rsi, qword [r14 + 0x38]
test rsi, rsi
je 0x14010d670
test r10, r10
jne 0x14010d670
cmp byte [r9], 0
je 0x14010d1ab
jmp 0x14010d670
mov rcx, qword [r12 + 0x10]
test rcx, rcx
je 0x14010d040
cmp qword [r12 + 0x28], 0
je 0x14010e401
lea rdx, [r12 + 0x18]
mov qword [rsp + 0x58], rdx
call fcn.14010f550
mov rbx, qword [r12 + 0x10]
test rbx, rbx
je 0x14010d040
mov qword [r12 + 0x10], 0
lock dec dword [rbx]
je 0x14010e318
mov rcx, qword [r12 + 0x10]
mov rax, qword [0x140278240]
mov rdx, qword [rsp + 0x58]
mov qword [rdx + 0x10], rax
movups xmm0, xmmword [0x140278230]
movups xmmword [rdx], xmm0
test rcx, rcx
je 0x14010d040
jmp 0x14010e401
mov r14, qword [r13]
lea r15, [r14 + rax*8]
lea r12, [0x14014e700]
lea r13, [0x140272000]
mov rsi, qword [r14]
test rsi, rsi
je 0x14010d4a2
lock dec dword [rsi + 8]
jne 0x14010d4a2
mov rax, qword [rsi]
mov rax, qword [rax + 0x10]
cmp rax, r12
jne 0x14010d4e2
mov qword [rsi], r13
lea rdi, [rsi + 0x10]
mov rax, qword [rsi + 0x10]
test al, 0x19
jne 0x14010d617
mov rcx, rax
or rcx, 8
lock cmpxchg qword [rdi], rcx
jne 0x14010d617
mov rax, qword [rdi]
mov rcx, rax
xor rcx, 0xc
mov edx, ecx
and edx, 0x18
and ecx, 6
cmp rdx, rcx
jae 0x14010d749
mov rcx, rax
and rcx, 0xffffffffffffffd7
lock cmpxchg qword [rdi], rcx
jne 0x14010d749
mov rbx, qword [rsi + 0xc0]
mov qword [rsi + 0xc0], 0
test rbx, rbx
jne 0x14010e491
mov rbx, qword [rsi + 0xb8]
mov qword [rsi + 0xb8], 0
test rbx, rbx
jne 0x14010e4a6
mov rbx, qword [rsi + 0x88]
test rbx, rbx
jne 0x14010d58d
mov rbx, qword [rsi + 0x58]
test rbx, rbx
jne 0x14010d4f2
mov rbx, qword [rsi + 0x50]
mov qword [rsi + 0x50], 0
test rbx, rbx
jne 0x14010e4bb
mov rbx, qword [rsi + 0x48]
mov qword [rsi + 0x48], 0
test rbx, rbx
jne 0x14010d4b4
mov rdx, qword [rsi + 0x40]
mov qword [rsi + 0x40], 0
test rdx, rdx
jne 0x14010e3f3
mov rcx, qword [rsi + 0x38]
test rcx, rcx
jne 0x14010d561
mov rcx, qword [rsi + 0x20]
test rcx, rcx
je 0x14010d48f
mov rax, qword [rsi + 0x28]
cmp rax, rcx
jne 0x14010e3e6
mov qword [rsi + 0x28], rcx
call fcn.140184dbc
mov rax, qword [rdi]
test al, 0x10
jne 0x14010e4d0
mov rcx, rsi
call fcn.140184dbc
add r14, 8
cmp r14, r15
je 0x14010d240
jmp 0x14010d35d
mov rdx, qword [rbx + 8]
mov qword [rbx + 8], 0
test rdx, rdx
jne 0x14010e4e8
mov rcx, qword [rbx]
test rcx, rcx
jne 0x14010d5ec
mov rcx, rbx
call fcn.140184dbc
jmp 0x14010d44e
mov rcx, rsi
mov edx, 1
call qword [0x1402ca008]
jmp 0x14010d4a2
mov r12, r13
mov r13, qword [rsi + 0x60]
mov rcx, rbx
cmp r13, rbx
jne 0x14010d521
mov qword [rsi + 0x60], rbx
call fcn.140184dbc
mov r13, r12
lea r12, [0x14014e700]
jmp 0x14010d428
xor r10d, r10d
jmp 0x14010d2a5
add r13, 0xffffffffffffffc8
test r13, r13
je 0x14010e3e0
cmp byte [r13], 0
je 0x14010d54f
mov rax, qword [r13 + 8]
mov qword [r13 + 8], 0
test rax, rax
jne 0x14010d71c
mov byte [r13], 0
lea rax, [r13 - 0x38]
cmp r13, rbx
mov r13, rax
jne 0x14010d525
mov rcx, qword [rsi + 0x58]
jmp 0x14010d501
mov qword [rsi + 0x38], 0
lock dec dword [rcx + 8]
jne 0x14010d470
mov rax, qword [rcx]
mov rax, qword [rax + 0xb0]
mov edx, 1
call qword [0x1402ca008]
jmp 0x14010d470
mov rdx, qword [rsi + 0x90]
mov rcx, rbx
cmp rdx, rbx
jne 0x14010d5ad
mov qword [rsi + 0x90], rbx
call fcn.140184dbc
jmp 0x14010d41b
add rdx, 0xffffffffffffffc8
test rdx, rdx
je 0x14010e3e3
cmp byte [rdx], 0
je 0x14010d5d7
mov rcx, qword [rdx + 8]
mov qword [rdx + 8], 0
test rcx, rcx
jne 0x14010d758
mov byte [rdx], 0
lea rax, [rdx - 0x38]
cmp rdx, rbx
mov rdx, rax
jne 0x14010d5b1
mov rcx, qword [rsi + 0x88]
jmp 0x14010d59c
mov qword [rbx], 0
lock dec dword [rcx + 8]
jne 0x14010d4d5
mov rax, qword [rcx]
mov rax, qword [rax + 0xb0]
mov edx, 1
call qword [0x1402ca008]
jmp 0x14010d4d5
mov eax, dword [0x1402ada80]
cmp eax, 0xdd
jne 0x14010d738
mov ecx, dword [0x1402ada84]
inc ecx
mov rax, qword [rdi]
test al, 0x11
jne 0x14010d642
test al, 8
je 0x14010d65c
dec ecx
cmp ecx, 1
jg 0x14010d630
lea rdx, [0x140274da8]
mov rcx, rdi
xor r8d, r8d
xor r9d, r9d
call fcn.1401c5f74
jmp 0x14010d3a8
mov rdx, rax
or rdx, 8
lock cmpxchg qword [rdi], rdx
je 0x14010d3a8
jmp 0x14010d63b
lea r8, [rsp + 0x70]
mov qword [r8], r12
mov rdx, rax
call fcn.14010e7e0
xor r12d, r12d
mov rax, qword [r15]
mov rcx, rax
xor rcx, 0xc
mov edx, ecx
and edx, 0x18
and ecx, 6
cmp rdx, rcx
jae 0x14010d77e
mov rcx, rax
and rcx, 0xffffffffffffffd7
lock cmpxchg qword [r15], rcx
jne 0x14010d77e
lea rdx, [rsp + 0x64]
mov dword [rdx], 0
xor ebp, ebp
mov rcx, r14
xor r8d, r8d
call fcn.140111ac0
test r12, r12
jne 0x14010d78d
test bl, bl
je 0x14010d231
jmp 0x14010d240
mov rcx, r15
mov rax, qword [r15]
mov r8, rax
xor r8, 0xc
mov edx, r8d
and edx, 0x18
and r8d, 6
cmp rdx, r8
jae 0x14010d7a2
mov rdx, rax
and rdx, 0xffffffffffffffd7
lock cmpxchg qword [rcx], rdx
jne 0x14010d7a2
mov r13, qword [rsp + 0x30]
mov ebp, 5
jmp 0x14010d6c8
mov rcx, rax
mov qword [rsp + 0x28], rax
call fcn.1400f7500
mov rcx, qword [rsp + 0x28]
call fcn.140184dbc
jmp 0x14010d54a
lea rcx, [0x1402ada80]
call fcn.140009510
jmp 0x14010d628
mov rcx, rdi
xor edx, edx
call fcn.1401c551a
jmp 0x14010d3d5
mov rax, rcx
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rdx
call fcn.1400f7500
mov rcx, qword [rsp + 0x30]
call fcn.140184dbc
mov rdx, qword [rsp + 0x28]
jmp 0x14010d5d4
mov rcx, r15
xor edx, edx
call fcn.1401c551a
jmp 0x14010d6b0
mov rcx, r12
call fcn.1400f7500
mov rcx, r12
call fcn.140184dbc
jmp 0x14010d6d1
xor edx, edx
call fcn.1401c551a
mov ebp, 5
mov r13, qword [rsp + 0x30]
jmp 0x14010d6c8
mov r9, r8
sub r9, rdx
sar r9, 3
movabs r10, 0x6db6db6db6db6db7
imul r10, r9
add r10, rax
sub r10, qword [r14 + 0xa0]
cmp r10, rax
ja 0x14010d1b9
jmp 0x14010d670
mov rax, qword [r14 + 0xa0]
inc rax
mov qword [r14 + 0xa0], rax
sub r8, rdx
sar r8, 3
movabs r9, 0x6db6db6db6db6db7
imul r9, r8
cmp rax, r9
jne 0x14010d1cc
call fcn.1401de0e0
mov rax, qword [rsp + 0x28]
mov qword [rax + 0xa0], 0
mov rsi, qword [rax + 0x38]
test rsi, rsi
jne 0x14010d1cc
mov r14, qword [rsp + 0x28]
jmp 0x14010d683
mov ecx, 0x40
jmp 0x14010ce75
lea rcx, [0x1402ada80]
call fcn.140009510
jmp 0x14010d889
mov rcx, r11
xor edx, edx
mov rdi, r10
mov r15, r11
call fcn.1401c551a
mov r11, r15
mov r10, rdi
jmp 0x14010d935
mov r15, r11
mov rdi, r10
mov eax, dword [0x1402ada80]
cmp eax, 0xdd
jne 0x14010d84d
mov ecx, dword [0x1402ada84]
inc ecx
mov r10, rdi
mov r11, r15
mov rax, qword [r11]
test al, 0x11
jne 0x14010d8a9
test al, 8
je 0x14010d8c6
dec ecx
cmp ecx, 1
jg 0x14010d897
lea rdx, [0x140274da8]
mov rcx, r11
xor r8d, r8d
xor r9d, r9d
call fcn.1401c5f74
mov r11, r15
mov r10, rdi
jmp 0x14010d904
mov rdx, rax
or rdx, 8
lock cmpxchg qword [r11], rdx
je 0x14010d904
jmp 0x14010d8a2
mov rcx, r10
xor edx, edx
mov rdi, r10
call fcn.1401c551a
mov r10, rdi
jmp 0x14010d971
mov rax, qword [r11]
test al, 0x19
jne 0x14010d876
mov rcx, rax
or rcx, 8
lock cmpxchg qword [r11], rcx
jne 0x14010d876
mov r13, qword [r13 + 0x30]
mov rax, qword [r11]
mov rcx, rax
xor rcx, 0xc
mov edx, ecx
and edx, 0x18
and ecx, 6
cmp rdx, rcx
jae 0x14010d85b
mov rcx, rax
and rcx, 0xffffffffffffffd7
lock cmpxchg qword [r11], rcx
jne 0x14010d85b
test r13, r13
je 0x14010d971
cmp r13, r14
je 0x14010d971
jmp 0x14010cf29
mov rax, qword [r10]
mov rcx, rax
xor rcx, 0xc
mov edx, ecx
and edx, 0x18
and ecx, 6
cmp rdx, rcx
jae 0x14010d8d6
mov rcx, rax
and rcx, 0xffffffffffffffd7
lock cmpxchg qword [r10], rcx
jne 0x14010d8d6
cmp byte [rsi + 0x10], 0
mov r13, qword [rsp + 0x30]
mov r14, qword [rsp + 0x28]
mov r15, qword [rsp + 0x50]
jne 0x14010da6d
mov rbx, qword [rsp + 0x48]
xorps xmm0, xmm0
movaps xmmword [rsp + 0x70], xmm0
mov qword [rsp + 0x80], 0
test rbp, rbp
je 0x14010da67
js 0x14010e3cd
mov rcx, rbp
call fcn.140184dc4
mov rsi, rax
lea rax, [rbp - 1]
mov rcx, rsi
neg rcx
cmp rax, rcx
cmovb rcx, rax
inc rcx
mov rax, rsi
cmp rcx, 0x21
jb 0x14010da12
mov eax, ecx
and eax, 0x1f
mov edx, 0x20
cmovne rdx, rax
sub rcx, rdx
lea rax, [rsi + rcx]
xor edx, edx
xorps xmm0, xmm0
nop word cs:[rax + rax]
movups xmmword [rsi + rdx], xmm0
movups xmmword [rsi + rdx + 0x10], xmm0
add rdx, 0x20
cmp rcx, rdx
jne 0x14010da00
mov rdi, rsi
add rdi, rbp
test rax, rax
je 0x14010e33d
mov byte [rax], 0
inc rax
cmp rax, rdi
jne 0x14010da18
mov rax, rdi
sub rax, rsi
mov qword [r12 + 0x38], rsi
mov qword [r12 + 0x40], rax
mov rdx, qword [r12 + 0x30]
test rdx, rdx
jne 0x14010e414
mov qword [r12 + 0x10], rsi
mov qword [r12 + 0x18], rdi
mov qword [r12 + 0x20], rdi
mov qword [r12 + 0x30], 2
jmp 0x14010d08e
xor esi, esi
xor edi, edi
jmp 0x14010da2c
mov rcx, r10
mov rdx, rbx
call fcn.1401d5200
cmp rax, 0x1fffff
ja 0x14010d98a
lea rax, [fcn.1401c2f30]
lea r8, [rsp + 0x70]
mov qword [r8 + 0x18], rax
lea rax, [0x140277160]
mov qword [r8 + 0x20], rax
mov rcx, rsi
mov rdx, rbx
call fcn.1401c39b0
jmp 0x14010d98a
xor eax, eax
xor edx, edx
jmp 0x14010db5e
lea rcx, [0x140173530]
cmp rax, rcx
jne 0x14010e4f6
movaps xmmword [rsp + 0x70], xmm0
mov qword [rsp + 0x80], 0
test rbp, rbp
je 0x14010daaf
js 0x14010e3cd
mov rcx, rbp
call fcn.140184dc4
lea rcx, [rbp - 1]
mov rdx, rax
neg rdx
cmp rcx, rdx
cmovb rdx, rcx
inc rdx
mov rcx, rax
cmp rdx, 0x21
jb 0x14010db44
mov ecx, edx
and ecx, 0x1f
mov r8d, 0x20
cmovne r8, rcx
sub rdx, r8
lea rcx, [rax + rdx]
xor r8d, r8d
xorps xmm0, xmm0
nop word cs:[rax + rax]
movups xmmword [rax + r8], xmm0
movups xmmword [rax + r8 + 0x10], xmm0
add r8, 0x20
cmp rdx, r8
jne 0x14010db30
mov rdx, rax
add rdx, rbp
test rcx, rcx
je 0x14010e3d7
mov byte [rcx], 0
inc rcx
cmp rcx, rdx
jne 0x14010db4a
mov rcx, rdx
sub rcx, rax
mov qword [r12 + 0x38], rax
mov qword [r12 + 0x40], rcx
mov qword [r12 + 0x10], rax
mov qword [r12 + 0x18], rdx
mov qword [r12 + 0x20], rdx
mov qword [r12 + 0x30], 2
jmp 0x14010d093
lock dec dword [rcx + 8]
jne 0x14010de95
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
mov edx, 1
call qword [0x1402ca008]
lea r11, [0x1401673c0]
mov r10, r15
mov r9, qword [rsp + 0x20]
mov r8, rdi
jmp 0x14010de95
mov r15, r10
mov rdi, r8
mov qword [r8 + rsi*8], 0
lock dec dword [rcx + 8]
jne 0x14010dbe4
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
mov edx, 1
call qword [0x1402ca008]
mov r8, rdi
mov rcx, qword [rdi + rsi*8]
mov qword [rdi + rsi*8], rbx
test rcx, rcx
mov r13, qword [rsp + 0x30]
mov r14, qword [rsp + 0x28]
mov r9, qword [rsp + 0x20]
mov r10, r15
lea r11, [0x1401673c0]
je 0x14010de95
jmp 0x14010db8b
mov rax, qword [r15]
mov rax, qword [rax + 0x10]
mov rcx, r15
mov edx, 1
mov rdi, r8
call qword [0x1402ca008]
lea r11, [0x1401673c0]
lea r10, [0x14006ebd0]
mov r9, qword [rsp + 0x20]
mov r8, rdi
jmp 0x14010de45
lea rcx, [0x1402ada80]
mov rdi, r8
mov r15, r11
call fcn.140009510
mov r11, r15
lea r10, [0x14006ebd0]
mov r9, qword [rsp + 0x20]
mov r8, rdi
jmp 0x14010dc7c
mov eax, dword [0x1402ada80]
cmp eax, 0xdd
jne 0x14010dc49
mov ecx, dword [0x1402ada84]
inc ecx
mov rax, qword [r14]
test al, 0x11
jne 0x14010dc96
test al, 8
je 0x14010dccb
dec ecx
cmp ecx, 1
jg 0x14010dc84
lea rdx, [0x140274da8]
mov rcx, r14
mov qword [rsp + 0x38], r8
xor r8d, r8d
xor r9d, r9d
mov r15, r10
mov rdi, r11
call fcn.1401c5f74
mov r11, rdi
mov r10, r15
mov r9, qword [rsp + 0x20]
mov r8, qword [rsp + 0x38]
jmp 0x14010dd8f
mov rdx, rax
or rdx, 8
lock cmpxchg qword [r14], rdx
je 0x14010dd8f
jmp 0x14010dc8f
mov rax, r12
shr rax, 0x3d
jne 0x14010e3dd
mov rax, qword [r13]
mov qword [rsp + 0x20], rax
lea rsi, [r12*8]
mov rcx, rsi
call fcn.140184dc4
mov r8, rax
lea rax, [rax + r12*8]
mov qword [rsp + 0x40], rax
xor eax, eax
mov rcx, r8
add rcx, rax
je 0x14010e3be
mov qword [rcx], 0
add rax, 8
cmp rsi, rax
jne 0x14010dd13
xor esi, esi
lea r10, [0x14006ebd0]
lea r11, [0x1401673c0]
mov r9, qword [rsp + 0x20]
mov rbp, rbx
mov rbx, qword [r9 + rsi*8]
test rbx, rbx
je 0x14010e19c
mov rax, qword [rbx]
mov rax, qword [rax + 8]
cmp rax, r10
jne 0x14010deb7
cmp rbx, r14
je 0x14010e19c
lea r14, [rbx + 0x10]
mov rax, qword [rbx + 0x10]
test al, 0x19
jne 0x14010dc6f
mov rcx, rax
or rcx, 8
lock cmpxchg qword [r14], rcx
jne 0x14010dc6f
mov rcx, qword [rbx + 0x38]
test rcx, rcx
je 0x14010deb2
mov rax, qword [rcx]
mov rax, qword [rax + 0x18]
cmp rax, r11
jne 0x14010dee4
mov rdi, qword [rcx + 0x18]
mov r13b, byte [rcx + 0x10]
lea r15, [rdi + 8]
mov rax, qword [rdi + 8]
test al, 0x19
jne 0x14010df0c
mov rcx, rax
or rcx, 8
lock cmpxchg qword [r15], rcx
jne 0x14010df0c
test r13b, r13b
je 0x14010dea9
mov rax, qword [rdi + 0x50]
mov qword [rsp + 0x70], rax
test rax, rax
mov r13, qword [rsp + 0x30]
je 0x14010ddf6
lock inc dword [rax + 8]
mov rax, qword [r15]
mov rcx, rax
xor rcx, 0xc
mov edx, ecx
and edx, 0x18
and ecx, 6
cmp rdx, rcx
jae 0x14010df82
mov rcx, rax
and rcx, 0xffffffffffffffd7
lock cmpxchg qword [r15], rcx
jne 0x14010df82
mov r15, qword [rsp + 0x70]
test r15, r15
je 0x14010deb2
mov qword [rsp + 0x70], 0
lock dec dword [r15 + 8]
je 0x14010dc16
mov rax, qword [r14]
mov rcx, rax
xor rcx, 0xc
mov edx, ecx
and edx, 0x18
and ecx, 6
cmp rdx, rcx
jae 0x14010df97
mov rcx, rax
and rcx, 0xffffffffffffffd7
lock cmpxchg qword [r14], rcx
jne 0x14010df97
mov r14, qword [rsp + 0x28]
cmp r15, r14
je 0x14010e19c
lock inc dword [rbx + 8]
mov rcx, qword [r8 + rsi*8]
test rcx, rcx
jne 0x14010dbbe
mov qword [r8 + rsi*8], rbx
inc rsi
cmp rsi, r12
mov rbx, rbp
je 0x14010cd0f
jmp 0x14010dd44
mov rax, qword [rdi + 0x58]
jmp 0x14010dde3
xor r15d, r15d
jmp 0x14010de45
mov rcx, rbx
mov rdx, r14
mov rdi, r8
mov r15, r11
call qword [0x1402ca008]
mov r11, r15
lea r10, [0x14006ebd0]
mov r9, qword [rsp + 0x20]
mov r8, rdi
test al, al
jne 0x14010de80
jmp 0x14010e19c
lea rdx, [rsp + 0x70]
mov rdi, r8
mov r15, r11
call qword [0x1402ca008]
mov r11, r15
lea r10, [0x14006ebd0]
mov r9, qword [rsp + 0x20]
mov r8, rdi
jmp 0x14010de23
mov eax, dword [0x1402ada80]
cmp eax, 0xdd
jne 0x14010dfbe
mov ecx, dword [0x1402ada84]
inc ecx
mov rax, qword [r15]
test al, 0x11
jne 0x14010df37
test al, 8
je 0x14010df6e
dec ecx
cmp ecx, 1
jg 0x14010df25
lea rdx, [0x140274da8]
mov rcx, r15
mov qword [rsp + 0x38], r8
xor r8d, r8d
xor r9d, r9d
call fcn.1401c5f74
lea r11, [0x1401673c0]
lea r10, [0x14006ebd0]
mov r9, qword [rsp + 0x20]
mov r8, qword [rsp + 0x38]
jmp 0x14010ddd6
mov rdx, rax
or rdx, 8
lock cmpxchg qword [r15], rdx
je 0x14010ddd6
jmp 0x14010df30
mov rcx, r15
xor edx, edx
mov rdi, r8
mov r15, r11
call fcn.1401c551a
jmp 0x14010def5
mov rcx, r14
xor edx, edx
mov rdi, r8
mov r14, r11
call fcn.1401c551a
mov r11, r14
lea r10, [0x14006ebd0]
mov r9, qword [rsp + 0x20]
mov r8, rdi
jmp 0x14010de72
lea rcx, [0x1402ada80]
mov qword [rsp + 0x38], r8
call fcn.140009510
lea r11, [0x1401673c0]
lea r10, [0x14006ebd0]
mov r9, qword [rsp + 0x20]
mov r8, qword [rsp + 0x38]
jmp 0x14010df1d
lea rcx, [0x1402ada80]
call fcn.140009510
jmp 0x14010e007
mov eax, dword [0x1402ada80]
cmp eax, 0xdd
jne 0x14010dfec
mov ecx, dword [0x1402ada84]
inc ecx
mov rax, qword [r15]
test al, 0x11
jne 0x14010e021
test al, 8
je 0x14010e03b
dec ecx
cmp ecx, 1
jg 0x14010e00f
lea rdx, [0x140274da8]
mov rcx, r15
xor r8d, r8d
xor r9d, r9d
call fcn.1401c5f74
jmp 0x14010d168
mov rdx, rax
or rdx, 8
lock cmpxchg qword [r15], rdx
je 0x14010d168
jmp 0x14010e01a
lea rcx, [0x1402ada80]
mov rsi, r8
call fcn.140009510
mov r8, rsi
jmp 0x14010e070
mov eax, dword [0x1402ada80]
cmp eax, 0xdd
jne 0x14010e04f
mov ecx, dword [0x1402ada84]
inc ecx
mov rax, qword [r15]
test al, 0x11
jne 0x14010e08a
test al, 8
je 0x14010e0aa
dec ecx
cmp ecx, 1
jg 0x14010e078
lea rdx, [0x140274da8]
mov rcx, r15
mov rsi, r8
xor r8d, r8d
xor r9d, r9d
call fcn.1401c5f74
mov r8, rsi
jmp 0x14010cd31
mov rdx, rax
or rdx, 8
lock cmpxchg qword [r15], rdx
je 0x14010cd31
jmp 0x14010e083
lea rcx, [0x1402ada80]
mov rsi, r8
call fcn.140009510
mov r8, rsi
jmp 0x14010e0df
mov eax, dword [0x1402ada80]
cmp eax, 0xdd
jne 0x14010e0be
mov ecx, dword [0x1402ada84]
inc ecx
mov rax, qword [r15]
test al, 0x11
jne 0x14010e0f9
test al, 8
je 0x14010e119
dec ecx
cmp ecx, 1
jg 0x14010e0e7
lea rdx, [0x140274da8]
mov rcx, r15
mov rsi, r8
xor r8d, r8d
xor r9d, r9d
call fcn.1401c5f74
mov r8, rsi
jmp 0x14010cd8e
mov rdx, rax
or rdx, 8
lock cmpxchg qword [r15], rdx
je 0x14010cd8e
jmp 0x14010e0f2
lea rcx, [0x1402ada80]
mov rdi, r10
call fcn.140009510
mov r10, rdi
jmp 0x14010e14e
mov eax, dword [0x1402ada80]
cmp eax, 0xdd
jne 0x14010e12d
mov ecx, dword [0x1402ada84]
inc ecx
mov rax, qword [r10]
test al, 0x11
jne 0x14010e168
test al, 8
je 0x14010e188
dec ecx
cmp ecx, 1
jg 0x14010e156
lea rdx, [0x140274da8]
mov rcx, r10
xor r8d, r8d
xor r9d, r9d
mov rdi, r10
call fcn.1401c5f74
mov r10, rdi
jmp 0x14010ceae
mov rdx, rax
or rdx, 8
lock cmpxchg qword [r10], rdx
je 0x14010ceae
jmp 0x14010e161
mov ebp, 3
jmp 0x14010e1a8
mov ebp, 5
test r8, r8
mov rdi, qword [rsp + 0x40]
je 0x14010d240
cmp rdi, r8
je 0x14010e1dc
add rdi, 0xfffffffffffffff8
test rdi, rdi
je 0x14010e50d
mov rcx, qword [rdi]
test rcx, rcx
jne 0x14010e1e9
lea rax, [rdi - 8]
cmp rdi, r8
mov rdi, rax
jne 0x14010e1bf
mov rcx, r8
call fcn.140184dbc
jmp 0x14010d240
mov qword [rdi], 0
lock dec dword [rcx + 8]
jne 0x14010e1d0
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
mov edx, 1
mov rsi, r8
call qword [0x1402ca008]
mov r8, rsi
jmp 0x14010e1d0
mov rdx, qword [r12 + 0x10]
mov qword [r12 + 0x10], 0
test rdx, rdx
je 0x14010d040
lea rcx, fcn.1400f2ed0
xor r8d, r8d
call fcn.1400ef740
jmp 0x14010d040
mov rcx, qword [r12 + 0x10]
test rcx, rcx
je 0x14010d040
mov rax, qword [r12 + 0x18]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x14010e26b
mov qword [r12 + 0x18], rcx
call fcn.140184dbc
jmp 0x14010d040
int3
mov rcx, r12
mov rdx, rbp
xor r8d, r8d
xor r9d, r9d
call fcn.14010eda0
jmp 0x14010d09d
lea rcx, [r12 + 0x40]
xor eax, eax
jmp 0x14010d0cb
mov rcx, r15
xor edx, edx
call fcn.1401c551a
jmp 0x14010cdcd
mov rcx, r15
xor edx, edx
call fcn.1401c551a
jmp 0x14010d201
mov rax, qword [rsi]
mov rax, qword [rax + 0xb0]
mov rcx, rsi
mov edx, 1
call qword [0x1402ca008]
jmp 0x14010d09d
mov rax, qword [rsi]
mov rax, qword [rax + 0xb0]
mov rcx, rsi
mov edx, 1
call qword [0x1402ca008]
jmp 0x14010d231
mov rcx, r15
xor edx, edx
mov rdi, r8
call fcn.1401c551a
mov r8, rdi
jmp 0x14010cd63
mov rcx, r10
xor edx, edx
mov rdi, r10
mov r14, r11
call fcn.1401c551a
mov r11, r14
mov r10, rdi
jmp 0x14010cf19
mov rcx, rbx
call fcn.14003b430
mov rcx, rbx
call fcn.140184dbc
jmp 0x14010d31a
mov rax, r14
lock cmpxchg qword [r11 + 0x48], r13
jmp 0x14010cff0
ud2
int3
lea rcx, str.len___size__
call fcn.1401c8890
lea rcx, [rsp + 0x70]
mov qword [rcx], rbx
call fcn.140173090
mov rcx, rbx
call fcn.140184dbc
mov rsi, qword [r12 + 0x48]
mov rdi, qword [rsi]
test rdi, rdi
je 0x14010e3a5
mov rbx, qword [rsi + 8]
mov rcx, rdi
cmp rbx, rdi
je 0x14010e38e
add rbx, 0xfffffffffffffff8
mov rcx, rbx
call fcn.140182fb0
cmp rbx, rdi
jne 0x14010e37a
mov rcx, qword [rsi]
mov qword [rsi + 8], rdi
call fcn.140184dbc
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
mov qword [rsi + 0x10], 0
mov r13, qword [rsp + 0x30]
mov r14, qword [rsp + 0x28]
jmp 0x14010d11b
mov eax, 1
jmp 0x14010ce7f
int3
lea rcx, str.pos___size__
call fcn.1401c8890
lea rcx, [rsp + 0x70]
call fcn.1401c2f20
int3
int3
int3
int3
int3
add rax, 0xffffffffffffffd0
jne 0x14010d47d
int3
lea rcx, [rsi + 0x48]
call fcn.1401dd4c0
jmp 0x14010d463
mov qword [r12 + 0x10], 0
call fcn.140169270
jmp 0x14010d040
lea rcx, [r12 + 0x10]
cmp rdx, 1
je 0x14010e455
cmp rdx, 2
je 0x14010e43f
lea rax, [rsp + 0x68]
cmp rdx, 3
je 0x14010e435
mov qword [rax], rcx
jmp 0x14010e462
mov qword [rax], rcx
mov edx, 3
jmp 0x14010e462
call fcn.14006bdb0
mov qword [r12 + 0x10], rsi
mov qword [r12 + 0x18], rdi
mov qword [r12 + 0x20], rdi
jmp 0x14010e482
lea rax, [rsp + 0x68]
mov qword [rax], rcx
mov edx, 1
mov rcx, rax
call fcn.1401dcac0
mov qword [r12 + 0x10], rsi
mov qword [r12 + 0x18], rdi
mov qword [r12 + 0x20], rdi
mov qword [r12 + 0x30], 2
mov r13, qword [rsp + 0x30]
mov r14, qword [rsp + 0x28]
jmp 0x14010d08e
mov rcx, rbx
call fcn.1401dcdb0
mov rcx, rbx
call fcn.140184dbc
jmp 0x14010d3f0
mov rcx, rbx
call fcn.1401dcdb0
mov rcx, rbx
call fcn.140184dbc
jmp 0x14010d40b
mov rcx, rbx
call fcn.140183300
mov rcx, rbx
call fcn.140184dbc
jmp 0x14010d43d
mov edx, 0x10
mov r8d, 0x40
mov rcx, rdi
call fcn.1401c8b90
jmp 0x14010d49a
lea rcx, [rbx + 0x10]
call fcn.1401dd4c0
jmp 0x14010d4c9
mov rcx, rsi
mov rdx, rbp
xor r8d, r8d
mov r9, r12
call qword [0x1402ca008]
jmp 0x14010d093
int3