Function at 0x14003f016
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x118
mov qword [rsp + 0x58], r8
mov rbx, rdx
mov qword [rsp + 0x48], rcx
mov rax, qword [0x140346038]
xor rax, rsp
mov qword [rsp + 0x110], rax
mov dword [rsp + 0x108], 1
mov ecx, 0xc8
call fcn.140153bd4
mov rdi, rax
movabs rax, 0x100000001
mov qword [rdi + 8], rax
lea rax, [0x140301bc8]
mov qword [rdi], rax
lea rax, [rdi + 0x10]
mov qword [rsp + 0x50], rax
xor eax, eax
mov qword [rdi + 0x10], rax
mov dword [rdi + 0x17], 0
pxor xmm0, xmm0
movdqu xmmword [rdi + 0x80], xmm0
movdqu xmmword [rdi + 0x90], xmm0
movdqu xmmword [rdi + 0x99], xmm0
movdqu xmmword [rdi + 0xb0], xmm0
mov qword [rdi + 0xc0], rax
movdqu xmmword [rdi + 0x1c], xmm0
movdqu xmmword [rdi + 0x2c], xmm0
movdqu xmmword [rdi + 0x3c], xmm0
movdqu xmmword [rdi + 0x4c], xmm0
movdqu xmmword [rdi + 0x5c], xmm0
movdqu xmmword [rdi + 0x69], xmm0
mov rax, qword [rdi + 0x10]
test al, 0x19
jne 0x14003f898
mov rcx, rax
or rcx, 8
mov rdx, qword [rsp + 0x50]
lock cmpxchg qword [rdx], rcx
jne 0x14003f898
mov rax, qword [rbx + 0x28]
mov qword [rdi + 0xb0], rax
mov byte [rdi + 0xa8], 0
mov r12, qword [rdi + 0x88]
mov r14, qword [rdi + 0x90]
mov rsi, r12
cmp r14, r12
jne 0x14003f928
mov qword [rdi + 0x90], r12
mov qword [rdi + 0xa0], 0
mov rax, qword [rdi + 0x98]
sub rax, rsi
sar rax, 3
movabs rbp, 0x6db6db6db6db6db7
imul rax, rbp
mov rcx, r12
sub rcx, rsi
mov r14, rcx
sar r14, 3
imul r14, rbp
cmp rax, r14
ja 0x14003fb9f
lea r12, [rdi + 0x58]
mov rax, qword [rbx + 0x30]
mov qword [rdi + 0x80], rax
mov byte [rdi + 0x78], 0
mov r13, qword [rdi + 0x58]
mov r14, qword [rdi + 0x60]
mov rsi, r13
cmp r14, r13
jne 0x14003f970
mov qword [rdi + 0x60], r13
mov qword [rdi + 0x70], 0
mov rax, qword [rdi + 0x68]
sub rax, rsi
sar rax, 3
imul rax, rbp
mov rcx, r13
sub rcx, rsi
mov r14, rcx
sar r14, 3
imul r14, rbp
cmp rax, r14
ja 0x14003fc8d
lea rsi, [rdi + 8]
test byte [rbx + 0x40], 1
mov qword [rsp + 0x60], rsi
jne 0x14003f824
lea rbp, [rdi + 0x38]
test byte [rbx + 0x40], 2
je 0x14003f60f
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x100], rax
mov qword [rsp + 0xf8], rdi
test rdi, rdi
je 0x14003f20d
lock inc dword [rsi]
lea rax, [rsp + 0xd8]
mov qword [rax], 0
mov qword [rax + 8], 0xffffffffffffffff
pxor xmm0, xmm0
movdqu xmmword [rax + 0x10], xmm0
mov r9, qword [rbx + 0x20]
lea rcx, [rsp + 0xf8]
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x20], rax
mov byte [rsp + 0x30], 1
mov dword [rsp + 0x28], 2
lea r12, [rsp + 0x100]
lea r8, [rsp + 0x108]
mov rcx, qword [rsp + 0x58]
mov rdx, r12
call fcn.1400d11ec
mov r14, qword [r12]
test r14, r14
je 0x14003f748
mov qword [rsp + 0x100], 0
mov rax, qword [rdi + 0x40]
test rax, rax
jne 0x14003f9b5
mov rcx, qword [rbp]
test rcx, rcx
jne 0x14003fa2a
mov qword [rbp], r14
lea r14, [rdi + 0xb0]
mov rcx, qword [rdi + 0x40]
test rcx, rcx
jne 0x14003f2f6
mov ecx, 0x38
call fcn.140153bd4
pxor xmm0, xmm0
movdqu xmmword [rax], xmm0
movdqu xmmword [rax + 0x10], xmm0
movdqu xmmword [rax + 0x20], xmm0
mov qword [rax + 0x30], 0
mov qword [rdi + 0x40], rax
mov rcx, rbp
cmp rax, rbp
je 0x14003f2f6
mov rcx, qword [rbp]
mov qword [rax], rcx
mov qword [rbp], 0
mov rcx, rax
mov rax, qword [r14]
cmp byte [rcx + 8], 0
jne 0x14003f303
mov byte [rcx + 8], 1
mov qword [rcx + 0x10], rax
mov rax, qword [rbx + 0x38]
test rax, rax
jne 0x14003f314
mov rax, qword [rbx + 0x30]
mov rcx, qword [rdi + 0x40]
cmp byte [rcx + 0x20], 0
jne 0x14003f322
mov byte [rcx + 0x20], 1
mov qword [rcx + 0x28], rax
mov qword [rsp + 0xc8], rdi
test rdi, rdi
je 0x14003f336
lock inc dword [rsi]
mov rax, qword [rsp + 0x58]
mov r14, qword [rax + 0x50]
cmp qword [rbx + 0x10], 0xffffffffffffffff
je 0x14003fa0c
lea r13, [rbx + 0x10]
lea r12, [r14 + 0x18]
mov rax, qword [r12]
test al, 0x19
jne 0x14003f6d9
mov rcx, rax
or rcx, 8
lock cmpxchg qword [r12], rcx
jne 0x14003f6d9
mov rcx, qword [r13]
mov r8, qword [r14 + 0x20]
prefetcht2 byte [r8]
lea rax, str.HY0_
add rax, rcx
movabs rdx, 0x9ddfea08eb382d69
mul rdx
xor rdx, rax
mov rax, qword [r14 + 0x30]
mov r10, rdx
shr r10, 7
mov r9, r8
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 r10d, r10d
and r9, rax
movdqu xmm1, xmmword [r8 + r9]
movdqa xmm2, xmm0
pcmpeqb xmm2, xmm1
pmovmskb r11d, xmm2
test r11d, r11d
je 0x14003f9d7
mov rdx, qword [r14 + 0x28]
movzx r15d, r11w
bsf esi, r15d
add rsi, r9
and rsi, rax
lea r11, [rsi + rsi*8]
shl r11, 4
cmp qword [rdx + r11], rcx
jne 0x14003f9c7
add r8, rsi
lea rax, [0x1403059f0]
cmp r8, rax
je 0x14003fcc0
cmp byte [r8], 0
js 0x14003f8f9
cmp rcx, 0xffffffffffffffff
je 0x14003f90a
add rdx, r11
mov eax, dword [rbx + 0x18]
mov ecx, dword [rbx + 0x1c]
add ecx, eax
mov r8d, 0xffffffff
cmovae r8d, ecx
cmp qword [rdx + 0x88], r8
jb 0x14003f90a
add rax, qword [rdx + 0x80]
movdqu xmm0, xmmword [r13]
movdqa xmmword [rsp + 0x90], xmm0
mov qword [rsp + 0xa0], rax
mov rax, qword [r12]
mov rcx, rax
xor rcx, 0xc
mov edx, ecx
and edx, 0x18
and ecx, 6
cmp rdx, rcx
jae 0x14003f8fb
mov rcx, rax
and rcx, 0xffffffffffffffd7
lock cmpxchg qword [r12], rcx
jne 0x14003f8fb
test r14, r14
je 0x14003f4a9
lock inc dword [r14]
lea rax, [rsp + 0xa8]
mov qword [rax], r14
movdqa xmm0, xmmword [rsp + 0x90]
movdqu xmmword [rax + 8], xmm0
mov rcx, qword [rsp + 0xa0]
mov qword [rax + 0x18], rcx
mov r9, qword [rbx + 8]
lea rcx, [rsp + 0xc8]
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x20], rax
mov byte [rsp + 0x30], 1
mov dword [rsp + 0x28], 0
lea r12, [rsp + 0xd0]
lea r8, [rsp + 0x108]
mov rcx, qword [rsp + 0x58]
mov rdx, r12
call fcn.1400d11ec
mov r15, qword [r12]
test r15, r15
je 0x14003f79c
lock inc dword [r15 + 8]
mov rax, qword [rdi + 0x40]
test rax, rax
je 0x14003f533
cmp qword [rax], 0
je 0x14003f740
mov rcx, qword [rbp]
test rcx, rcx
jne 0x14003fa82
mov qword [rbp], r15
mov rcx, qword [rsp + 0x100]
test rcx, rcx
jne 0x14003f76c
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
mov r8, rax
xor r8, 0xc
mov edx, r8d
and edx, 0x18
and r8d, 6
cmp rdx, r8
jae 0x14003f734
mov rdx, rax
and rdx, 0xffffffffffffffd7
lock cmpxchg qword [rcx], rdx
jne 0x14003f734
mov rax, qword [rbx + 0x48]
or rax, qword [rbx + 0x50]
jne 0x14003f5ea
lea rdx, [rsp + 0x108]
mov rcx, rdi
mov r8d, 1
call fcn.1401c2f8a
mov rax, qword [rsp + 0x48]
mov qword [rax], rdi
test r15, r15
je 0x14003f5c1
lock dec dword [r15 + 8]
je 0x14003f6bc
mov rcx, qword [rsp + 0x110]
xor rcx, rsp
call fcn.140156fe0
mov rax, qword [rsp + 0x48]
add rsp, 0x118
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [rbx + 0x58]
add rbx, 0x48
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x108]
mov rcx, rdi
mov r8, r15
mov r9, rbx
call fcn.14007831e
jmp 0x14003f593
cmp qword [rbx + 0x10], 0xffffffffffffffff
jne 0x14003f748
mov qword [rsp + 0x88], rdi
test rdi, rdi
je 0x14003f62a
lock inc dword [rsi]
lea rax, [rsp + 0x68]
mov qword [rax], 0
mov qword [rax + 8], 0xffffffffffffffff
pxor xmm0, xmm0
movdqu xmmword [rax + 0x10], xmm0
mov r9, qword [rbx + 8]
lea rcx, [rsp + 0x88]
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x20], rax
mov byte [rsp + 0x30], 1
mov dword [rsp + 0x28], 2
lea r12, [rsp + 0x90]
lea r8, [rsp + 0x108]
mov rcx, qword [rsp + 0x58]
mov rdx, r12
call fcn.1400d11ec
mov r15, qword [r12]
test r15, r15
je 0x14003f7f3
lock inc dword [r15 + 8]
mov rax, qword [rdi + 0x40]
test rax, rax
jne 0x14003f7e1
mov rcx, qword [rbp]
test rcx, rcx
jne 0x14003fd09
mov qword [rbp], r15
jmp 0x14003f555
mov rax, qword [r15]
mov rax, qword [rax + 0xb0]
mov rcx, r15
mov edx, 1
call qword [0x14037e008]
jmp 0x14003f5c1
mov eax, dword [0x140358c00]
cmp eax, 0xdd
jne 0x14003f813
mov ecx, dword [0x140358c04]
inc ecx
mov rax, qword [r12]
test al, 0x11
jne 0x14003f705
test al, 8
je 0x14003f71f
dec ecx
cmp ecx, 1
jg 0x14003f6f2
lea rdx, [0x140304c88]
mov rcx, r12
xor r8d, r8d
xor r9d, r9d
call fcn.140100042
jmp 0x14003f371
mov rdx, rax
or rdx, 8
lock cmpxchg qword [r12], rdx
je 0x14003f371
jmp 0x14003f6fe
xor edx, edx
call fcn.140102bcc
jmp 0x14003f589
mov qword [rax], r15
jmp 0x14003f544
mov rax, qword [rsp + 0x48]
mov qword [rax], 0
mov rcx, qword [rsp + 0x50]
call fcn.1400d4ddc
test rdi, rdi
je 0x14003f5c1
jmp 0x14003fd4b
mov qword [rsp + 0x100], 0
lock dec dword [rcx + 8]
jne 0x14003f555
mov rax, qword [rcx]
mov rax, qword [rax + 0xb0]
mov edx, 1
call qword [0x14037e008]
jmp 0x14003f555
mov rcx, qword [rsp + 0x100]
mov rax, qword [rsp + 0x48]
mov qword [rax], 0
test rcx, rcx
je 0x14003f754
mov qword [rsp + 0x100], 0
lock dec dword [rcx + 8]
jne 0x14003f754
mov rax, qword [rcx]
mov rax, qword [rax + 0xb0]
mov edx, 1
call qword [0x14037e008]
jmp 0x14003f754
cmp qword [rax], 0
jne 0x14003f6a6
mov qword [rax], r15
jmp 0x14003f555
mov sil, byte [rbx + 0x40]
mov rcx, qword [rsp + 0x50]
call fcn.1400d4ddc
test sil, 1
je 0x14003fd8e
xor r15d, r15d
jmp 0x14003f589
lea rcx, [0x140358c00]
call fcn.140095b30
jmp 0x14003f6ea
mov byte [rdi + 0x18], 1
mov rdx, qword [rbx]
mov rcx, r12
call fcn.1400fb8a0
test al, al
je 0x14003f748
mov rax, qword [rdi + 0x58]
mov rcx, qword [rdi + 0x60]
cmp rax, rcx
je 0x14003f86e
mov rdx, qword [rdi + 0x70]
sub rcx, rax
sar rcx, 3
imul rcx, rbp
cmp rcx, rdx
jbe 0x14003fd42
imul rcx, rdx, 0x38
cmp byte [rax + rcx], 0
jne 0x14003f1dd
mov rcx, r12
call fcn.140073c1e
test al, al
jne 0x14003f1dd
lea rax, [rdi + 0x1c]
or byte [rax], 3
jmp 0x14003f1dd
lea rcx, [0x140358c00]
call fcn.140095b30
jmp 0x14003f8a5
mov eax, dword [0x140358c00]
cmp eax, 0xdd
jne 0x14003f88a
mov ecx, dword [0x140358c04]
inc ecx
mov r8, qword [rsp + 0x50]
mov rax, qword [rsp + 0x50]
mov rax, qword [rax]
test al, 0x11
jne 0x14003f8c9
test al, 8
je 0x14003f8e5
dec ecx
cmp ecx, 1
jg 0x14003f8b2
lea rdx, [0x140304c88]
mov rcx, qword [rsp + 0x50]
xor r8d, r8d
xor r9d, r9d
call fcn.140100042
jmp 0x14003f0fa
mov rdx, rax
or rdx, 8
lock cmpxchg qword [r8], rdx
je 0x14003f0fa
jmp 0x14003f8c2
ud2
mov rcx, r12
xor edx, edx
call fcn.140102bcc
jmp 0x14003f4a0
mov qword [rsp + 0x90], 0xffffffffffffffff
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x98], xmm0
jmp 0x14003f471
add r14, 0xffffffffffffffc8
je 0x14003fd45
cmp byte [r14], 0
je 0x14003f94d
mov r13, qword [r14 + 8]
mov qword [r14 + 8], 0
test r13, r13
jne 0x14003f95e
mov byte [r14], 0
cmp r14, r12
jne 0x14003f928
mov rsi, qword [rdi + 0x88]
jmp 0x14003f126
mov rcx, r13
call fcn.1401c6642
mov rcx, r13
call fcn.140153bcc
jmp 0x14003f949
add r14, 0xffffffffffffffc8
je 0x14003fd48
cmp byte [r14], 0
je 0x14003f995
mov rsi, qword [r14 + 8]
mov qword [r14 + 8], 0
test rsi, rsi
jne 0x14003f9a3
mov byte [r14], 0
cmp r14, r13
jne 0x14003f970
mov rsi, qword [r12]
jmp 0x14003f195
mov rcx, rsi
call fcn.1401c6642
mov rcx, rsi
call fcn.140153bcc
jmp 0x14003f991
cmp qword [rax], 0
jne 0x14003f293
mov qword [rax], r14
jmp 0x14003f2a4
lea r11d, [r15 - 1]
and r11d, r15d
mov r15d, r11d
jne 0x14003f3ee
pcmpeqb xmm1, xmmword [0x1403059d0]
pmovmskb edx, xmm1
test edx, edx
je 0x14003f9fc
lea rcx, [rsp + 0x90]
mov rdx, r13
call fcn.1401fd1a6
jmp 0x14003f471
add r9, r10
add r9, 0x10
add r10, 0x10
jmp 0x14003f3c7
mov qword [rsp + 0x90], 0xffffffffffffffff
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x98], xmm0
jmp 0x14003f4a0
mov qword [rbp], 0
lock dec dword [rcx + 8]
jne 0x14003fa4d
mov rax, qword [rcx]
mov rax, qword [rax + 0xb0]
mov edx, 1
call qword [0x14037e008]
mov rcx, qword [rbp]
mov qword [rbp], r14
test rcx, rcx
je 0x14003f2a4
lock dec dword [rcx + 8]
jne 0x14003f2a4
mov rax, qword [rcx]
mov rax, qword [rax + 0xb0]
mov edx, 1
call qword [0x14037e008]
jmp 0x14003f2a4
mov qword [rbp], 0
lock dec dword [rcx + 8]
jne 0x14003faa5
mov rax, qword [rcx]
mov rax, qword [rax + 0xb0]
mov edx, 1
call qword [0x14037e008]
mov rcx, qword [rbp]
mov qword [rbp], r15
test rcx, rcx
je 0x14003f544
lock dec dword [rcx + 8]
jne 0x14003f544
mov rax, qword [rcx]
mov rax, qword [rax + 0xb0]
mov edx, 1
call qword [0x14037e008]
jmp 0x14003f544
add r12, 0xffffffffffffffc8
add rax, 0xffffffffffffffc8
jne 0x14003fb1d
jmp 0x14003fd68
movabs rax, 0x492492492492492
cmp r14, rax
ja 0x14003fd6e
call fcn.140153bd4
imul rcx, r14, 0x38
add rcx, rax
mov rax, rcx
add rax, 0xffffffffffffffc8
je 0x14003fd68
add r12, 0xffffffffffffffc8
pxor xmm0, xmm0
movdqu xmmword [rax + 0x20], xmm0
movdqu xmmword [rax + 0x10], xmm0
movdqu xmmword [rax], xmm0
cmp byte [r12], 0
je 0x14003fb5f
mov rdx, qword [r12 + 8]
mov qword [r12 + 8], 0
mov qword [rax + 8], rdx
movdqu xmm1, xmmword [r12 + 0x10]
movdqu xmm2, xmmword [r12 + 0x20]
movdqu xmmword [rax + 0x10], xmm1
movdqu xmmword [rax + 0x20], xmm2
mov byte [rax], 1
cmp r12, rsi
jne 0x14003fada
mov r12, qword [rdi + 0x88]
mov r13, qword [rdi + 0x90]
mov qword [rdi + 0x88], rax
mov qword [rdi + 0x90], rcx
mov qword [rdi + 0x98], rcx
jmp 0x14003fb95
mov rcx, r13
call fcn.14020d5e2
cmp r13, r12
je 0x14003fbc5
jmp 0x14003fd74
cmp r12, rsi
jne 0x14003fae9
imul rax, r14, 0x38
mov qword [rdi + 0x88], rax
mov qword [rdi + 0x90], rax
mov qword [rdi + 0x98], 0
test r12, r12
je 0x14003f16e
mov rcx, r12
call fcn.140153bcc
jmp 0x14003f16e
add r13, 0xffffffffffffffc8
add rax, 0xffffffffffffffc8
jne 0x14003fc1e
jmp 0x14003fd6b
movabs rax, 0x492492492492492
cmp r14, rax
ja 0x14003fd71
call fcn.140153bd4
imul rcx, r14, 0x38
add rcx, rax
mov rax, rcx
add rax, 0xffffffffffffffc8
je 0x14003fd6b
add r13, 0xffffffffffffffc8
pxor xmm0, xmm0
movdqu xmmword [rax + 0x20], xmm0
movdqu xmmword [rax + 0x10], xmm0
movdqu xmmword [rax], xmm0
cmp byte [r13], 0
je 0x14003fc5c
mov rdx, qword [r13 + 8]
mov qword [r13 + 8], 0
mov qword [rax + 8], rdx
movdqu xmm1, xmmword [r13 + 0x10]
movdqu xmm2, xmmword [r13 + 0x20]
movdqu xmmword [rax + 0x10], xmm1
movdqu xmmword [rax + 0x20], xmm2
mov byte [rax], 1
cmp r13, rsi
jne 0x14003fbdb
mov r13, qword [rdi + 0x58]
mov rsi, qword [rdi + 0x60]
mov qword [rdi + 0x58], rax
mov qword [rdi + 0x60], rcx
mov qword [rdi + 0x68], rcx
jmp 0x14003fc83
mov rcx, rsi
call fcn.14020d5e2
cmp rsi, r13
je 0x14003fcaa
jmp 0x14003fd81
cmp r13, rsi
jne 0x14003fbea
imul rax, r14, 0x38
mov qword [rdi + 0x58], rax
mov qword [rdi + 0x60], rax
mov qword [rdi + 0x68], 0
test r13, r13
je 0x14003f1ca
mov rcx, r13
call fcn.140153bcc
jmp 0x14003f1ca
lea rax, str....._third_party_abseil_cpp_abslcontainerinternal_raw_hash_set.h
lea r8, [rsp + 0x90]
mov qword [r8], rax
lea r9, [rsp + 0xd0]
mov dword [r9], 0x4d3
lea rdx, [rsp + 0x10c]
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
mov qword [rbp], 0
lock dec dword [rcx + 8]
jne 0x14003fd2c
mov rax, qword [rcx]
mov rax, qword [rax + 0xb0]
mov edx, 1
call qword [0x14037e008]
mov rcx, qword [rbp]
mov qword [rbp], r15
test rcx, rcx
je 0x14003f555
jmp 0x14003f778
int3
int3
int3
mov rax, qword [rsp + 0x60]
lock dec dword [rax]
jne 0x14003f5c1
mov rax, qword [rdi]
mov rax, qword [rax + 0x10]
mov rcx, rdi
jmp 0x14003f6c9
int3
int3
int3
int3
add r13, 0xffffffffffffffc8
jne 0x14003fb8d
int3
add rsi, 0xffffffffffffffc8
jne 0x14003fc7b
int3
lea rbx, [rsp + 0x108]
mov rcx, rdi
mov rdx, rbx
mov r8d, 2
call fcn.14007379a
mov rcx, rdi
mov rdx, rbx
mov r8d, 1
call fcn.1401c2f8a
mov rax, qword [rsp + 0x48]
mov qword [rax], rdi
jmp 0x14003f5c1