Function at 0x140023220
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push r12
push r13
lea rbp, [rsp - 0x88]
sub rsp, 0x188
mov eax, dword [rcx + 0xb0]
mov rsi, rcx
mov r13, qword [0x1402ff138]
inc eax
mov r9, rdx
mov dword [rbp - 0x78], eax
movzx r8d, byte [rsi + 0xcc]
mov ecx, dword [r13 + 0x4098]
mov dword [rbp - 0x7c], ecx
test r8b, 0x40
je 0x140023275
mov byte [rbp + 0xc8], 1
cmp eax, ecx
je 0x14002327c
mov byte [rbp + 0xc8], 0
xor r12d, r12d
cmp dword [rsi + 0xc0], r12d
je 0x140023294
mov dword [rsp + 0x38], 1
cmp eax, ecx
je 0x140023299
mov dword [rsp + 0x38], r12d
and r8b, 0xbf
mov dword [rsi + 0xc0], r12d
mov byte [rsi + 0xcc], r8b
mov rdx, rsi
mov rax, qword [rsi + 0x18]
mov qword [rsp + 0x70], rdx
test rax, rax
je 0x1400232d3
nop dword [rax]
mov qword [rsp + 0x70], rax
mov rax, qword [rax + 0x18]
test rax, rax
jne 0x1400232c0
mov rdx, qword [rsp + 0x70]
mov rax, qword [r13 + 0x4ef8]
mov qword [rsp + 0x170], r14
test rax, rax
je 0x1400232f7
cmp qword [rax + 0x458], rsi
sete r14b
jmp 0x1400233a7
mov rcx, qword [r13 + 0x4d00]
test rcx, rcx
je 0x1400233a4
mov eax, dword [rsi]
cmp dword [rdx + 0xb8], eax
jne 0x1400233a4
mov rcx, qword [rcx + 0x3c0]
test dword [rcx + 0x14], 0x10000000
je 0x140023347
nop word [rax + rax]
mov rax, qword [rcx + 0x3b0]
mov rcx, qword [rax + 0x3c0]
test dword [rcx + 0x14], 0x10000000
jne 0x140023330
mov rax, qword [rcx + 0x460]
test rax, rax
jne 0x140023360
mov rax, qword [rcx + 0x458]
test rax, rax
je 0x1400233a4
nop
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x14002337c
nop dword [rax]
mov rax, rcx
mov rcx, qword [rcx + 0x18]
test rcx, rcx
jne 0x140023370
cmp rax, rdx
je 0x140023565
mov rax, qword [rax + 0x88]
test rax, rax
je 0x1400233a4
mov rax, qword [rax + 0x3c0]
mov rax, qword [rax + 0x458]
test rax, rax
jne 0x140023360
xor r14b, r14b
mov eax, dword [rsi + 0x10]
test eax, 0x3000
jne 0x14002445a
movzx ecx, byte [r9 + 0xf8]
mov qword [rsp + 0x180], rbx
mov qword [rsp + 0x178], rdi
mov qword [rsp + 0x168], r15
vmovaps xmmword [rsp + 0x150], xmm6
vmovaps xmmword [rsp + 0x140], xmm7
shr eax, 0xa
vmovaps xmmword [rsp + 0x130], xmm8
vmovaps xmmword [rsp + 0x120], xmm9
mov byte [rsp + 0x30], cl
test al, 1
jne 0x140023417
mov byte [r9 + 0xf8], 0
mov dword [r9 + 0x198], 1
mov ecx, dword [rsi]
call fcn.140013270
mov rax, qword [rsi + 0x40]
mov qword [rsp + 0x50], rax
mov rbx, rax
test rax, rax
jne 0x14002343b
mov rcx, rsi
call fcn.1400244d0
mov rbx, qword [rsi + 0x40]
and byte [rsi + 0xcc], 0xfd
lea r15, [0x14013ea59]
movzx eax, r14b
mov dword [rsp + 0x34], r12d
add al, al
lea r11, [0x14013f300]
or byte [rsi + 0xcc], al
test dword [rsi + 0x10], 0x4000
jne 0x14002356d
cmp dword [r13 + 0x3a20], 0xffffffff
je 0x14002356d
mov rax, qword [0x1402ff138]
mov rdx, r15
mov byte [rbp + 0xc0], 1
mov r8b, 0x23
mov r10, qword [rax + 0x4140]
movsxd rcx, dword [r10 + 0x130]
mov rax, qword [r10 + 0x138]
mov r9d, dword [rax + rcx*4 - 4]
not r9d
mov edi, r9d
cmp r8b, 0x23
jne 0x1400234c3
cmp byte [rdx], r8b
jne 0x1400234c3
cmp byte [rdx + 1], r8b
cmove edi, r9d
movzx ecx, dil
movzx eax, r8b
movzx r8d, byte [rdx]
xor rcx, rax
shr edi, 8
inc rdx
xor edi, dword [r11 + rcx*4]
test r8b, r8b
jne 0x1400234b0
mov rax, qword [r10]
not edi
cmp dword [rax + 0x418c], edi
jne 0x140023501
lea r8, str.WindowMenu
mov edx, 0xb
mov ecx, edi
call fcn.140029170
mov rdx, qword [0x1402ff138]
movsxd rax, dword [rdx + 0x4c58]
cmp dword [rdx + 0x4c48], eax
jle 0x140023574
imul rcx, rax, 0x38
mov rax, qword [rdx + 0x4c50]
cmp dword [rcx + rax], edi
jne 0x140023574
mov edi, dword [rbx + 0x1c]
mov rdx, rbx
mov rcx, rsi
call fcn.1400230a0
mov eax, dword [rbx + 0x1c]
test eax, eax
je 0x14002354a
cmp eax, edi
mov r9d, r12d
cmovne r9d, eax
mov dword [rsp + 0x34], r9d
movzx r8d, byte [rsi + 0xcc]
shr r8b, 1
and r8b, 1
or r8b, r14b
mov byte [rbp + 0xb0], r8b
jmp 0x14002357b
mov r14b, 1
jmp 0x1400233a7
mov byte [rbp + 0xc0], 0
mov byte [rbp + 0xb0], r14b
mov rcx, qword [0x1402ff138]
vmovss xmm6, dword [rsi + 0x4c]
vmovss xmm7, dword [rsi + 0x48]
vaddss xmm8, xmm7, dword [rsi + 0x50]
vaddss xmm1, xmm6, dword [rcx + 0x3e78]
movzx edx, byte [rsi + 0xcc]
vxorps xmm0, xmm0, xmm0
vmovss dword [rsp + 0x78], xmm0
vmovss dword [rsp + 0x7c], xmm0
vmovss xmm0, dword [rcx + 0x3a38]
vmovss dword [rsp + 0x60], xmm7
vmovss dword [rsp + 0x64], xmm6
vmovss dword [rsp + 0x68], xmm8
vaddss xmm0, xmm0, xmm0
vaddss xmm9, xmm1, xmm0
vmovss dword [rsp + 0x6c], xmm9
vmovss xmm2, dword [rcx + 0x3a0c]
vmovss xmm1, dword [rcx + 0x3a34]
vmovss xmm5, dword [rcx + 0x3e78]
vaddss xmm0, xmm7, xmm2
vaddss xmm3, xmm0, xmm1
vsubss xmm0, xmm8, xmm2
vaddss xmm2, xmm6, dword [rcx + 0x3a38]
vsubss xmm4, xmm0, xmm1
vmovss dword [rsp + 0x48], xmm4
vmovss dword [rsp + 0x44], xmm6
vmovss dword [rsp + 0x4c], xmm9
vmovss dword [rsp + 0x40], xmm3
test dl, 8
je 0x140023647
vsubss xmm0, xmm4, xmm5
vmovss dword [rsp + 0x78], xmm0
vaddss xmm0, xmm5, dword [rcx + 0x3a4c]
vsubss xmm4, xmm4, xmm0
vmovss dword [rsp + 0x48], xmm4
vmovss dword [rsp + 0x7c], xmm2
test dl, 0x10
je 0x140023688
cmp dword [rcx + 0x3a20], 0
jne 0x140023669
vaddss xmm0, xmm5, dword [rcx + 0x3a4c]
vaddss xmm1, xmm0, xmm3
vmovss dword [rsp + 0x40], xmm1
jmp 0x140023688
cmp dword [rcx + 0x3a20], 1
jne 0x140023688
vaddss xmm0, xmm5, dword [rcx + 0x3a4c]
vsubss xmm1, xmm4, xmm0
vmovss dword [rsp + 0x48], xmm1
vsubss xmm3, xmm4, xmm5
cmp dword [rsi + 0x30], 0
mov r14d, r12d
vmovups xmm0, xmmword [rsp + 0x40]
mov eax, dword [rbx]
vmovups xmmword [rbp - 0x60], xmm0
vmovss dword [rsp + 0x40], xmm3
vmovss dword [rsp + 0x44], xmm2
mov dword [rbp - 0x80], eax
jle 0x140023723
mov rdi, r12
mov rax, qword [rsi + 0x38]
mov r9, qword [rdi + rax]
mov r8d, dword [r9 + 0xb8]
test r8d, r8d
je 0x1400236ee
mov edx, dword [rbx]
mov eax, r12d
test edx, edx
jle 0x1400236ee
mov rcx, qword [rbx + 8]
cmp dword [rcx], r8d
je 0x1400236e2
inc eax
add rcx, 0x38
cmp eax, edx
jl 0x1400236d1
jmp 0x1400236ee
cdqe
imul rcx, rax, 0x38
add rcx, qword [rbx + 8]
jne 0x1400236fe
mov r8, r9
mov edx, 0x400000
mov rcx, rbx
call fcn.1400543c0
inc r14d
add rdi, 8
cmp r14d, dword [rsi + 0x30]
jl 0x1400236b0
vmovss xmm9, dword [rsp + 0x6c]
vmovss xmm8, dword [rsp + 0x68]
vmovss xmm6, dword [rsp + 0x64]
vmovss xmm7, dword [rsp + 0x60]
movzx eax, byte [rbp + 0xb0]
test al, al
je 0x140023742
mov eax, dword [r13 + 0x4098]
mov dword [rsi + 0xb4], eax
movzx eax, byte [rbp + 0xb0]
mov r14, qword [rbp + 0xb8]
cmp byte [r14 + 0xf6], 0
je 0x14002375a
mov ecx, 0xc
jmp 0x140023766
test al, al
mov rcx, r12
setne cl
add rcx, 0xa
mov rax, qword [0x1402ff138]
add rcx, rcx
vmovups xmm0, xmmword [rax + rcx*8 + 0x3ae0]
vmovups xmmword [rbp - 0x70], xmm0
vshufps xmm0, xmm0, xmm0, 0xff
vmulss xmm0, xmm0, dword [rax + 0x39f8]
lea rcx, [rbp - 0x70]
vmovss dword [rbp - 0x64], xmm0
call fcn.140003db0
vmovss xmm3, dword [r13 + 0x3acc]
vmovss xmm1, dword [r14 + 0x58]
vmovss xmm2, dword [r14 + 0x5c]
vaddss xmm0, xmm3, xmm1
vcomiss xmm0, xmm7
vaddss xmm0, xmm1, dword [r14 + 0x60]
vmovaps xmm7, xmmword [rsp + 0x140]
setae cl
vsubss xmm1, xmm0, xmm3
vcomiss xmm8, xmm1
vmovaps xmm8, xmmword [rsp + 0x130]
mov r10d, eax
setae r9b
vaddss xmm0, xmm3, xmm2
vcomiss xmm0, xmm6
vaddss xmm0, xmm2, dword [r14 + 0x64]
setae dl
vsubss xmm1, xmm0, xmm3
vcomiss xmm9, xmm1
vmovaps xmm9, xmmword [rsp + 0x120]
setae al
test dl, dl
je 0x140023815
test cl, cl
je 0x140023815
mov r8d, 0x110
jmp 0x14002381f
mov r8d, 0x100
test dl, dl
je 0x140023829
mov edx, 0x20
test r9b, r9b
jne 0x14002382c
mov edx, r12d
test al, al
je 0x14002383b
test cl, cl
je 0x14002383b
mov ecx, 0x40
jmp 0x140023842
mov ecx, r12d
test al, al
je 0x14002384c
mov eax, 0x80
test r9b, r9b
jne 0x14002384f
mov eax, r12d
vmovss xmm0, dword [r14 + 0x90]
or eax, ecx
mov r9d, r10d
mov rcx, qword [r14 + 0x2e0]
or eax, r8d
or eax, edx
lea r8, [rsp + 0x68]
mov dword [rsp + 0x28], eax
lea rdx, [rsp + 0x60]
vmovss dword [rsp + 0x20], xmm0
call fcn.140034cd0
cmp byte [rbp + 0xc0], 0
je 0x140023a37
movsxd rcx, dword [r14 + 0x130]
lea rdx, [0x14013d451]
mov rax, qword [r14 + 0x138]
lea r10, [0x14013f300]
mov r8b, 0x23
mov r9d, dword [rax + rcx*4 - 4]
not r9d
mov edi, r9d
nop dword [rax]
cmp r8b, 0x23
jne 0x1400238d3
cmp byte [rdx], r8b
jne 0x1400238d3
cmp byte [rdx + 1], r8b
cmove edi, r9d
movzx ecx, dil
movzx eax, r8b
movzx r8d, byte [rdx]
xor rcx, rax
shr edi, 8
inc rdx
xor edi, dword [r10 + rcx*4]
test r8b, r8b
jne 0x1400238c0
mov rax, qword [r14]
not edi
cmp dword [rax + 0x418c], edi
jne 0x140023911
lea r8, str.COLLAPSE
mov edx, 0xb
mov ecx, edi
call fcn.140029170
mov r8, rsi
lea rdx, [rsp + 0x40]
mov ecx, edi
call fcn.140042fd0
test al, al
je 0x1400239ce
mov r14, qword [0x1402ff138]
mov dl, 0x23
mov r9, qword [r14 + 0x4140]
movsxd rcx, dword [r9 + 0x130]
mov rax, qword [r9 + 0x138]
mov r8d, dword [rax + rcx*4 - 4]
not r8d
mov edi, r8d
cmp dl, 0x23
jne 0x140023963
cmp byte [r15], dl
jne 0x140023963
cmp byte [r15 + 1], dl
cmove edi, r8d
movzx ecx, dil
movzx eax, dl
movzx edx, byte [r15]
xor rcx, rax
shr edi, 8
lea rax, [0x14013f300]
inc r15
xor edi, dword [rax + rcx*4]
test dl, dl
jne 0x140023951
mov rax, qword [r9]
not edi
cmp dword [rax + 0x418c], edi
jne 0x1400239a5
lea r8, str.WindowMenu
mov edx, 0xb
mov ecx, edi
call fcn.140029170
test byte [r14 + 0x6294], 4
je 0x1400239c5
mov r8d, edi
lea rdx, str.WindowMenu
lea rcx, str._popup__OpenPopup___s_____0x_08X__n
call fcn.140028db0
xor edx, edx
mov ecx, edi
call fcn.140017500
mov rax, qword [0x1402ff138]
mov ecx, dword [rax + 0x41a4]
test ecx, ecx
je 0x1400239ee
cmp ecx, dword [rax + 0x4af0]
jne 0x1400239ee
mov eax, dword [rbx + 0x18]
mov dword [rsp + 0x34], eax
mov ecx, 0x11000
call fcn.140007c90
test al, al
je 0x140023a37
vmovss xmm0, dword [0x140149d7c]
vcomiss xmm0, dword [r13 + 0x419c]
jae 0x140023a37
mov rax, qword [0x1402ff138]
lea rdx, str.Missing_Text
mov rcx, qword [rax + 0x6248]
test rcx, rcx
cmovne rdx, rcx
lea rcx, [0x14013ea64]
call fcn.140017310
mov edi, dword [rbx]
lea ecx, [rdi - 1]
test ecx, ecx
js 0x140023a73
movsxd rax, ecx
imul rdx, rax, 0x38
nop word [rax + rax]
mov r8, qword [rbx + 8]
mov eax, dword [r8 + rdx + 4]
bt eax, 0x16
jae 0x140023a73
btr eax, 0x16
mov edi, ecx
mov dword [r8 + rdx + 4], eax
sub rdx, 0x38
sub ecx, 1
jns 0x140023a50
mov r8d, dword [rbx]
cmp r8d, edi
jle 0x140023b80
test dword [r13 + 0x6294], 0x100
je 0x140023ab5
mov edx, dword [rsi]
lea eax, [rdi + 1]
cmp r8d, eax
lea rcx, str.__will_sort_
lea r9, [0x14013d487]
cmovg r9, rcx
sub r8d, edi
lea rcx, str._docking__In_node_0x_08X:__d_new_appearing_tabs:_s_n
call fcn.140028db0
mov r15d, edi
cmp edi, dword [rbx]
jge 0x140023b15
movsxd rax, edi
imul r14, rax, 0x38
mov rdx, qword [rbx + 8]
add rdx, r14
test dword [r13 + 0x6294], 0x100
je 0x140023b09
mov rax, qword [rdx + 8]
test rax, rax
je 0x140023aea
movsx r9d, word [rax + 0x43e]
jmp 0x140023af0
mov r9d, 0xffffffff
mov rcx, rbx
call fcn.140054390
mov edx, dword [rdx]
lea rcx, str._docking____Tab_0x_08X__s_Order__d_n
mov r8, rax
call fcn.140028db0
inc r15d
add r14, 0x38
cmp r15d, dword [rbx]
jl 0x140023ac3
test dword [r13 + 0x6294], 0x100
je 0x140023b4f
mov rax, qword [r13 + 0x4d00]
test rax, rax
je 0x140023b37
mov r8d, dword [rax + 0xb8]
jmp 0x140023b3d
mov r8d, 0xffffffff
mov edx, dword [rsi + 0xbc]
lea rcx, str._docking__SelectedTabId__0x_08X__NavWindow__TabId__0x_08X_n
call fcn.140028db0
mov ecx, dword [rbx]
lea eax, [rdi + 1]
cmp ecx, eax
jle 0x140023b80
sub ecx, edi
movsxd rdx, ecx
cmp rdx, 1
jbe 0x140023b80
movsxd rax, edi
lea r9, [0x140022f10]
imul rcx, rax, 0x38
mov r8d, 0x38
add rcx, qword [rbx + 8]
call fcn.1400ecdb0
mov rax, qword [r13 + 0x4d00]
test rax, rax
je 0x140023ba5
mov rax, qword [rax + 0x3c0]
cmp qword [rax + 0x458], rsi
jne 0x140023ba5
mov eax, dword [rax + 0xb8]
mov dword [rbx + 0x18], eax
cmp qword [rsp + 0x50], 0
jne 0x140023bd9
mov edx, dword [rsi + 0xbc]
test edx, edx
je 0x140023bd9
mov r8d, dword [rbx]
mov eax, r12d
test r8d, r8d
jle 0x140023bd9
mov rcx, qword [rbx + 8]
cmp dword [rcx], edx
je 0x140023f0f
inc eax
add rcx, 0x38
cmp eax, r8d
jl 0x140023bc6
movsxd rax, dword [rbx]
cmp eax, dword [rbp - 0x80]
jle 0x140023bfa
imul rcx, rax, 0x38
mov rax, qword [rbx + 8]
mov rcx, qword [rcx + rax - 0x30]
mov eax, dword [rcx + 0xb8]
mov dword [rbx + 0x1c], eax
mov dword [rbx + 0x18], eax
mov r15, qword [rbp + 0xb8]
mov r14d, 0x500003
cmp byte [r15 + 0xf6], 0
jne 0x140023c21
cmp byte [rbp + 0xb0], 0
mov eax, 0x700003
cmovne r14d, eax
mov rax, qword [0x1402ff138]
lea rdx, [0x14013eb19]
mov r8b, 0x23
mov r10, qword [rax + 0x4140]
movsxd rcx, dword [r10 + 0x130]
mov rax, qword [r10 + 0x138]
mov r9d, dword [rax + rcx*4 - 4]
not r9d
mov edi, r9d
cmp r8b, 0x23
jne 0x140023c65
cmp byte [rdx], r8b
jne 0x140023c65
cmp byte [rdx + 1], r8b
cmove edi, r9d
movzx ecx, dil
movzx eax, r8b
movzx r8d, byte [rdx]
xor rcx, rax
shr edi, 8
lea rax, [0x14013f300]
inc rdx
xor edi, dword [rax + rcx*4]
test r8b, r8b
jne 0x140023c52
mov rax, qword [r10]
not edi
cmp dword [rax + 0x418c], edi
jne 0x140023ca9
lea r8, str.TabBar
mov edx, 0xb
mov ecx, edi
call fcn.140029170
mov dword [rbx + 0x14], edi
lea rdx, [rbp - 0x60]
vmovss xmm0, dword [rsi + 0x48]
vaddss xmm1, xmm0, dword [r15 + 0x94]
vmovss dword [rbx + 0x64], xmm1
vmovss xmm2, dword [rsi + 0x50]
vaddss xmm0, xmm2, dword [rsi + 0x48]
vsubss xmm1, xmm0, dword [r15 + 0x94]
mov r8d, r14d
mov rcx, rbx
vmovss dword [rbx + 0x68], xmm1
call fcn.140052e90
cmp dword [rsi + 0x30], 0
mov r15d, r12d
vmovups ymm0, ymmword [r13 + 0x3cf0]
vmovups xmm2, xmmword [r13 + 0x3ae0]
vmovups ymmword [rbp - 0x30], ymm0
vmovups ymm0, ymmword [r13 + 0x3d10]
vmovups ymmword [rbp - 0x10], ymm0
vmovups xmm0, xmmword [r13 + 0x3d30]
vmovups xmmword [rbp + 0x10], xmm0
vmovups xmmword [rbp - 0x40], xmm2
mov qword [rsi + 0x90], r12
jle 0x140023f4e
vmovss xmm6, dword [0x140149d00]
mov r14, r12
lea r11, [0x14013f700]
lea r10, [0x14013f718]
nop dword [rax + rax]
cmp byte [rbp + 0xc8], 0
mov rax, qword [rsi + 0x38]
mov rdi, qword [r14 + rax]
jne 0x140023d6d
mov eax, dword [rsp + 0x38]
cmp eax, dword [rdi + 0xb8]
jne 0x140023d83
cmp byte [rdi + 0xfd], 0
je 0x140023d83
test dword [rdi + 0x14], 0x40000
je 0x140023f38
mov eax, dword [rdi + 0x2a0]
inc eax
cmp eax, dword [r13 + 0x4098]
jge 0x140023da0
mov eax, dword [rbp - 0x7c]
cmp dword [rbp - 0x78], eax
je 0x140023f38
mov edx, dword [rdi + 0x34]
mov r8, rdi
or edx, 1
test dword [rdi + 0x14], 0x40000
cmove edx, dword [rdi + 0x34]
mov r9d, edx
or r9d, 4
test byte [rbx + 0x10], 8
cmove r9d, edx
mov rdx, r11
sub r8, r11
nop dword [rax]
mov ecx, dword [r8 + rdx + 0x440]
vxorps xmm0, xmm0, xmm0
movzx eax, cl
vcvtsi2ss xmm0, xmm0, rax
vmulss xmm4, xmm0, xmm6
vxorps xmm0, xmm0, xmm0
mov eax, ecx
shr eax, 8
movzx eax, al
vcvtsi2ss xmm0, xmm0, rax
vmulss xmm3, xmm0, xmm6
mov eax, ecx
shr ecx, 0x18
shr eax, 0x10
movzx eax, al
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, rax
vmulss xmm2, xmm0, xmm6
mov eax, ecx
vinsertps xmm4, xmm4, xmm3, 0x10
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, rax
movsxd rax, dword [rdx]
add rdx, 4
add rax, 0x3ae
add rax, rax
vmulss xmm1, xmm0, xmm6
vinsertps xmm4, xmm4, xmm2, 0x20
vinsertps xmm4, xmm4, xmm1, 0x30
vmovups xmmword [r13 + rax*8], xmm4
vmovups xmmword [rsp + 0x50], xmm4
cmp rdx, r10
jl 0x140023dd0
cmp byte [rdi + 0xfd], 0
lea r8, [rbp + 0xc0]
mov rdx, qword [rdi + 8]
mov rcx, rbx
cmove r8, r12
mov byte [rbp + 0xc0], 1
mov qword [rsp + 0x20], rdi
vzeroupper
call fcn.140054c00
cmp byte [rbp + 0xc0], 0
jne 0x140023e9e
mov eax, dword [rdi + 0xb8]
mov dword [rsi + 0xc0], eax
mov eax, dword [rdi + 0xb8]
cmp dword [rbx + 0x20], eax
jne 0x140023eb0
mov qword [rsi + 0x90], rdi
mov eax, dword [r13 + 0x4af8]
mov dword [rdi + 0x46c], eax
vmovups xmm0, xmmword [r13 + 0x4afc]
vmovups xmmword [rdi + 0x470], xmm0
mov rax, qword [r13 + 0x4d00]
test rax, rax
je 0x140023f2a
cmp qword [rax + 0x3c0], rdi
jne 0x140023f2a
test byte [rdi + 0x19c], 2
lea r10, [0x14013f718]
lea r11, [0x14013f700]
jne 0x140023f38
mov rcx, qword [rbp + 0xb8]
mov eax, dword [rdi + 0xb8]
mov dword [rcx + 0x3fc], eax
jmp 0x140023f38
cdqe
imul rcx, rax, 0x38
add rcx, qword [rbx + 8]
je 0x140023bd9
mov dword [rbx + 0x1c], edx
mov dword [rbx + 0x18], edx
jmp 0x140023bfa
lea r11, [0x14013f700]
lea r10, [0x14013f718]
inc r15d
add r14, 8
cmp r15d, dword [rsi + 0x30]
jl 0x140023d50
vmovups xmm2, xmmword [rbp - 0x40]
vmovups ymm0, ymmword [rbp - 0x30]
vmovaps xmm6, xmmword [rsp + 0x150]
vmovups xmmword [r13 + 0x3ae0], xmm2
vmovups ymmword [r13 + 0x3cf0], ymm0
vmovups ymm0, ymmword [rbp - 0x10]
vmovups ymmword [r13 + 0x3d10], ymm0
vmovups xmm0, xmmword [rbp + 0x10]
vmovups xmmword [r13 + 0x3d30], xmm0
mov rax, qword [rsi + 0x90]
test rax, rax
je 0x140023fb5
cmp byte [rbp + 0xb0], 0
mov rcx, qword [rsp + 0x70]
jne 0x140023fae
cmp qword [rcx + 0x90], 0
jne 0x140023fb5
mov qword [rcx + 0x90], rax
movzx eax, byte [rsi + 0xcc]
and al, 8
je 0x140023fdd
mov rcx, qword [rsi + 0x90]
test rcx, rcx
je 0x140023fdd
cmp byte [rcx + 0xfd], 0
je 0x140023fdd
mov r14b, 1
jmp 0x1400240d4
test al, al
je 0x140024231
mov rdi, qword [0x1402ff138]
mov r15d, dword [rdi + 0x4ac4]
lea r14, [rdi + 0x4c28]
or r15d, 4
mov dword [rdi + 0x4ac4], r15d
mov ecx, dword [r14 + 4]
mov r8d, dword [r14]
cmp r8d, ecx
jne 0x140024044
inc r8d
test ecx, ecx
je 0x140024023
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x140024028
mov eax, 8
cmp eax, r8d
mov rcx, r14
cmovg r8d, eax
mov edx, r8d
vzeroupper
call fcn.14002a5a0
mov rdi, qword [0x1402ff138]
movsxd rcx, dword [r14]
lea rdx, [rbp - 0x60]
mov rax, qword [r14 + 8]
mov dword [rbp - 0x60], r12d
mov dword [rax + rcx*4], r15d
lea rcx, [rdi + 0x4be8]
inc dword [r14]
vmovss xmm0, dword [r13 + 0x3ae0]
vmovss xmm1, dword [r13 + 0x3ae4]
vmovss dword [rsp + 0x50], xmm0
vmovss xmm0, dword [r13 + 0x3ae8]
vmovss dword [rsp + 0x58], xmm0
vmovss dword [rsp + 0x54], xmm1
vmovss xmm1, dword [r13 + 0x3aec]
vmulss xmm0, xmm1, dword [0x140149d6c]
vmovss dword [rsp + 0x5c], xmm0
vmovups xmm0, xmmword [rdi + 0x3ae0]
vmovups xmmword [rbp - 0x5c], xmm0
vzeroupper
call fcn.140029c20
xor r14b, r14b
cmp dword [rdi + 0x4be4], 0
je 0x1400240d4
vmovups xmm0, xmmword [rsp + 0x50]
vmovups xmmword [rdi + 0x3ae0], xmm0
mov r15, qword [rbp + 0xb8]
lea rdx, [0x14013d7e9]
mov r8b, 0x23
movsxd rcx, dword [r15 + 0x130]
mov rax, qword [r15 + 0x138]
mov r9d, dword [rax + rcx*4 - 4]
not r9d
mov edi, r9d
nop
cmp r8b, 0x23
jne 0x140024113
cmp byte [rdx], r8b
jne 0x140024113
cmp byte [rdx + 1], r8b
cmove edi, r9d
movzx ecx, dil
movzx eax, r8b
movzx r8d, byte [rdx]
xor rcx, rax
shr edi, 8
lea rax, [0x14013f300]
inc rdx
xor edi, dword [rax + rcx*4]
test r8b, r8b
jne 0x140024100
mov rax, qword [r15]
not edi
cmp dword [rax + 0x418c], edi
jne 0x14002415a
lea r8, str.CLOSE
mov edx, 0xb
mov ecx, edi
vzeroupper
call fcn.140029170
lea rdx, [rsp + 0x78]
mov ecx, edi
vzeroupper
call fcn.140042c80
test al, al
je 0x1400241c8
or byte [rsi + 0xcc], 0x40
mov r8d, r12d
cmp dword [rbx], 0
jle 0x1400241c8
mov rcx, r12
nop
mov rdx, qword [rbx + 8]
mov eax, dword [rcx + rdx + 4]
bt eax, 0x15
jb 0x1400241bc
test eax, 0x101
mov eax, dword [rcx + rdx]
jne 0x1400241b4
mov byte [rcx + rdx + 0x30], 1
cmp dword [rbx + 0x20], eax
jne 0x1400241bc
mov dword [rcx + rdx + 0x10], 0xffffffff
mov qword [rbx + 0x18], 0
jmp 0x1400241bc
cmp dword [rbx + 0x20], eax
je 0x1400241bc
mov dword [rbx + 0x1c], eax
inc r8d
add rcx, 0x38
cmp r8d, dword [rbx]
jl 0x140024180
test r14b, r14b
jne 0x140024238
mov r9, qword [0x1402ff138]
movsxd rax, dword [r9 + 0x4be8]
cmp eax, 1
jl 0x14002420c
mov rcx, qword [r9 + 0x4bf0]
lea rdx, [rax + rax*4]
movsxd rax, dword [rcx + rdx*4 - 0x14]
vmovups xmm0, xmmword [rcx + rdx*4 - 0x10]
add rax, 0x3ae
add rax, rax
vmovups xmmword [r9 + rax*8], xmm0
dec dword [r9 + 0x4be8]
movsxd rcx, dword [r9 + 0x4c28]
lea eax, [rcx - 1]
mov dword [r9 + 0x4c28], eax
mov rax, qword [r9 + 0x4c30]
mov ecx, dword [rax + rcx*4 - 8]
mov dword [r9 + 0x4ac4], ecx
jmp 0x14002423f
mov r15, qword [rbp + 0xb8]
mov r9, qword [0x1402ff138]
movsxd rcx, dword [r15 + 0x130]
lea r8, [0x14013eb21]
mov rax, qword [r15 + 0x138]
mov dl, 0x23
mov r10d, dword [rax + rcx*4 - 4]
not r10d
mov edi, r10d
cmp dl, 0x23
jne 0x140024273
cmp byte [r8], dl
jne 0x140024273
cmp byte [r8 + 1], dl
cmove edi, r10d
movzx ecx, dil
movzx eax, dl
movzx edx, byte [r8]
xor rcx, rax
shr edi, 8
lea rax, [0x14013f300]
inc r8
xor edi, dword [rax + rcx*4]
test dl, dl
jne 0x140024261
mov rax, qword [r15]
not edi
cmp dword [rax + 0x418c], edi
jne 0x1400242bf
lea r8, str.TITLEBAR
mov edx, 0xb
mov ecx, edi
vzeroupper
call fcn.140029170
mov r9, qword [0x1402ff138]
mov eax, dword [r13 + 0x4190]
test eax, eax
je 0x1400242db
cmp eax, edi
je 0x1400242db
cmp dword [r13 + 0x41a4], edi
jne 0x14002439b
cmp dword [r9 + 0x41a4], edi
jne 0x1400242eb
mov dword [r9 + 0x41a8], edi
cmp dword [r9 + 0x41d4], edi
jne 0x1400242fc
mov byte [r9 + 0x41d8], 1
mov dword [rsp + 0x20], 0x1000
lea r9, [rbp + 0xb0]
xor r8d, r8d
lea rcx, [rsp + 0x60]
mov edx, edi
vzeroupper
call fcn.140041ea0
cmp dword [r13 + 0x4190], edi
jne 0x14002432d
mov dword [r13 + 0x4af0], edi
cmp byte [rbp + 0xb0], 0
je 0x14002439b
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.140013f20
test al, al
je 0x14002434d
mov eax, dword [rbx + 0x18]
mov dword [rsp + 0x34], eax
mov edx, dword [rbx + 0x18]
test edx, edx
je 0x14002439b
mov r8d, dword [rbx]
mov eax, r12d
test r8d, r8d
jle 0x14002439b
mov rcx, qword [rbx + 8]
cmp dword [rcx], edx
je 0x140024374
inc eax
add rcx, 0x38
cmp eax, r8d
jl 0x140024363
jmp 0x14002439b
cdqe
imul rcx, rax, 0x38
add rcx, qword [rbx + 8]
je 0x14002439b
mov rcx, qword [rcx + 8]
test rcx, rcx
jne 0x140024390
mov rcx, qword [rsi + 0x88]
xor r8d, r8d
mov rdx, rsi
call fcn.1400084c0
mov edx, dword [rbx + 0x1c]
test edx, edx
cmove edx, dword [rsp + 0x34]
test edx, edx
je 0x1400243f3
mov r8d, dword [rbx]
mov eax, r12d
test r8d, r8d
jle 0x1400243f3
mov rcx, qword [rbx + 8]
cmp dword [rcx], edx
je 0x1400243c9
inc eax
add rcx, 0x38
cmp eax, r8d
jl 0x1400243b8
jmp 0x1400243f3
cdqe
imul rdi, rax, 0x38
add rdi, qword [rbx + 8]
je 0x1400243f3
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x1400243f3
xor edx, edx
vzeroupper
call fcn.140012380
mov rcx, qword [rdi + 8]
xor edx, edx
call fcn.140019200
vzeroupper
call fcn.140053240
mov rax, qword [0x1402ff138]
mov rdi, qword [rsp + 0x178]
mov rbx, qword [rsp + 0x180]
mov rcx, qword [rax + 0x4140]
dec dword [rcx + 0x130]
mov eax, dword [rsi + 0x10]
shr eax, 0xa
test al, 1
jne 0x14002443c
movzx eax, byte [rsp + 0x30]
mov byte [r15 + 0xf8], al
mov dword [r15 + 0x198], r12d
mov r15, qword [rsp + 0x168]
mov r14, qword [rsp + 0x170]
add rsp, 0x188
pop r13
pop r12
pop rsi
pop rbp
ret
cmp dword [rsi + 0x30], 0
jle 0x140024467
mov rax, qword [rsi + 0x38]
mov r12, qword [rax]
and r8b, 0xfd
mov qword [rsi + 0x90], r12
movzx eax, r14b
add al, al
or r8b, al
mov byte [rsi + 0xcc], r8b
test r14b, r14b
je 0x140024494
mov eax, dword [r13 + 0x4098]
mov dword [rsi + 0xb4], eax
test r12, r12
je 0x140024444
test r14b, r14b
jne 0x1400244a8
cmp qword [rdx + 0x90], 0
jne 0x1400244af
mov qword [rdx + 0x90], r12
mov rdx, qword [rsi + 0x40]
test rdx, rdx
je 0x140024444
mov rax, qword [rsi + 0x90]
mov ecx, dword [rax + 0xb8]
mov dword [rdx + 0x20], ecx
jmp 0x140024444