Function at 0x140023270
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 0x1400232c5
mov byte [rbp + 0xc8], 1
cmp eax, ecx
je 0x1400232cc
mov byte [rbp + 0xc8], 0
xor r12d, r12d
cmp dword [rsi + 0xc0], r12d
je 0x1400232e4
mov dword [rsp + 0x38], 1
cmp eax, ecx
je 0x1400232e9
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 0x140023323
nop dword [rax]
mov qword [rsp + 0x70], rax
mov rax, qword [rax + 0x18]
test rax, rax
jne 0x140023310
mov rdx, qword [rsp + 0x70]
mov rax, qword [r13 + 0x4ef8]
mov qword [rsp + 0x170], r14
test rax, rax
je 0x140023347
cmp qword [rax + 0x458], rsi
sete r14b
jmp 0x1400233f7
mov rcx, qword [r13 + 0x4d00]
test rcx, rcx
je 0x1400233f4
mov eax, dword [rsi]
cmp dword [rdx + 0xb8], eax
jne 0x1400233f4
mov rcx, qword [rcx + 0x3c0]
test dword [rcx + 0x14], 0x10000000
je 0x140023397
nop word [rax + rax]
mov rax, qword [rcx + 0x3b0]
mov rcx, qword [rax + 0x3c0]
test dword [rcx + 0x14], 0x10000000
jne 0x140023380
mov rax, qword [rcx + 0x460]
test rax, rax
jne 0x1400233b0
mov rax, qword [rcx + 0x458]
test rax, rax
je 0x1400233f4
nop
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x1400233cc
nop dword [rax]
mov rax, rcx
mov rcx, qword [rcx + 0x18]
test rcx, rcx
jne 0x1400233c0
cmp rax, rdx
je 0x1400235b5
mov rax, qword [rax + 0x88]
test rax, rax
je 0x1400233f4
mov rax, qword [rax + 0x3c0]
mov rax, qword [rax + 0x458]
test rax, rax
jne 0x1400233b0
xor r14b, r14b
mov eax, dword [rsi + 0x10]
test eax, 0x3000
jne 0x1400244aa
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 0x140023467
mov byte [r9 + 0xf8], 0
mov dword [r9 + 0x198], 1
mov ecx, dword [rsi]
call fcn.1400132c0
mov rax, qword [rsi + 0x40]
mov qword [rsp + 0x50], rax
mov rbx, rax
test rax, rax
jne 0x14002348b
mov rcx, rsi
call fcn.140024520
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 0x1400235bd
cmp dword [r13 + 0x3a20], 0xffffffff
je 0x1400235bd
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 0x140023513
cmp byte [rdx], r8b
jne 0x140023513
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 0x140023500
mov rax, qword [r10]
not edi
cmp dword [rax + 0x418c], edi
jne 0x140023551
lea r8, str.WindowMenu
mov edx, 0xb
mov ecx, edi
call fcn.1400291c0
mov rdx, qword [0x1402ff138]
movsxd rax, dword [rdx + 0x4c58]
cmp dword [rdx + 0x4c48], eax
jle 0x1400235c4
imul rcx, rax, 0x38
mov rax, qword [rdx + 0x4c50]
cmp dword [rcx + rax], edi
jne 0x1400235c4
mov edi, dword [rbx + 0x1c]
mov rdx, rbx
mov rcx, rsi
call fcn.1400230f0
mov eax, dword [rbx + 0x1c]
test eax, eax
je 0x14002359a
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 0x1400235cb
mov r14b, 1
jmp 0x1400233f7
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 0x140023697
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 0x1400236d8
cmp dword [rcx + 0x3a20], 0
jne 0x1400236b9
vaddss xmm0, xmm5, dword [rcx + 0x3a4c]
vaddss xmm1, xmm0, xmm3
vmovss dword [rsp + 0x40], xmm1
jmp 0x1400236d8
cmp dword [rcx + 0x3a20], 1
jne 0x1400236d8
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 0x140023773
mov rdi, r12
mov rax, qword [rsi + 0x38]
mov r9, qword [rdi + rax]
mov r8d, dword [r9 + 0xb8]
test r8d, r8d
je 0x14002373e
mov edx, dword [rbx]
mov eax, r12d
test edx, edx
jle 0x14002373e
mov rcx, qword [rbx + 8]
cmp dword [rcx], r8d
je 0x140023732
inc eax
add rcx, 0x38
cmp eax, edx
jl 0x140023721
jmp 0x14002373e
cdqe
imul rcx, rax, 0x38
add rcx, qword [rbx + 8]
jne 0x14002374e
mov r8, r9
mov edx, 0x400000
mov rcx, rbx
call fcn.140054410
inc r14d
add rdi, 8
cmp r14d, dword [rsi + 0x30]
jl 0x140023700
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 0x140023792
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 0x1400237aa
mov ecx, 0xc
jmp 0x1400237b6
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.140003e00
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 0x140023865
test cl, cl
je 0x140023865
mov r8d, 0x110
jmp 0x14002386f
mov r8d, 0x100
test dl, dl
je 0x140023879
mov edx, 0x20
test r9b, r9b
jne 0x14002387c
mov edx, r12d
test al, al
je 0x14002388b
test cl, cl
je 0x14002388b
mov ecx, 0x40
jmp 0x140023892
mov ecx, r12d
test al, al
je 0x14002389c
mov eax, 0x80
test r9b, r9b
jne 0x14002389f
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.140034d20
cmp byte [rbp + 0xc0], 0
je 0x140023a87
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 0x140023923
cmp byte [rdx], r8b
jne 0x140023923
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 0x140023910
mov rax, qword [r14]
not edi
cmp dword [rax + 0x418c], edi
jne 0x140023961
lea r8, str.COLLAPSE
mov edx, 0xb
mov ecx, edi
call fcn.1400291c0
mov r8, rsi
lea rdx, [rsp + 0x40]
mov ecx, edi
call fcn.140043020
test al, al
je 0x140023a1e
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 0x1400239b3
cmp byte [r15], dl
jne 0x1400239b3
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 0x1400239a1
mov rax, qword [r9]
not edi
cmp dword [rax + 0x418c], edi
jne 0x1400239f5
lea r8, str.WindowMenu
mov edx, 0xb
mov ecx, edi
call fcn.1400291c0
test byte [r14 + 0x6294], 4
je 0x140023a15
mov r8d, edi
lea rdx, str.WindowMenu
lea rcx, str._popup__OpenPopup___s_____0x_08X__n
call fcn.140028e00
xor edx, edx
mov ecx, edi
call fcn.140017550
mov rax, qword [0x1402ff138]
mov ecx, dword [rax + 0x41a4]
test ecx, ecx
je 0x140023a3e
cmp ecx, dword [rax + 0x4af0]
jne 0x140023a3e
mov eax, dword [rbx + 0x18]
mov dword [rsp + 0x34], eax
mov ecx, 0x11000
call fcn.140007ce0
test al, al
je 0x140023a87
vmovss xmm0, dword [0x140149d7c]
vcomiss xmm0, dword [r13 + 0x419c]
jae 0x140023a87
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.140017360
mov edi, dword [rbx]
lea ecx, [rdi - 1]
test ecx, ecx
js 0x140023ac3
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 0x140023ac3
btr eax, 0x16
mov edi, ecx
mov dword [r8 + rdx + 4], eax
sub rdx, 0x38
sub ecx, 1
jns 0x140023aa0
mov r8d, dword [rbx]
cmp r8d, edi
jle 0x140023bd0
test dword [r13 + 0x6294], 0x100
je 0x140023b05
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.140028e00
mov r15d, edi
cmp edi, dword [rbx]
jge 0x140023b65
movsxd rax, edi
imul r14, rax, 0x38
mov rdx, qword [rbx + 8]
add rdx, r14
test dword [r13 + 0x6294], 0x100
je 0x140023b59
mov rax, qword [rdx + 8]
test rax, rax
je 0x140023b3a
movsx r9d, word [rax + 0x43e]
jmp 0x140023b40
mov r9d, 0xffffffff
mov rcx, rbx
call fcn.1400543e0
mov edx, dword [rdx]
lea rcx, str._docking____Tab_0x_08X__s_Order__d_n
mov r8, rax
call fcn.140028e00
inc r15d
add r14, 0x38
cmp r15d, dword [rbx]
jl 0x140023b13
test dword [r13 + 0x6294], 0x100
je 0x140023b9f
mov rax, qword [r13 + 0x4d00]
test rax, rax
je 0x140023b87
mov r8d, dword [rax + 0xb8]
jmp 0x140023b8d
mov r8d, 0xffffffff
mov edx, dword [rsi + 0xbc]
lea rcx, str._docking__SelectedTabId__0x_08X__NavWindow__TabId__0x_08X_n
call fcn.140028e00
mov ecx, dword [rbx]
lea eax, [rdi + 1]
cmp ecx, eax
jle 0x140023bd0
sub ecx, edi
movsxd rdx, ecx
cmp rdx, 1
jbe 0x140023bd0
movsxd rax, edi
lea r9, [0x140022f60]
imul rcx, rax, 0x38
mov r8d, 0x38
add rcx, qword [rbx + 8]
call fcn.1400ed4e0
mov rax, qword [r13 + 0x4d00]
test rax, rax
je 0x140023bf5
mov rax, qword [rax + 0x3c0]
cmp qword [rax + 0x458], rsi
jne 0x140023bf5
mov eax, dword [rax + 0xb8]
mov dword [rbx + 0x18], eax
cmp qword [rsp + 0x50], 0
jne 0x140023c29
mov edx, dword [rsi + 0xbc]
test edx, edx
je 0x140023c29
mov r8d, dword [rbx]
mov eax, r12d
test r8d, r8d
jle 0x140023c29
mov rcx, qword [rbx + 8]
cmp dword [rcx], edx
je 0x140023f5f
inc eax
add rcx, 0x38
cmp eax, r8d
jl 0x140023c16
movsxd rax, dword [rbx]
cmp eax, dword [rbp - 0x80]
jle 0x140023c4a
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 0x140023c71
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 0x140023cb5
cmp byte [rdx], r8b
jne 0x140023cb5
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 0x140023ca2
mov rax, qword [r10]
not edi
cmp dword [rax + 0x418c], edi
jne 0x140023cf9
lea r8, str.TabBar
mov edx, 0xb
mov ecx, edi
call fcn.1400291c0
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.140052ee0
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 0x140023f9e
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 0x140023dbd
mov eax, dword [rsp + 0x38]
cmp eax, dword [rdi + 0xb8]
jne 0x140023dd3
cmp byte [rdi + 0xfd], 0
je 0x140023dd3
test dword [rdi + 0x14], 0x40000
je 0x140023f88
mov eax, dword [rdi + 0x2a0]
inc eax
cmp eax, dword [r13 + 0x4098]
jge 0x140023df0
mov eax, dword [rbp - 0x7c]
cmp dword [rbp - 0x78], eax
je 0x140023f88
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 0x140023e20
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.140054c50
cmp byte [rbp + 0xc0], 0
jne 0x140023eee
mov eax, dword [rdi + 0xb8]
mov dword [rsi + 0xc0], eax
mov eax, dword [rdi + 0xb8]
cmp dword [rbx + 0x20], eax
jne 0x140023f00
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 0x140023f7a
cmp qword [rax + 0x3c0], rdi
jne 0x140023f7a
test byte [rdi + 0x19c], 2
lea r10, [0x14013f718]
lea r11, [0x14013f700]
jne 0x140023f88
mov rcx, qword [rbp + 0xb8]
mov eax, dword [rdi + 0xb8]
mov dword [rcx + 0x3fc], eax
jmp 0x140023f88
cdqe
imul rcx, rax, 0x38
add rcx, qword [rbx + 8]
je 0x140023c29
mov dword [rbx + 0x1c], edx
mov dword [rbx + 0x18], edx
jmp 0x140023c4a
lea r11, [0x14013f700]
lea r10, [0x14013f718]
inc r15d
add r14, 8
cmp r15d, dword [rsi + 0x30]
jl 0x140023da0
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 0x140024005
cmp byte [rbp + 0xb0], 0
mov rcx, qword [rsp + 0x70]
jne 0x140023ffe
cmp qword [rcx + 0x90], 0
jne 0x140024005
mov qword [rcx + 0x90], rax
movzx eax, byte [rsi + 0xcc]
and al, 8
je 0x14002402d
mov rcx, qword [rsi + 0x90]
test rcx, rcx
je 0x14002402d
cmp byte [rcx + 0xfd], 0
je 0x14002402d
mov r14b, 1
jmp 0x140024124
test al, al
je 0x140024281
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 0x140024094
inc r8d
test ecx, ecx
je 0x140024073
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x140024078
mov eax, 8
cmp eax, r8d
mov rcx, r14
cmovg r8d, eax
mov edx, r8d
vzeroupper
call fcn.14002a5f0
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.140029c70
xor r14b, r14b
cmp dword [rdi + 0x4be4], 0
je 0x140024124
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 0x140024163
cmp byte [rdx], r8b
jne 0x140024163
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 0x140024150
mov rax, qword [r15]
not edi
cmp dword [rax + 0x418c], edi
jne 0x1400241aa
lea r8, str.CLOSE
mov edx, 0xb
mov ecx, edi
vzeroupper
call fcn.1400291c0
lea rdx, [rsp + 0x78]
mov ecx, edi
vzeroupper
call fcn.140042cd0
test al, al
je 0x140024218
or byte [rsi + 0xcc], 0x40
mov r8d, r12d
cmp dword [rbx], 0
jle 0x140024218
mov rcx, r12
nop
mov rdx, qword [rbx + 8]
mov eax, dword [rcx + rdx + 4]
bt eax, 0x15
jb 0x14002420c
test eax, 0x101
mov eax, dword [rcx + rdx]
jne 0x140024204
mov byte [rcx + rdx + 0x30], 1
cmp dword [rbx + 0x20], eax
jne 0x14002420c
mov dword [rcx + rdx + 0x10], 0xffffffff
mov qword [rbx + 0x18], 0
jmp 0x14002420c
cmp dword [rbx + 0x20], eax
je 0x14002420c
mov dword [rbx + 0x1c], eax
inc r8d
add rcx, 0x38
cmp r8d, dword [rbx]
jl 0x1400241d0
test r14b, r14b
jne 0x140024288
mov r9, qword [0x1402ff138]
movsxd rax, dword [r9 + 0x4be8]
cmp eax, 1
jl 0x14002425c
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 0x14002428f
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 0x1400242c3
cmp byte [r8], dl
jne 0x1400242c3
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 0x1400242b1
mov rax, qword [r15]
not edi
cmp dword [rax + 0x418c], edi
jne 0x14002430f
lea r8, str.TITLEBAR
mov edx, 0xb
mov ecx, edi
vzeroupper
call fcn.1400291c0
mov r9, qword [0x1402ff138]
mov eax, dword [r13 + 0x4190]
test eax, eax
je 0x14002432b
cmp eax, edi
je 0x14002432b
cmp dword [r13 + 0x41a4], edi
jne 0x1400243eb
cmp dword [r9 + 0x41a4], edi
jne 0x14002433b
mov dword [r9 + 0x41a8], edi
cmp dword [r9 + 0x41d4], edi
jne 0x14002434c
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.140041ef0
cmp dword [r13 + 0x4190], edi
jne 0x14002437d
mov dword [r13 + 0x4af0], edi
cmp byte [rbp + 0xb0], 0
je 0x1400243eb
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.140013f70
test al, al
je 0x14002439d
mov eax, dword [rbx + 0x18]
mov dword [rsp + 0x34], eax
mov edx, dword [rbx + 0x18]
test edx, edx
je 0x1400243eb
mov r8d, dword [rbx]
mov eax, r12d
test r8d, r8d
jle 0x1400243eb
mov rcx, qword [rbx + 8]
cmp dword [rcx], edx
je 0x1400243c4
inc eax
add rcx, 0x38
cmp eax, r8d
jl 0x1400243b3
jmp 0x1400243eb
cdqe
imul rcx, rax, 0x38
add rcx, qword [rbx + 8]
je 0x1400243eb
mov rcx, qword [rcx + 8]
test rcx, rcx
jne 0x1400243e0
mov rcx, qword [rsi + 0x88]
xor r8d, r8d
mov rdx, rsi
call fcn.140008510
mov edx, dword [rbx + 0x1c]
test edx, edx
cmove edx, dword [rsp + 0x34]
test edx, edx
je 0x140024443
mov r8d, dword [rbx]
mov eax, r12d
test r8d, r8d
jle 0x140024443
mov rcx, qword [rbx + 8]
cmp dword [rcx], edx
je 0x140024419
inc eax
add rcx, 0x38
cmp eax, r8d
jl 0x140024408
jmp 0x140024443
cdqe
imul rdi, rax, 0x38
add rdi, qword [rbx + 8]
je 0x140024443
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x140024443
xor edx, edx
vzeroupper
call fcn.1400123d0
mov rcx, qword [rdi + 8]
xor edx, edx
call fcn.140019250
vzeroupper
call fcn.140053290
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 0x14002448c
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 0x1400244b7
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 0x1400244e4
mov eax, dword [r13 + 0x4098]
mov dword [rsi + 0xb4], eax
test r12, r12
je 0x140024494
test r14b, r14b
jne 0x1400244f8
cmp qword [rdx + 0x90], 0
jne 0x1400244ff
mov qword [rdx + 0x90], r12
mov rdx, qword [rsi + 0x40]
test rdx, rdx
je 0x140024494
mov rax, qword [rsi + 0x90]
mov ecx, dword [rax + 0xb8]
mov dword [rdx + 0x20], ecx
jmp 0x140024494