Function at 0x1401c9144
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xc8
mov r15, r8
mov rbp, rdx
mov rdi, rcx
mov rax, qword [0x140346038]
xor rax, rsp
mov qword [rsp + 0xc0], rax
mov r13, qword [r8 + 8]
test r13, r13
mov qword [rsp + 0x48], r8
mov qword [rsp + 0x40], rdx
jne 0x1401c9f88
xor r8d, r8d
xor eax, eax
mov qword [rsp + 0x70], rax
lea r13, [rdi + 0x10]
mov rax, qword [rdi + 0x10]
test al, 0x19
jne 0x1401ca347
mov rcx, rax
or rcx, 8
lock cmpxchg qword [r13], rcx
jne 0x1401ca347
mov esi, dword [rdi + 0x1c]
mov rax, qword [rdi + 0x10]
mov rcx, rax
xor rcx, 0xc
mov edx, ecx
and edx, 0x18
and ecx, 6
cmp rdx, rcx
jae 0x1401caa58
mov rcx, rax
and rcx, 0xffffffffffffffd7
lock cmpxchg qword [r13], rcx
jne 0x1401caa58
test sil, 1
jne 0x1401ca907
mov rbp, qword [rbp + 8]
mov rax, qword [r13]
test al, 0x19
jne 0x1401ca3b8
mov rcx, rax
or rcx, 8
lock cmpxchg qword [r13], rcx
jne 0x1401ca3b8
mov rsi, qword [rdi + 0x38]
test rsi, rsi
je 0x1401c9222
lock inc dword [rsi + 8]
mov qword [rsp + 0x30], r8
mov rax, qword [r13]
mov rcx, rax
xor rcx, 0xc
mov edx, ecx
and edx, 0x18
and ecx, 6
cmp rdx, rcx
jae 0x1401caa3a
mov rcx, rax
and rcx, 0xffffffffffffffd7
lock cmpxchg qword [r13], rcx
jne 0x1401caa3a
mov ecx, 0x60
call fcn.140153bd4
mov r12, rax
pxor xmm0, xmm0
movdqu xmmword [rax], xmm0
movdqu xmmword [rax + 0x30], xmm0
movdqu xmmword [rax + 0x40], xmm0
mov qword [rax + 0x50], 1
mov qword [rax + 0x58], 0
test rsi, rsi
je 0x1401caa02
mov rax, qword [rsi]
mov rax, qword [rax + 0x28]
lea rcx, [0x1401d8e20]
cmp rax, rcx
jne 0x1401ca8eb
test rbp, rbp
mov qword [rsp + 0x38], rsi
je 0x1401c9cec
mov rax, qword [rsi + 0x10]
mov r11, qword [rax + 0x50]
test r11, r11
je 0x1401c9cec
lea rax, [rbp - 0xffff9]
cmp rax, 0xfffffffffff00000
jb 0x1401c9cec
mov rax, rbp
and rax, 0xfffffffffffffffe
cmp rax, 0xfffffffffffffff8
je 0x1401caa9e
mov rax, rbp
add rax, 7
je 0x1401c96fc
bsr rcx, rax
xor rcx, 0x3f
neg cl
mov eax, 1
shl rax, cl
cmp rax, 0x41
mov esi, 0x40
cmovae rsi, rax
lea r14, [r11 + 0x18]
mov rax, qword [r11 + 0x18]
test al, 0x19
jne 0x1401ca890
mov rcx, rax
or rcx, 8
lock cmpxchg qword [r14], rcx
jne 0x1401ca890
mov qword [rsp + 0x58], r13
mov rax, qword [r11 + 0x48]
test rax, rax
je 0x1401c9caa
lea rdx, [r11 + 0x48]
mov rcx, rdx
lea r8, [rax + 8]
cmp qword [rax + 0x20], rsi
cmovae r8, rax
cmovae rcx, rax
mov rax, qword [r8]
test rax, rax
jne 0x1401c934f
cmp rcx, rdx
je 0x1401c9caa
mov r8, qword [rcx + 0x28]
mov rax, qword [r14]
mov rcx, rax
xor rcx, 0xc
mov edx, ecx
and edx, 0x18
and ecx, 6
cmp rdx, rcx
jae 0x1401caa6d
mov rcx, rax
and rcx, 0xffffffffffffffd7
lock cmpxchg qword [r14], rcx
jne 0x1401caa6d
mov qword [rsp + 0x50], r8
mov rbx, qword [r8 + 0x48]
test rbx, rbx
je 0x1401c9cd7
cmp qword [rbx + 0x20], 0
je 0x1401caaa8
lea rcx, [rbx + 0x20]
mov r13, rbx
mov rax, qword [r13 + 0x18]
mov eax, dword [rax]
mov edx, eax
shr edx, 0x10
cmp edx, 0x7ffe
ja 0x1401c9c4e
inc edx
mov r8d, dword [r13 + 0x2c]
dec r8d
cmp r8w, dx
jl 0x1401c9c4e
movzx r8d, dx
imul r8d, dword [r13 + 0x28]
cmp qword [rcx], r8
jbe 0x1401caaa8
mov r15, qword [r13 + 0x18]
mov r9d, dword [r15 + r8]
shr r9d, 0x10
add edx, r9d
mov r9d, edx
inc r9w
js 0x1401c9c4e
mov r10d, dword [r13 + 0x2c]
dec r10d
cmp r10w, r9w
jl 0x1401c9c4e
cmp qword [rcx], 0
je 0x1401caaa8
lea r9d, [rax + 1]
mov r10, qword [r13 + 0x18]
shl edx, 0x10
movzx r9d, r9w
or r9d, edx
lock cmpxchg dword [r10], r9d
jne 0x1401c93cb
add r15, r8
je 0x1401c9c4e
mov r8, r15
sub r8, qword [r13 + 8]
mov rax, qword [r13 + 0x10]
mov ecx, dword [r13 + 0x28]
sub rax, rcx
cmp rax, r8
jb 0x1401c9cd7
cmp r13, rbx
jne 0x1401caa88
mov rax, r8
shr rax, 0x20
jne 0x1401caaa8
mov rbx, qword [r13]
cmp rbx, 0xffffffffffffffff
je 0x1401c9cd7
mov r13d, dword [r13 + 0x28]
lea rax, [r13 - 8]
cmp rax, rbp
cmovb rbp, rax
lock inc dword [r11]
mov rax, qword [r12 + 0x30]
cmp rax, 1
je 0x1401ca4fb
cmp rax, 3
je 0x1401ca974
cmp rax, 2
je 0x1401ca9b1
mov qword [r12 + 0x10], r11
mov qword [r12 + 0x18], rbx
mov dword [r12 + 0x20], r8d
mov dword [r12 + 0x24], r13d
mov qword [r12 + 0x28], r15
mov qword [r12 + 0x30], 1
cmp r13d, 7
jbe 0x1401cab1e
add r15, 8
mov qword [r12 + 0x38], r15
mov qword [r12 + 0x40], rbp
mov r15, qword [rsp + 0x48]
mov r14, qword [rsp + 0x40]
mov r13, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x38]
lock dec dword [rsi + 8]
je 0x1401caa1d
mov r8, qword [r14 + 8]
test r8, r8
je 0x1401ca9f6
mov rcx, qword [r12 + 0x38]
mov rdx, qword [r14]
call fcn.140158a70
mov rax, qword [r14 + 8]
cmp qword [r12 + 0x40], rax
jb 0x1401cab12
lea rcx, [r12 + 0x40]
mov rdx, r12
add rdx, 0x30
mov qword [rcx], rax
cmp qword [rdx], 1
jne 0x1401c9577
mov rcx, qword [r12 + 0x28]
mov dword [rcx + 4], 0
mov dword [rcx], eax
mov ecx, 0x28
call fcn.140153bd4
mov rsi, rax
pxor xmm0, xmm0
movdqu xmmword [rax], xmm0
movdqu xmmword [rax + 0x10], xmm0
mov qword [rax + 0x20], 0
mov rbx, qword [r12 + 0x48]
mov qword [r12 + 0x48], rax
test rbx, rbx
jne 0x1401caaaa
mov rax, qword [rsp + 0x30]
mov qword [rsi], rax
mov rax, qword [rsp + 0x70]
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 [r13]
test al, 0x19
jne 0x1401c9e09
mov rcx, rax
or rcx, 8
lock cmpxchg qword [r13], rcx
jne 0x1401c9e09
mov bpl, byte [rdi + 0x78]
test bpl, bpl
jne 0x1401c9b39
lea rcx, [rdi + 0x88]
mov rax, qword [rdi + 0xb0]
mov rdx, qword [rdi + 0x88]
mov r8, qword [rdi + 0x90]
cmp rdx, r8
jne 0x1401c9706
mov qword [r12], rax
mov rsi, qword [rdi + 0x38]
test rsi, rsi
je 0x1401c9a10
cmp byte [rdi + 0xa8], 0
jne 0x1401c9b4b
inc rax
mov qword [rdi + 0xb0], rax
cmp rdx, r8
jne 0x1401c9b7b
lock inc dword [rsi + 8]
lea rdi, [rsi + 8]
mov rax, qword [r13]
mov rcx, rax
xor rcx, 0xc
mov edx, ecx
and edx, 0x18
and ecx, 6
cmp rdx, rcx
jae 0x1401caa49
mov rcx, rax
and rcx, 0xffffffffffffffd7
lock cmpxchg qword [r13], rcx
jne 0x1401caa49
lea rdx, [rsp + 0x8c]
mov dword [rdx], 0
lea r8, [rsp + 0x80]
mov qword [r8], r12
mov rax, qword [rsi]
mov rax, qword [rax + 0x30]
mov rcx, rsi
call qword [0x14037e008]
lock dec dword [rdi]
je 0x1401c99f3
mov rax, qword [r15 + 8]
xor ebx, ebx
test rax, rax
jne 0x1401c9771
mov rcx, qword [rsp + 0xc0]
xor rcx, rsp
call fcn.140156fe0
mov eax, ebx
add rsp, 0xc8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov ecx, 0x40
jmp 0x1401c92fd
mov r9, qword [rdi + 0xa0]
mov r10, r8
sub r10, rdx
sar r10, 3
movabs r11, 0x6db6db6db6db6db7
imul r11, r10
cmp r11, r9
jbe 0x1401cab2a
imul r10, r9, 0x38
lea r9, [rdx + r10]
cmp byte [rdx + r10], 0
je 0x1401c991b
mov r10, qword [r9 + 0x10]
add rax, r10
mov qword [r12], rax
mov rsi, qword [rdi + 0x38]
test rsi, rsi
je 0x1401c9a10
test r10, r10
jne 0x1401c9a10
cmp byte [r9], 0
je 0x1401c963e
jmp 0x1401c9a10
mov r15, qword [r15]
lea r12, [r15 + rax*8]
lea r13, [0x140136c80]
lea rbp, [0x140301bc8]
mov rsi, qword [r15]
test rsi, rsi
je 0x1401c98cb
lock dec dword [rsi + 8]
jne 0x1401c98cb
mov rax, qword [rsi]
mov rax, qword [rax + 0x10]
cmp rax, r13
jne 0x1401c990b
mov qword [rsi], rbp
lea rdi, [rsi + 0x10]
mov rax, qword [rsi + 0x10]
test al, 0x19
jne 0x1401c9a87
mov rcx, rax
or rcx, 8
lock cmpxchg qword [rdi], rcx
jne 0x1401c9a87
mov rax, qword [rdi]
mov rcx, rax
xor rcx, 0xc
mov edx, ecx
and edx, 0x18
and ecx, 6
cmp rdx, rcx
jae 0x1401c9b06
mov rcx, rax
and rcx, 0xffffffffffffffd7
lock cmpxchg qword [rdi], rcx
jne 0x1401c9b06
mov r14, qword [rsi + 0xc0]
mov qword [rsi + 0xc0], 0
test r14, r14
jne 0x1401cac06
mov r14, qword [rsi + 0xb8]
mov qword [rsi + 0xb8], 0
test r14, r14
jne 0x1401cac1b
mov rdx, qword [rsi + 0x88]
test rdx, rdx
jne 0x1401c99ac
mov r14, qword [rsi + 0x58]
test r14, r14
jne 0x1401c9923
mov r14, qword [rsi + 0x50]
mov qword [rsi + 0x50], 0
test r14, r14
jne 0x1401cac30
mov r14, qword [rsi + 0x48]
mov qword [rsi + 0x48], 0
test r14, r14
jne 0x1401c98dd
mov rdx, qword [rsi + 0x40]
mov qword [rsi + 0x40], 0
test rdx, rdx
jne 0x1401cabf8
mov rcx, qword [rsi + 0x38]
test rcx, rcx
jne 0x1401c9980
mov rcx, qword [rsi + 0x20]
test rcx, rcx
je 0x1401c98b8
mov rax, qword [rsi + 0x28]
cmp rax, rcx
jne 0x1401cabc6
mov qword [rsi + 0x28], rcx
call fcn.140153bcc
mov rax, qword [rdi]
test al, 0x10
jne 0x1401cac45
mov rcx, rsi
call fcn.140153bcc
add r15, 8
cmp r15, r12
je 0x1401c96d6
jmp 0x1401c9786
mov rdx, qword [r14 + 8]
mov qword [r14 + 8], 0
test rdx, rdx
jne 0x1401cac5d
mov rcx, qword [r14]
test rcx, rcx
jne 0x1401c99c8
mov rcx, r14
call fcn.140153bcc
jmp 0x1401c9877
mov rcx, rsi
mov edx, 1
call qword [0x14037e008]
jmp 0x1401c98cb
xor r10d, r10d
jmp 0x1401c9745
mov rbp, qword [rsi + 0x60]
mov rcx, r14
cmp rbp, r14
je 0x1401c996b
add rbp, 0xffffffffffffffc8
test rbp, rbp
je 0x1401cab3d
cmp byte [rbp], 0
je 0x1401c995b
mov rax, qword [rbp + 8]
mov qword [rbp + 8], 0
test rax, rax
jne 0x1401c9adc
mov byte [rbp], 0
lea rax, [rbp - 0x38]
cmp rbp, r14
mov rbp, rax
jne 0x1401c9933
mov rcx, qword [rsi + 0x58]
mov qword [rsi + 0x60], r14
call fcn.140153bcc
lea rbp, [0x140301bc8]
jmp 0x1401c9851
mov qword [rsi + 0x38], 0
lock dec dword [rcx + 8]
jne 0x1401c9899
mov rax, qword [rcx]
mov rax, qword [rax + 0xb0]
mov edx, 1
call qword [0x14037e008]
jmp 0x1401c9899
lea r14, [rsi + 0x88]
mov rcx, r14
call fcn.140074018
mov rcx, qword [r14]
call fcn.140153bcc
jmp 0x1401c9844
mov qword [r14], 0
lock dec dword [rcx + 8]
jne 0x1401c98fe
mov rax, qword [rcx]
mov rax, qword [rax + 0xb0]
mov edx, 1
call qword [0x14037e008]
jmp 0x1401c98fe
mov rax, qword [rsi]
mov rax, qword [rax + 0xb0]
mov rcx, rsi
mov edx, 1
call qword [0x14037e008]
jmp 0x1401c96c7
lea r8, [rsp + 0x90]
mov qword [r8], r12
mov rdx, rax
call fcn.1401366ba
xor r12d, r12d
mov rax, qword [r13]
mov rcx, rax
xor rcx, 0xc
mov edx, ecx
and edx, 0x18
and ecx, 6
cmp rdx, rcx
jae 0x1401c9b2a
mov rcx, rax
and rcx, 0xffffffffffffffd7
lock cmpxchg qword [r13], rcx
jne 0x1401c9b2a
lea rdx, [rsp + 0x8c]
mov dword [rdx], 0
xor ebx, ebx
mov rcx, rdi
xor r8d, r8d
call fcn.1401c2f8a
test r12, r12
jne 0x1401c9b15
test bpl, bpl
je 0x1401c96c7
jmp 0x1401c96d6
mov eax, dword [0x140358c00]
cmp eax, 0xdd
jne 0x1401c9af8
mov ecx, dword [0x140358c04]
inc ecx
mov rax, qword [rdi]
test al, 0x11
jne 0x1401c9aae
test al, 8
je 0x1401c9ac8
dec ecx
cmp ecx, 1
jg 0x1401c9a9c
lea rdx, [0x140304c88]
mov rcx, rdi
xor r8d, r8d
xor r9d, r9d
call fcn.140100042
jmp 0x1401c97d1
mov rdx, rax
or rdx, 8
lock cmpxchg qword [rdi], rdx
je 0x1401c97d1
jmp 0x1401c9aa7
mov rcx, rax
mov qword [rsp + 0x40], rax
call fcn.1401c6642
mov rcx, qword [rsp + 0x40]
call fcn.140153bcc
jmp 0x1401c9957
lea rcx, [0x140358c00]
call fcn.140095b30
jmp 0x1401c9a94
mov rcx, rdi
xor edx, edx
call fcn.140102bcc
jmp 0x1401c97fe
mov rcx, r12
call fcn.1401c6642
mov rcx, r12
call fcn.140153bcc
jmp 0x1401c9a79
mov rcx, r13
xor edx, edx
call fcn.140102bcc
jmp 0x1401c9a55
mov rcx, r13
call fcn.1400d4ddc
mov ebx, 5
jmp 0x1401c9a70
mov r9, r8
sub r9, rdx
sar r9, 3
movabs r10, 0x6db6db6db6db6db7
imul r10, r9
add r10, rax
sub r10, qword [rdi + 0xa0]
cmp r10, rax
jbe 0x1401c9a10
jmp 0x1401c964b
mov rax, qword [rdi + 0xa0]
inc rax
mov qword [rdi + 0xa0], rax
sub r8, rdx
sar r8, 3
movabs r9, 0x6db6db6db6db6db7
imul r9, r8
cmp rax, r9
jne 0x1401c965e
call fcn.140074018
mov qword [rdi + 0xa0], 0
mov rsi, qword [rdi + 0x38]
test rsi, rsi
je 0x1401c9a26
jmp 0x1401c965e
xor edx, edx
mov r15, r11
call fcn.140102bcc
mov r11, r15
jmp 0x1401c9c9b
lea rcx, [0x140358c00]
call fcn.140095b30
jmp 0x1401c9bfc
mov r15, r11
mov eax, dword [0x140358c00]
cmp eax, 0xdd
jne 0x1401c9bde
mov r8d, dword [0x140358c04]
inc r8d
mov r11, r15
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
test al, 0x11
jne 0x1401c9c22
test al, 8
je 0x1401c9c3e
dec r8d
cmp r8d, 1
jg 0x1401c9c0e
lea rdx, [0x140304c88]
xor r8d, r8d
xor r9d, r9d
call fcn.140100042
mov rcx, qword [rsp + 0x50]
mov r11, r15
jmp 0x1401c9c68
mov rdx, rax
or rdx, 8
lock cmpxchg qword [rcx], rdx
je 0x1401c9c68
jmp 0x1401c9c19
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
test al, 0x19
jne 0x1401c9bec
mov rdx, rax
or rdx, 8
lock cmpxchg qword [rcx], rdx
jne 0x1401c9bec
mov r13, qword [r13 + 0x30]
mov rax, qword [rcx]
mov r8, rax
xor r8, 0xc
mov edx, r8d
and edx, 0x18
and r8d, 6
cmp rdx, r8
jae 0x1401c9bcc
mov rdx, rax
and rdx, 0xffffffffffffffd7
lock cmpxchg qword [rcx], rdx
jne 0x1401c9bcc
test r13, r13
je 0x1401c9cd7
cmp r13, rbx
je 0x1401c9cd7
jmp 0x1401c9d9f
mov rax, qword [r14]
mov rcx, rax
xor rcx, 0xc
mov edx, ecx
and edx, 0x18
and ecx, 6
cmp rdx, rcx
jae 0x1401c9d8a
mov rcx, rax
and rcx, 0xffffffffffffffd7
lock cmpxchg qword [r14], rcx
jne 0x1401c9d8a
cmp byte [r11 + 0x10], 0
mov r15, qword [rsp + 0x48]
mov r13, qword [rsp + 0x58]
jne 0x1401c9db3
pxor xmm0, xmm0
movdqa xmmword [rsp + 0x90], xmm0
mov qword [rsp + 0xa0], 0
test rbp, rbp
je 0x1401c9d46
js 0x1401cab2d
mov rcx, rbp
call fcn.140153bd4
test rax, rax
je 0x1401caa9b
mov rsi, rax
lea rbx, [rax + rbp]
dec rbp
xor eax, eax
mov byte [rsi + rax], 0
cmp rbp, rax
je 0x1401c9d4a
inc rax
mov rcx, rsi
add rcx, rax
jne 0x1401c9d2d
jmp 0x1401caa9b
xor esi, esi
xor ebx, ebx
mov rax, rbx
sub rax, rsi
mov qword [r12 + 0x38], rsi
mov qword [r12 + 0x40], rax
mov rdx, qword [r12 + 0x30]
test rdx, rdx
mov r14, qword [rsp + 0x40]
jne 0x1401cab43
mov qword [r12 + 0x10], rsi
mov qword [r12 + 0x18], rbx
mov qword [r12 + 0x20], rbx
mov qword [r12 + 0x30], 2
jmp 0x1401c951c
mov rcx, r14
xor edx, edx
mov rbx, r11
call fcn.140102bcc
mov r11, rbx
jmp 0x1401c9cd7
lea rcx, [r13 + 0x20]
cmp qword [r13 + 0x20], 0
jne 0x1401c93c5
jmp 0x1401caaa8
mov rcx, r14
mov rdx, rsi
mov rbx, r11
call fcn.1401fc2f8
cmp rax, 0x1fffff
ja 0x1401c9cec
mov rcx, rbx
lea rax, [fcn.1401bf410]
lea r8, [rsp + 0x90]
mov qword [r8 + 0x18], rax
lea rax, [0x140307e10]
mov qword [r8 + 0x20], rax
mov rdx, rsi
call fcn.140194eca
jmp 0x1401c9cec
lea rcx, [0x140358c00]
call fcn.140095b30
jmp 0x1401c9e16
mov eax, dword [0x140358c00]
cmp eax, 0xdd
jne 0x1401c9dfb
mov ecx, dword [0x140358c04]
inc ecx
mov rax, qword [r13]
test al, 0x11
jne 0x1401c9e31
test al, 8
je 0x1401c9e4b
dec ecx
cmp ecx, 1
jg 0x1401c9e1e
lea rdx, [0x140304c88]
mov rcx, r13
xor r8d, r8d
xor r9d, r9d
call fcn.140100042
jmp 0x1401c95fb
mov rdx, rax
or rdx, 8
lock cmpxchg qword [r13], rdx
je 0x1401c95fb
jmp 0x1401c9e2a
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
mov edx, 1
call qword [0x14037e008]
lea rdx, [rsp + 0x90]
lea r10, [0x140134be0]
mov r9, r12
mov r8, rbx
jmp 0x1401ca168
mov rax, qword [r12]
mov rax, qword [rax + 0x10]
mov rcx, r12
mov edx, 1
mov qword [rsp + 0x30], r8
mov rbp, r9
call qword [0x14037e008]
mov r11, qword [rsp + 0x38]
lea rdx, [rsp + 0x90]
lea r10, [0x140134be0]
mov r9, rbp
mov r8, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x40]
jmp 0x1401ca115
lea rcx, [0x140358c00]
call fcn.140095b30
jmp 0x1401c9ef0
mov qword [rsp + 0x30], r8
mov eax, dword [0x140358c00]
cmp eax, 0xdd
jne 0x1401c9ed0
mov ecx, dword [0x140358c04]
inc ecx
mov r15, qword [rsp + 0x48]
mov r8, qword [rsp + 0x30]
lea r9, [0x14020c680]
lea r10, [0x140134be0]
lea rdx, [rsp + 0x90]
mov r11, qword [rsp + 0x38]
mov rax, qword [r11]
test al, 0x11
jne 0x1401c9f2f
test al, 8
je 0x1401c9f69
dec ecx
cmp ecx, 1
jg 0x1401c9f1d
lea rdx, [0x140304c88]
mov rcx, r11
xor r8d, r8d
xor r9d, r9d
call fcn.140100042
mov r11, qword [rsp + 0x38]
lea rdx, [rsp + 0x90]
lea r10, [0x140134be0]
lea r9, [0x14020c680]
mov r8, qword [rsp + 0x30]
jmp 0x1401ca046
mov r11, rax
or r11, 8
mov r12, qword [rsp + 0x38]
lock cmpxchg qword [r12], r11
mov r11, qword [rsp + 0x38]
je 0x1401ca046
jmp 0x1401c9f28
mov rax, r13
shr rax, 0x3d
jne 0x1401cab40
mov rax, qword [r15]
mov qword [rsp + 0x58], rax
lea rsi, [r13*8]
mov rcx, rsi
call fcn.140153bd4
mov r8, rax
lea rax, [rax + r13*8]
mov qword [rsp + 0x70], rax
xor eax, eax
mov rcx, r8
add rcx, rax
je 0x1401cab3a
mov qword [rcx], 0
add rax, 8
cmp rsi, rax
jne 0x1401c9fbb
xor esi, esi
lea r9, [0x14020c680]
lea r10, [0x140134be0]
lea rdx, [rsp + 0x90]
mov rax, qword [rsp + 0x58]
mov r14, qword [rax + rsi*8]
mov ebx, 3
test r14, r14
je 0x1401ca90c
mov rax, qword [r14]
mov rax, qword [rax + 8]
cmp rax, r9
jne 0x1401ca187
cmp r14, rdi
je 0x1401ca90c
lea r11, [r14 + 0x10]
mov rax, qword [r14 + 0x10]
test al, 0x19
mov qword [rsp + 0x38], r11
jne 0x1401c9ede
mov rcx, rax
or rcx, 8
lock cmpxchg qword [r11], rcx
jne 0x1401c9ede
mov rcx, qword [r14 + 0x38]
test rcx, rcx
je 0x1401ca182
mov rax, qword [rcx]
mov rax, qword [rax + 0x18]
cmp rax, r10
jne 0x1401ca1bb
mov rbp, qword [rcx + 0x18]
mov r15b, byte [rcx + 0x10]
lea r12, [rbp + 8]
mov rax, qword [rbp + 8]
test al, 0x19
jne 0x1401ca1e5
mov rcx, rax
or rcx, 8
lock cmpxchg qword [r12], rcx
jne 0x1401ca1e5
test r15b, r15b
je 0x1401ca179
mov rax, qword [rbp + 0x50]
mov qword [rsp + 0x90], rax
test rax, rax
mov r15, qword [rsp + 0x48]
je 0x1401ca0b1
lock inc dword [rax + 8]
mov rax, qword [r12]
mov rcx, rax
xor rcx, 0xc
mov r11d, ecx
and r11d, 0x18
and ecx, 6
cmp r11, rcx
mov rbp, qword [rsp + 0x40]
jae 0x1401ca28c
mov rcx, rax
and rcx, 0xffffffffffffffd7
lock cmpxchg qword [r12], rcx
jne 0x1401ca28c
mov r12, qword [rsp + 0x90]
test r12, r12
mov r11, qword [rsp + 0x38]
je 0x1401ca182
mov qword [rsp + 0x90], 0
lock dec dword [r12 + 8]
je 0x1401c9e8c
mov rax, qword [r11]
mov rcx, rax
xor rcx, 0xc
mov r11d, ecx
and r11d, 0x18
and ecx, 6
cmp r11, rcx
mov rcx, qword [rsp + 0x38]
jae 0x1401ca2a3
mov r11, rax
and r11, 0xffffffffffffffd7
lock cmpxchg qword [rcx], r11
jne 0x1401ca2a3
cmp r12, rdi
je 0x1401ca90c
lock inc dword [r14 + 8]
mov rcx, qword [r8 + rsi*8]
test rcx, rcx
jne 0x1401ca2d3
mov qword [r8 + rsi*8], r14
inc rsi
cmp rsi, r13
je 0x1401c9193
jmp 0x1401c9fef
mov rax, qword [rbp + 0x58]
jmp 0x1401ca09b
xor r12d, r12d
jmp 0x1401ca115
mov rcx, r14
mov rdx, rdi
mov qword [rsp + 0x30], r8
mov r12, r9
call qword [0x14037e008]
lea rdx, [rsp + 0x90]
lea r10, [0x140134be0]
mov r9, r12
mov r8, qword [rsp + 0x30]
test al, al
jne 0x1401ca152
jmp 0x1401ca90c
mov qword [rsp + 0x30], r8
mov r12, r9
call qword [0x14037e008]
lea rdx, [rsp + 0x90]
lea r10, [0x140134be0]
mov r9, r12
mov r8, qword [rsp + 0x30]
jmp 0x1401ca0e7
mov qword [rsp + 0x30], r8
mov eax, dword [0x140358c00]
cmp eax, 0xdd
jne 0x1401ca27b
mov ecx, dword [0x140358c04]
inc ecx
mov r8, qword [rsp + 0x30]
lea r9, [0x14020c680]
lea r10, [0x140134be0]
lea rdx, [rsp + 0x90]
mov rax, qword [r12]
test al, 0x11
jne 0x1401ca231
test al, 8
je 0x1401ca266
dec ecx
cmp ecx, 1
jg 0x1401ca21e
lea rdx, [0x140304c88]
mov rcx, r12
xor r8d, r8d
xor r9d, r9d
call fcn.140100042
lea rdx, [rsp + 0x90]
lea r10, [0x140134be0]
lea r9, [0x14020c680]
mov r8, qword [rsp + 0x30]
jmp 0x1401ca08e
mov r11, rax
or r11, 8
lock cmpxchg qword [r12], r11
je 0x1401ca08e
jmp 0x1401ca22a
lea rcx, [0x140358c00]
call fcn.140095b30
jmp 0x1401ca1fb
mov rcx, r12
xor edx, edx
mov qword [rsp + 0x30], r8
mov r12, r9
call fcn.140102bcc
jmp 0x1401ca1c9
xor edx, edx
mov qword [rsp + 0x30], r8
mov rbp, r9
call fcn.140102bcc
lea rdx, [rsp + 0x90]
lea r10, [0x140134be0]
mov r9, rbp
mov r8, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x40]
jmp 0x1401ca149
mov r12, r9
mov rbx, r8
mov qword [r8 + rsi*8], 0
lock dec dword [rcx + 8]
jne 0x1401ca2f9
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
mov edx, 1
call qword [0x14037e008]
mov r8, rbx
mov rcx, qword [rbx + rsi*8]
mov qword [rbx + rsi*8], r14
test rcx, rcx
mov r15, qword [rsp + 0x48]
mov r9, r12
lea r10, [0x140134be0]
lea rdx, [rsp + 0x90]
je 0x1401ca168
lock dec dword [rcx + 8]
jne 0x1401ca168
jmp 0x1401c9e60
lea rcx, [0x140358c00]
mov rsi, r8
call fcn.140095b30
mov r8, rsi
jmp 0x1401ca354
mov eax, dword [0x140358c00]
cmp eax, 0xdd
jne 0x1401ca333
mov ecx, dword [0x140358c04]
inc ecx
mov rax, qword [r13]
test al, 0x11
jne 0x1401ca36f
test al, 8
je 0x1401ca38f
dec ecx
cmp ecx, 1
jg 0x1401ca35c
lea rdx, [0x140304c88]
mov rcx, r13
mov rsi, r8
xor r8d, r8d
xor r9d, r9d
call fcn.140100042
mov r8, rsi
jmp 0x1401c91b6
mov rdx, rax
or rdx, 8
lock cmpxchg qword [r13], rdx
je 0x1401c91b6
jmp 0x1401ca368
lea rcx, [0x140358c00]
mov rsi, r8
call fcn.140095b30
mov r8, rsi
jmp 0x1401ca3c5
mov eax, dword [0x140358c00]
cmp eax, 0xdd
jne 0x1401ca3a4
mov ecx, dword [0x140358c04]
inc ecx
mov rax, qword [r13]
test al, 0x11
jne 0x1401ca3e0
test al, 8
je 0x1401ca400
dec ecx
cmp ecx, 1
jg 0x1401ca3cd
lea rdx, [0x140304c88]
mov rcx, r13
mov rsi, r8
xor r8d, r8d
xor r9d, r9d
call fcn.140100042
mov r8, rsi
jmp 0x1401c9215
mov rdx, rax
or rdx, 8
lock cmpxchg qword [r13], rdx
je 0x1401c9215
jmp 0x1401ca3d9
lea ebx, [r11 - 1]
and ebx, r11d
mov r11d, ebx
jne 0x1401ca67c
jmp 0x1401ca84d
mov rcx, r14
xor edx, edx
call fcn.140102bcc
jmp 0x1401ca5e0
lea rcx, [0x140358c00]
call fcn.140095b30
jmp 0x1401ca462
lea rcx, [0x140358c00]
call fcn.140095b30
jmp 0x1401ca4b7
mov eax, dword [0x140358c00]
cmp eax, 0xdd
jne 0x1401ca439
mov ecx, dword [0x140358c04]
inc ecx
mov rax, qword [rsi]
test al, 0x11
jne 0x1401ca47c
test al, 8
je 0x1401ca496
dec ecx
cmp ecx, 1
jg 0x1401ca46a
lea rdx, [0x140304c88]
mov rcx, rsi
xor r8d, r8d
xor r9d, r9d
call fcn.140100042
jmp 0x1401ca5fd
mov rdx, rax
or rdx, 8
lock cmpxchg qword [rsi], rdx
je 0x1401ca5fd
jmp 0x1401ca475
mov eax, dword [0x140358c00]
cmp eax, 0xdd
jne 0x1401ca447
mov ecx, dword [0x140358c04]
inc ecx
mov rax, qword [r14]
test al, 0x11
jne 0x1401ca4d1
test al, 8
je 0x1401ca4eb
dec ecx
cmp ecx, 1
jg 0x1401ca4bf
lea rdx, [0x140304c88]
mov rcx, r14
xor r8d, r8d
xor r9d, r9d
call fcn.140100042
jmp 0x1401ca56b
mov rdx, rax
or rdx, 8
lock cmpxchg qword [r14], rdx
je 0x1401ca56b
jmp 0x1401ca4ca
mov rsi, qword [r12 + 0x10]
test rsi, rsi
je 0x1401c94d3
mov qword [rsp + 0x78], rbx
mov qword [rsp + 0x60], r8
mov qword [rsp + 0x68], r11
cmp qword [r12 + 0x28], 0
je 0x1401cabd3
lea rax, [r12 + 0x18]
mov qword [rsp + 0x50], rax
cmp qword [r12 + 0x18], 0xffffffffffffffff
je 0x1401ca77b
cmp dword [r12 + 0x24], 0x100000
ja 0x1401ca77b
lea r14, [rsi + 0x18]
mov rax, qword [rsi + 0x18]
test al, 0x19
jne 0x1401ca4aa
mov rcx, rax
or rcx, 8
lock cmpxchg qword [r14], rcx
jne 0x1401ca4aa
mov rdx, qword [rsi + 0x48]
test rdx, rdx
je 0x1401ca7d5
mov eax, dword [r12 + 0x24]
add rsi, 0x48
mov rcx, rsi
lea r8, [rdx + 8]
cmp qword [rdx + 0x20], rax
cmovae r8, rdx
cmovae rcx, rdx
mov rdx, qword [r8]
test rdx, rdx
jne 0x1401ca584
cmp rcx, rsi
je 0x1401ca7d5
cmp qword [rcx + 0x20], rax
ja 0x1401ca7d5
mov rsi, qword [rcx + 0x28]
mov rax, qword [r14]
mov rcx, rax
xor rcx, 0xc
mov edx, ecx
and edx, 0x18
and ecx, 6
cmp rdx, rcx
jae 0x1401ca42a
mov rcx, rax
and rcx, 0xffffffffffffffd7
lock cmpxchg qword [r14], rcx
jne 0x1401ca42a
mov rax, qword [rsi]
test al, 0x19
jne 0x1401ca455
mov rcx, rax
or rcx, 8
lock cmpxchg qword [rsi], rcx
jne 0x1401ca455
mov rax, qword [rsp + 0x50]
mov r8, qword [rax]
mov rcx, qword [rsi + 0x20]
prefetcht2 byte [rcx]
lea rax, str.HY0_
add rax, r8
movabs rdx, 0x9ddfea08eb382d69
mul rdx
xor rdx, rax
mov rax, qword [rsi + 0x30]
mov r10, rdx
shr r10, 7
mov r9, rcx
shr r9, 0xc
xor r9, r10
and dl, 0x7f
movzx edx, dl
movd xmm0, edx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
xor edx, edx
and r9, rax
movdqu xmm1, xmmword [rcx + r9]
movdqa xmm2, xmm0
pcmpeqb xmm2, xmm1
pmovmskb r11d, xmm2
test r11d, r11d
je 0x1401ca84d
mov r10, qword [rsi + 0x28]
movzx r11d, r11w
bsf r14d, r11d
add r14, r9
and r14, rax
mov rbx, r14
shl rbx, 4
cmp qword [r10 + rbx], r8
jne 0x1401ca415
add rcx, r14
lea rax, [0x1403059f0]
cmp rcx, rax
je 0x1401cac6b
cmp byte [rcx], 0
js 0x1401caaa8
add r10, rbx
mov rbx, qword [r10 + 8]
mov rax, qword [rsi]
mov rcx, rax
xor rcx, 0xc
mov edx, ecx
and edx, 0x18
and ecx, 6
cmp rdx, rcx
jae 0x1401ca83e
mov rcx, rax
and rcx, 0xffffffffffffffd7
lock cmpxchg qword [rsi], rcx
jne 0x1401ca83e
mov rax, qword [r12 + 0x28]
mov r8, qword [rbx + 0x18]
sub rax, r8
mov r9d, dword [rbx + 0x28]
cqo
idiv r9
mov rcx, rax
test cx, cx
jle 0x1401ca77b
mov eax, dword [rbx + 0x2c]
dec eax
cmp ax, cx
jl 0x1401ca77b
movzx edx, cx
imul edx, r9d
cmp qword [rbx + 0x20], rdx
jbe 0x1401caaa8
mov eax, dword [r8]
mov r10d, eax
shr r10d, 0x10
mov r11d, r10d
inc r11w
js 0x1401ca77b
mov r9d, ecx
shl r9d, 0x10
add r9d, 0xffff0000
mov esi, dword [rbx + 0x2c]
dec esi
cmp si, r11w
jl 0x1401ca77b
sub r10d, ecx
shl r10d, 0x10
mov dword [r8 + rdx], r10d
cmp qword [rbx + 0x20], 0
je 0x1401caaa8
lea r10d, [rax + 1]
mov r11, qword [rbx + 0x18]
movzx r10d, r10w
or r10d, r9d
lock cmpxchg dword [r11], r10d
jne 0x1401ca825
mov rsi, qword [r12 + 0x10]
test rsi, rsi
mov r11, qword [rsp + 0x68]
mov r8, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x78]
je 0x1401c94d3
mov qword [r12 + 0x10], 0
lock dec dword [rsi]
je 0x1401ca809
mov rsi, qword [r12 + 0x10]
mov rax, qword [0x140308e80]
mov rcx, qword [rsp + 0x50]
mov qword [rcx + 0x10], rax
movdqu xmm0, xmmword [0x140308e70]
movdqu xmmword [rcx], xmm0
test rsi, rsi
je 0x1401c94d3
jmp 0x1401cabd8
mov rax, qword [r14]
mov rcx, rax
xor rcx, 0xc
mov edx, ecx
and edx, 0x18
and ecx, 6
cmp rdx, rcx
jae 0x1401ca7fa
mov rcx, rax
and rcx, 0xffffffffffffffd7
lock cmpxchg qword [r14], rcx
je 0x1401ca77b
mov rcx, r14
xor edx, edx
call fcn.140102bcc
jmp 0x1401ca77b
mov rcx, rsi
call fcn.14008791a
mov rcx, rsi
call fcn.140153bcc
mov r8, qword [rsp + 0x60]
mov r11, qword [rsp + 0x68]
jmp 0x1401ca7a6
mov r10d, eax
shr r10d, 0x10
mov r11d, r10d
inc r11w
jns 0x1401ca740
jmp 0x1401ca77b
mov rcx, rsi
xor edx, edx
call fcn.140102bcc
jmp 0x1401ca6e7
pcmpeqb xmm1, xmmword [0x1403059d0]
pmovmskb r10d, xmm1
test r10d, r10d
je 0x1401ca86c
mov rcx, rsi
call fcn.1400d4ddc
jmp 0x1401ca77b
add r9, rdx
add r9, 0x10
add rdx, 0x10
jmp 0x1401ca655
lea rcx, [0x140358c00]
mov rbx, r11
call fcn.140095b30
mov r11, rbx
jmp 0x1401ca89d
mov eax, dword [0x140358c00]
cmp eax, 0xdd
jne 0x1401ca87c
mov ecx, dword [0x140358c04]
inc ecx
mov rax, qword [r14]
test al, 0x11
jne 0x1401ca8b7
test al, 8
je 0x1401ca8d7
dec ecx
cmp ecx, 1
jg 0x1401ca8a5
lea rdx, [0x140304c88]
mov rcx, r14
xor r8d, r8d
xor r9d, r9d
mov rbx, r11
call fcn.140100042
mov r11, rbx
jmp 0x1401c9336
mov rdx, rax
or rdx, 8
lock cmpxchg qword [r14], rdx
je 0x1401c9336
jmp 0x1401ca8b0
mov rcx, rsi
mov rdx, rbp
xor r8d, r8d
mov r9, r12
call qword [0x14037e008]
mov r14, qword [rsp + 0x40]
jmp 0x1401c9521
mov ebx, 5
test r8, r8
mov rdi, qword [rsp + 0x70]
je 0x1401c96d6
cmp rdi, r8
je 0x1401ca940
add rdi, 0xfffffffffffffff8
test rdi, rdi
je 0x1401cacb4
mov rcx, qword [rdi]
test rcx, rcx
jne 0x1401ca94d
lea rax, [rdi - 8]
cmp rdi, r8
mov rdi, rax
jne 0x1401ca923
mov rcx, r8
call fcn.140153bcc
jmp 0x1401c96d6
mov qword [rdi], 0
lock dec dword [rcx + 8]
jne 0x1401ca934
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
mov edx, 1
mov rsi, r8
call qword [0x14037e008]
mov r8, rsi
jmp 0x1401ca934
mov rdx, qword [r12 + 0x10]
mov qword [r12 + 0x10], 0
test rdx, rdx
je 0x1401c94d3
lea rcx, fcn.14013c1c0
mov r14, rbx
mov rbx, r8
xor r8d, r8d
mov rsi, r11
call fcn.140135500
mov r8, rbx
mov rbx, r14
mov r11, rsi
jmp 0x1401c94d3
mov rcx, qword [r12 + 0x10]
test rcx, rcx
je 0x1401c94d3
mov rax, qword [r12 + 0x18]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x1401ca9f3
mov r14, rbx
mov rbx, r8
mov rsi, r11
mov qword [r12 + 0x18], rcx
call fcn.140153bcc
mov r11, rsi
mov r8, rbx
mov rbx, r14
jmp 0x1401c94d3
int3
lea rcx, [r12 + 0x40]
xor eax, eax
jmp 0x1401c9559
mov rcx, r12
mov rdx, rbp
xor r8d, r8d
xor r9d, r9d
call fcn.1401d80e6
mov r14, qword [rsp + 0x40]
jmp 0x1401c952b
mov rax, qword [rsi]
mov rax, qword [rax + 0xb0]
mov rcx, rsi
mov edx, 1
call qword [0x14037e008]
jmp 0x1401c952b
mov rcx, r13
xor edx, edx
call fcn.140102bcc
jmp 0x1401c9256
mov rcx, r13
xor edx, edx
call fcn.140102bcc
jmp 0x1401c9695
mov rcx, r13
xor edx, edx
mov rbx, r8
call fcn.140102bcc
mov r8, rbx
jmp 0x1401c91e8
mov rcx, r14
xor edx, edx
mov rbx, r11
mov r15, r8
call fcn.140102bcc
mov r8, r15
mov r11, rbx
jmp 0x1401c93a1
mov rax, rbx
mov rcx, qword [rsp + 0x50]
lock cmpxchg qword [rcx + 0x48], r13
jmp 0x1401c9482
int3
mov eax, 1
jmp 0x1401c9307
ud2
lea rcx, [rsp + 0x90]
mov qword [rcx], rbx
call fcn.1401fbf16
mov rcx, rbx
call fcn.140153bcc
mov rsi, qword [r12 + 0x48]
mov r14, qword [rsi]
test r14, r14
je 0x1401cab08
mov rbx, qword [rsi + 8]
mov rcx, r14
cmp rbx, r14
je 0x1401caaef
add rbx, 0xfffffffffffffff8
mov rcx, rbx
call fcn.140204d19
cmp rbx, r14
jne 0x1401caadb
mov rcx, qword [rsi]
mov qword [rsi + 8], r14
call fcn.140153bcc
pxor xmm0, xmm0
movdqu xmmword [rsi], xmm0
mov qword [rsi + 0x10], 0
mov r15, qword [rsp + 0x48]
jmp 0x1401c95ac
lea rcx, str.len___size__
call fcn.1401e1933
lea rcx, str.pos___size__
call fcn.1401e1933
int3
lea rcx, [rsp + 0x90]
call fcn.1401bf470
int3
int3
int3
lea rcx, [r12 + 0x10]
cmp rdx, 1
je 0x1401cab87
cmp rdx, 2
je 0x1401cab71
lea rax, [rsp + 0x80]
cmp rdx, 3
je 0x1401cab67
mov qword [rax], rcx
jmp 0x1401cab97
mov qword [rax], rcx
mov edx, 3
jmp 0x1401cab97
call fcn.1401476d6
mov qword [r12 + 0x10], rsi
mov qword [r12 + 0x18], rbx
mov qword [r12 + 0x20], rbx
jmp 0x1401cabb7
lea rax, [rsp + 0x80]
mov qword [rax], rcx
mov edx, 1
mov rcx, rax
call fcn.140208982
mov qword [r12 + 0x10], rsi
mov qword [r12 + 0x18], rbx
mov qword [r12 + 0x20], rbx
mov qword [r12 + 0x30], 2
mov r15, qword [rsp + 0x48]
mov r14, qword [rsp + 0x40]
jmp 0x1401c951c
add rax, 0xffffffffffffffd0
jne 0x1401c98a6
int3
mov rbx, qword [rsp + 0x78]
mov qword [r12 + 0x10], 0
mov rcx, rsi
call fcn.1401951c4
mov r8, qword [rsp + 0x60]
mov r11, qword [rsp + 0x68]
jmp 0x1401c94d3
lea rcx, [rsi + 0x48]
call fcn.14020c628
jmp 0x1401c988c
mov rcx, r14
call fcn.140209226
mov rcx, r14
call fcn.140153bcc
jmp 0x1401c9819
mov rcx, r14
call fcn.140209226
mov rcx, r14
call fcn.140153bcc
jmp 0x1401c9834
mov rcx, r14
call fcn.14020c5ca
mov rcx, r14
call fcn.140153bcc
jmp 0x1401c9866
mov edx, 0x10
mov r8d, 0x40
mov rcx, rdi
call fcn.1401e1cf0
jmp 0x1401c98c3
lea rcx, [r14 + 0x10]
call fcn.14020c628
jmp 0x1401c98f2
lea rax, str....._third_party_abseil_cpp_abslcontainerinternal_raw_hash_set.h
lea r8, [rsp + 0x90]
mov qword [r8], rax
lea r9, [rsp + 0x80]
mov dword [r9], 0x4d3
lea rdx, [rsp + 0x8c]
mov dword [rdx], 3
lea rax, str.Invalid_iterator_comparison._Comparing_default_constructed_iterator_with_non_default_constructed_iterator.
mov qword [rsp + 0x20], rax
lea rcx, [0x140346f80]
call fcn.1401fc0dc
ud2
int3