Function at 0x140023370
Capabilities:
Hash data with crc32
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x10], rdx
push rbp
push rdi
push r12
push r13
push r14
lea rbp, [rsp - 0x70]
sub rsp, 0x170
mov eax, dword [rcx + 0xb0]
mov rdi, rcx
mov r14, qword [0x1402f8248]
inc eax
mov r13, rdx
mov dword [rbp - 0x80], eax
movzx r8d, byte [rdi + 0xcc]
mov ecx, dword [r14 + 0x4098]
mov dword [rsp + 0x7c], ecx
test r8b, 0x40
je 0x1400233c5
mov byte [rbp + 0xb8], 1
cmp eax, ecx
je 0x1400233cc
mov byte [rbp + 0xb8], 0
xor r12d, r12d
cmp dword [rdi + 0xc0], r12d
je 0x1400233e4
mov dword [rsp + 0x4c], 1
cmp eax, ecx
je 0x1400233e9
mov dword [rsp + 0x4c], r12d
and r8b, 0xbf
mov dword [rdi + 0xc0], r12d
mov byte [rdi + 0xcc], r8b
mov rdx, rdi
mov rax, qword [rdi + 0x18]
mov qword [rsp + 0x68], rdx
test rax, rax
je 0x14002342a
nop dword [rax]
mov qword [rsp + 0x68], rax
mov rax, qword [rax + 0x18]
test rax, rax
jne 0x140023410
mov r13, qword [rbp + 0xa8]
mov rdx, qword [rsp + 0x68]
mov rax, qword [r14 + 0x4ef8]
mov qword [rsp + 0x160], rsi
test rax, rax
je 0x14002344e
cmp qword [rax + 0x458], rdi
sete sil
jmp 0x1400234f7
mov rcx, qword [r14 + 0x4d00]
test rcx, rcx
je 0x1400234f4
mov eax, dword [rdi]
cmp dword [rdx + 0xb8], eax
jne 0x1400234f4
mov rcx, qword [rcx + 0x3c0]
test dword [rcx + 0x14], 0x10000000
je 0x140023497
nop dword [rax]
mov rax, qword [rcx + 0x3b0]
mov rcx, qword [rax + 0x3c0]
test dword [rcx + 0x14], 0x10000000
jne 0x140023480
mov rax, qword [rcx + 0x460]
test rax, rax
jne 0x1400234b0
mov rax, qword [rcx + 0x458]
test rax, rax
je 0x1400234f4
nop
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x1400234cc
nop dword [rax]
mov rax, rcx
mov rcx, qword [rcx + 0x18]
test rcx, rcx
jne 0x1400234c0
cmp rax, rdx
je 0x1400236be
mov rax, qword [rax + 0x88]
test rax, rax
je 0x1400234f4
mov rax, qword [rax + 0x3c0]
mov rax, qword [rax + 0x458]
test rax, rax
jne 0x1400234b0
xor sil, sil
mov ecx, dword [rdi + 0x10]
mov eax, ecx
shr eax, 0xd
mov byte [rbp + 0xa0], sil
test al, 1
jne 0x1400247ca
mov eax, ecx
shr eax, 0xc
test al, 1
jne 0x1400247ca
movzx eax, byte [r13 + 0xf8]
mov qword [rsp + 0x168], rbx
mov qword [rsp + 0x158], r15
vmovaps xmmword [rsp + 0x140], xmm6
vmovaps xmmword [rsp + 0x130], xmm7
shr ecx, 0xa
mov byte [rsp + 0x40], al
vmovaps xmmword [rsp + 0x120], xmm8
vmovaps xmmword [rsp + 0x110], xmm9
test cl, 1
jne 0x140023575
mov byte [r13 + 0xf8], r12b
mov dword [r13 + 0x198], 1
mov ecx, dword [rdi]
call fcn.140013630
mov rax, qword [rdi + 0x40]
mov qword [rbp - 0x78], rax
mov rbx, rax
test rax, rax
jne 0x140023598
mov rcx, rdi
call fcn.140024850
mov rbx, qword [rdi + 0x40]
and byte [rdi + 0xcc], 0xfd
lea r15, [0x140138bd9]
movzx eax, sil
mov dword [rsp + 0x48], r12d
add al, al
lea r11, [0x140139480]
or byte [rdi + 0xcc], al
test dword [rdi + 0x10], 0x4000
jne 0x1400236d5
cmp dword [r14 + 0x3a20], 0xffffffff
je 0x1400236d5
mov rax, qword [0x1402f8248]
mov rdx, r15
mov byte [rbp + 0xb0], 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 esi, r9d
nop dword [rax]
cmp r8b, 0x23
jne 0x140023623
cmp byte [rdx], r8b
jne 0x140023623
cmp byte [rdx + 1], r8b
cmove esi, r9d
movzx ecx, sil
movzx eax, r8b
movzx r8d, byte [rdx]
xor rcx, rax
shr esi, 8
inc rdx
xor esi, dword [r11 + rcx*4]
test r8b, r8b
jne 0x140023610
mov rax, qword [r10]
not esi
cmp dword [rax + 0x418c], esi
jne 0x140023661
lea r8, str.WindowMenu
mov edx, 0xb
mov ecx, esi
call fcn.140029760
mov rdx, qword [0x1402f8248]
movsxd rax, dword [rdx + 0x4c58]
cmp dword [rdx + 0x4c48], eax
jle 0x1400236c6
imul rcx, rax, 0x38
mov rax, qword [rdx + 0x4c50]
cmp dword [rcx + rax], esi
jne 0x1400236c6
mov esi, dword [rbx + 0x1c]
mov rdx, rbx
mov rcx, rdi
call fcn.1400231f0
mov eax, dword [rbx + 0x1c]
test eax, eax
je 0x1400236aa
cmp eax, esi
mov r8d, r12d
cmovne r8d, eax
mov dword [rsp + 0x48], r8d
movzx edx, byte [rdi + 0xcc]
shr dl, 1
and dl, 1
or byte [rbp + 0xa0], dl
jmp 0x1400236e3
mov sil, 1
jmp 0x1400234f7
movzx edx, byte [rbp + 0xa0]
mov byte [rbp + 0xa0], dl
jmp 0x1400236e3
mov byte [rbp + 0xb0], r12b
mov byte [rbp + 0xa0], sil
mov rax, qword [0x1402f8248]
vmovss xmm6, dword [rdi + 0x4c]
vmovss xmm7, dword [rdi + 0x48]
vaddss xmm8, xmm7, dword [rdi + 0x50]
vaddss xmm1, xmm6, dword [rax + 0x3e78]
movzx edx, byte [rdi + 0xcc]
vxorps xmm0, xmm0, xmm0
vmovss dword [rsp + 0x70], xmm0
vmovss dword [rsp + 0x74], xmm0
vmovss xmm0, dword [rax + 0x3a38]
vaddss xmm2, xmm0, xmm0
vaddss xmm9, xmm2, xmm1
vmovss dword [rsp + 0x64], xmm9
vmovss dword [rsp + 0x58], xmm7
vmovss dword [rsp + 0x5c], xmm6
vmovss dword [rsp + 0x60], xmm8
vmovss xmm2, dword [rax + 0x3a0c]
vmovss xmm1, dword [rax + 0x3a34]
vmovss xmm5, dword [rax + 0x3e78]
vaddss xmm0, xmm2, xmm7
vaddss xmm3, xmm0, xmm1
vsubss xmm0, xmm8, xmm2
vaddss xmm2, xmm6, dword [rax + 0x3a38]
vsubss xmm4, xmm0, xmm1
vmovss dword [rsp + 0x38], xmm4
vmovss dword [rsp + 0x34], xmm6
vmovss dword [rsp + 0x3c], xmm9
vmovss dword [rsp + 0x30], xmm3
test dl, 8
je 0x1400237af
vsubss xmm0, xmm4, xmm5
vmovss dword [rsp + 0x70], xmm0
vaddss xmm0, xmm5, dword [rax + 0x3a4c]
vsubss xmm4, xmm4, xmm0
vmovss dword [rsp + 0x38], xmm4
vmovss dword [rsp + 0x74], xmm2
test dl, 0x10
je 0x1400237f0
cmp dword [rax + 0x3a20], r12d
jne 0x1400237d1
vaddss xmm0, xmm5, dword [rax + 0x3a4c]
vaddss xmm1, xmm0, xmm3
vmovss dword [rsp + 0x30], xmm1
jmp 0x1400237f0
cmp dword [rax + 0x3a20], 1
jne 0x1400237f0
vaddss xmm0, xmm5, dword [rax + 0x3a4c]
vsubss xmm1, xmm4, xmm0
vmovss dword [rsp + 0x38], xmm1
vsubss xmm3, xmm4, xmm5
vmovups xmm0, xmmword [rsp + 0x30]
mov eax, dword [rbx]
vmovups xmmword [rbp - 0x70], xmm0
vmovss dword [rsp + 0x50], xmm3
vmovss dword [rsp + 0x54], xmm2
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x44], r12d
cmp dword [rdi + 0x30], r12d
jle 0x140023899
mov rsi, r12
nop
mov rax, qword [rdi + 0x38]
mov r9, qword [rsi + rax]
mov r8d, dword [r9 + 0xb8]
test r8d, r8d
je 0x14002385e
mov edx, dword [rbx]
mov eax, r12d
test edx, edx
jle 0x14002385e
mov rcx, qword [rbx + 8]
cmp dword [rcx], r8d
je 0x140023852
inc eax
add rcx, 0x38
cmp eax, edx
jl 0x140023841
jmp 0x14002385e
cdqe
imul rcx, rax, 0x38
add rcx, qword [rbx + 8]
jne 0x14002386e
mov r8, r9
mov edx, 0x400000
mov rcx, rbx
call fcn.140053bf0
mov ecx, dword [rsp + 0x44]
add rsi, 8
inc ecx
mov dword [rsp + 0x44], ecx
cmp ecx, dword [rdi + 0x30]
jl 0x140023820
vmovss xmm9, dword [rsp + 0x64]
vmovss xmm8, dword [rsp + 0x60]
vmovss xmm6, dword [rsp + 0x5c]
vmovss xmm7, dword [rsp + 0x58]
movzx eax, byte [rbp + 0xa0]
test al, al
je 0x1400238b8
mov eax, dword [r14 + 0x4098]
mov dword [rdi + 0xb4], eax
movzx eax, byte [rbp + 0xa0]
cmp byte [r13 + 0xf6], r12b
je 0x1400238c8
mov ecx, 0xc
jmp 0x1400238d4
test al, al
mov rcx, r12
setne cl
add rcx, 0xa
mov rax, qword [0x1402f8248]
add rcx, rcx
vmovups xmm0, xmmword [rax + rcx*8 + 0x3ae0]
vmovups xmmword [rsp + 0x30], xmm0
vshufps xmm0, xmm0, xmm0, 0xff
vmulss xmm0, xmm0, dword [rax + 0x39f8]
lea rcx, [rsp + 0x30]
vmovss dword [rsp + 0x3c], xmm0
call fcn.140004140
vmovss xmm3, dword [r14 + 0x3acc]
vmovss xmm1, dword [r13 + 0x58]
vmovss xmm2, dword [r13 + 0x5c]
vaddss xmm0, xmm3, xmm1
vcomiss xmm0, xmm7
vaddss xmm0, xmm1, dword [r13 + 0x60]
vmovaps xmm7, xmmword [rsp + 0x130]
vsubss xmm1, xmm0, xmm3
setae cl
mov r11d, eax
vcomiss xmm8, xmm1
vmovaps xmm8, xmmword [rsp + 0x120]
setae r10b
vaddss xmm0, xmm3, xmm2
vcomiss xmm0, xmm6
vaddss xmm0, xmm2, dword [r13 + 0x64]
setae dl
vsubss xmm1, xmm0, xmm3
vcomiss xmm9, xmm1
vmovaps xmm9, xmmword [rsp + 0x110]
setae r9b
test dl, dl
je 0x140023986
test cl, cl
je 0x140023986
mov eax, 0x10
jmp 0x14002398d
mov eax, r12d
test dl, dl
je 0x140023998
mov r8d, 0x120
test r10b, r10b
jne 0x14002399e
mov r8d, 0x100
test r9b, r9b
je 0x1400239ae
test cl, cl
je 0x1400239ae
mov edx, 0x40
jmp 0x1400239b6
mov edx, r12d
test r9b, r9b
je 0x1400239c0
mov ecx, 0x80
test r10b, r10b
jne 0x1400239c3
mov ecx, r12d
vmovss xmm0, dword [r13 + 0x90]
or eax, ecx
mov r9d, r11d
mov rcx, qword [r13 + 0x2e0]
or eax, edx
or eax, r8d
lea rdx, [rsp + 0x58]
mov dword [rsp + 0x28], eax
lea r8, [rsp + 0x60]
vmovss dword [rsp + 0x20], xmm0
call fcn.140034af0
cmp byte [rbp + 0xb0], r12b
je 0x140023bbc
movsxd rcx, dword [r13 + 0x130]
lea rdx, [0x1401375d9]
mov rax, qword [r13 + 0x138]
lea r10, [0x140139480]
mov r8b, 0x23
mov r9d, dword [rax + rcx*4 - 4]
not r9d
mov esi, r9d
nop dword [rax]
cmp r8b, 0x23
jne 0x140023a43
cmp byte [rdx], r8b
jne 0x140023a43
cmp byte [rdx + 1], r8b
cmove esi, r9d
movzx ecx, sil
movzx eax, r8b
movzx r8d, byte [rdx]
xor rcx, rax
shr esi, 8
inc rdx
xor esi, dword [r10 + rcx*4]
test r8b, r8b
jne 0x140023a30
mov rax, qword [r13]
not esi
cmp dword [rax + 0x418c], esi
jne 0x140023a82
lea r8, str.COLLAPSE
mov edx, 0xb
mov ecx, esi
call fcn.140029760
mov r8, rdi
lea rdx, [rsp + 0x50]
mov ecx, esi
call fcn.140042970
test al, al
je 0x140023b53
mov rax, qword [0x1402f8248]
mov dl, 0x23
mov qword [rbp + 0xb0], rax
mov r9, qword [rax + 0x4140]
movsxd rcx, dword [r9 + 0x130]
mov rax, qword [r9 + 0x138]
mov r8d, dword [rax + rcx*4 - 4]
not r8d
mov esi, r8d
nop dword [rax]
cmp dl, 0x23
jne 0x140023ae2
cmp byte [r15], dl
jne 0x140023ae2
cmp byte [r15 + 1], dl
cmove esi, r8d
movzx ecx, sil
movzx eax, dl
movzx edx, byte [r15]
xor rcx, rax
shr esi, 8
lea rax, [0x140139480]
inc r15
xor esi, dword [rax + rcx*4]
test dl, dl
jne 0x140023ad0
mov rax, qword [r9]
not esi
cmp dword [rax + 0x418c], esi
jne 0x140023b24
lea r8, str.WindowMenu
mov edx, 0xb
mov ecx, esi
call fcn.140029760
mov rax, qword [rbp + 0xb0]
test byte [rax + 0x6294], 4
je 0x140023b4a
mov r8d, esi
lea rdx, str.WindowMenu
lea rcx, str._popup__OpenPopup___s_____0x_08X__n
call fcn.140029340
xor edx, edx
mov ecx, esi
call fcn.140017820
mov rax, qword [0x1402f8248]
mov ecx, dword [rax + 0x41a4]
test ecx, ecx
je 0x140023b73
cmp ecx, dword [rax + 0x4af0]
jne 0x140023b73
mov eax, dword [rbx + 0x18]
mov dword [rsp + 0x48], eax
mov ecx, 0x11000
call fcn.140007fd0
test al, al
je 0x140023bbc
vmovss xmm0, dword [0x1401441f4]
vcomiss xmm0, dword [r14 + 0x419c]
jae 0x140023bbc
mov rax, qword [0x1402f8248]
lea rdx, str.Missing_Text
mov rcx, qword [rax + 0x6248]
test rcx, rcx
cmovne rdx, rcx
lea rcx, [0x140138be4]
call fcn.140017630
mov r15d, dword [rbx]
lea ecx, [r15 - 1]
test ecx, ecx
js 0x140023bf4
movsxd rax, ecx
imul rdx, rax, 0x38
nop
mov r8, qword [rbx + 8]
mov eax, dword [r8 + rdx + 4]
bt eax, 0x16
jae 0x140023bf4
btr eax, 0x16
mov r15d, ecx
mov dword [r8 + rdx + 4], eax
sub rdx, 0x38
sub ecx, 1
jns 0x140023bd0
mov r8d, dword [rbx]
cmp r8d, r15d
jle 0x140023d2e
test dword [r14 + 0x6294], 0x100
je 0x140023c37
mov edx, dword [rdi]
lea eax, [r15 + 1]
cmp r8d, eax
lea rcx, str.__will_sort_
lea r9, [0x14013760f]
cmovg r9, rcx
sub r8d, r15d
lea rcx, str._docking__In_node_0x_08X:__d_new_appearing_tabs:_s_n
call fcn.140029340
mov ecx, r15d
mov dword [rbp + 0xb0], ecx
cmp r15d, dword [rbx]
jge 0x140023cc1
movsxd rax, r15d
imul rsi, rax, 0x38
test dword [r14 + 0x6294], 0x100
mov rdx, qword [rbx + 8]
je 0x140023cb1
mov rax, qword [rsi + rdx + 8]
test rax, rax
je 0x140023c79
mov r8, qword [rax + 8]
movsx r9d, word [rax + 0x43e]
jmp 0x140023c9c
movsxd rax, dword [rsi + rdx + 0x28]
mov r9d, 0xffffffff
cmp eax, r9d
jne 0x140023c92
lea r8, [0x140137fb4]
jmp 0x140023c9c
mov r8, rax
add r8, qword [rbx + 0x98]
mov edx, dword [rsi + rdx]
lea rcx, str._docking____Tab_0x_08X__s_Order__d_n
call fcn.140029340
mov ecx, dword [rbp + 0xb0]
inc ecx
add rsi, 0x38
mov dword [rbp + 0xb0], ecx
cmp ecx, dword [rbx]
jl 0x140023c50
test dword [r14 + 0x6294], 0x100
je 0x140023cfb
mov rax, qword [r14 + 0x4d00]
test rax, rax
je 0x140023ce3
mov r8d, dword [rax + 0xb8]
jmp 0x140023ce9
mov r8d, 0xffffffff
mov edx, dword [rdi + 0xbc]
lea rcx, str._docking__SelectedTabId__0x_08X__NavWindow__TabId__0x_08X_n
call fcn.140029340
mov ecx, dword [rbx]
lea eax, [r15 + 1]
cmp ecx, eax
jle 0x140023d2e
sub ecx, r15d
movsxd rdx, ecx
cmp rdx, 1
jbe 0x140023d2e
movsxd rax, r15d
lea r9, [0x140023060]
imul rcx, rax, 0x38
mov r8d, 0x38
add rcx, qword [rbx + 8]
call fcn.1400e9a60
mov rax, qword [r14 + 0x4d00]
test rax, rax
je 0x140023d53
mov rax, qword [rax + 0x3c0]
cmp qword [rax + 0x458], rdi
jne 0x140023d53
mov eax, dword [rax + 0xb8]
mov dword [rbx + 0x18], eax
cmp qword [rbp - 0x78], r12
jne 0x140023d85
mov edx, dword [rdi + 0xbc]
test edx, edx
je 0x140023d85
mov r8d, dword [rbx]
mov eax, r12d
test r8d, r8d
jle 0x140023d85
mov rcx, qword [rbx + 8]
cmp dword [rcx], edx
je 0x140024355
inc eax
add rcx, 0x38
cmp eax, r8d
jl 0x140023d72
movsxd rax, dword [rbx]
cmp eax, dword [rsp + 0x78]
jle 0x140023da7
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 r15d, 0x500003
cmp byte [r13 + 0xf6], r12b
jne 0x140023dc6
cmp byte [rbp + 0xa0], r12b
mov eax, 0x700003
cmovne r15d, eax
mov rax, qword [0x1402f8248]
lea rdx, [0x140138c99]
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 esi, r9d
cmp r8b, 0x23
jne 0x140023e0a
cmp byte [rdx], r8b
jne 0x140023e0a
cmp byte [rdx + 1], r8b
cmove esi, r9d
movzx ecx, sil
movzx eax, r8b
movzx r8d, byte [rdx]
xor rcx, rax
shr esi, 8
lea rax, [0x140139480]
inc rdx
xor esi, dword [rax + rcx*4]
test r8b, r8b
jne 0x140023df7
mov rax, qword [r10]
not esi
cmp dword [rax + 0x418c], esi
jne 0x140023e4e
lea r8, str.TabBar
mov edx, 0xb
mov ecx, esi
call fcn.140029760
mov dword [rbx + 0x14], esi
lea rdx, [rbp - 0x70]
vmovss xmm0, dword [rdi + 0x48]
vaddss xmm1, xmm0, dword [r13 + 0x94]
vmovss dword [rbx + 0x64], xmm1
vmovss xmm2, dword [rdi + 0x50]
vaddss xmm0, xmm2, dword [rdi + 0x48]
vsubss xmm1, xmm0, dword [r13 + 0x94]
mov r8d, r15d
mov rcx, rbx
vmovss dword [rbx + 0x68], xmm1
call fcn.140052750
vmovups ymm0, ymmword [r14 + 0x3cf0]
vmovups xmm1, xmmword [r14 + 0x3ae0]
vmovups ymmword [rbp - 0x40], ymm0
vmovups ymm0, ymmword [r14 + 0x3d10]
vmovups ymmword [rbp - 0x20], ymm0
vmovups xmm0, xmmword [r14 + 0x3d30]
vmovups xmmword [rbp], xmm0
vmovups xmmword [rbp - 0x50], xmm1
mov qword [rdi + 0x90], r12
mov dword [rsp + 0x44], r12d
cmp dword [rdi + 0x30], r12d
jle 0x1400242c7
vmovss xmm6, dword [0x140144174]
mov rsi, r12
mov qword [rsp + 0x50], r12
nop dword [rax]
mov rax, qword [rdi + 0x38]
mov r15, qword [rsi + rax]
lea rsi, [r15 + 0xb8]
cmp byte [rbp + 0xb8], r12b
jne 0x140023f10
mov eax, dword [rsp + 0x4c]
cmp eax, dword [rsi]
jne 0x140023f27
cmp byte [r15 + 0xfd], r12b
je 0x140023f27
test dword [r15 + 0x14], 0x40000
je 0x1400242a1
mov eax, dword [r15 + 0x2a0]
inc eax
cmp eax, dword [r14 + 0x4098]
jge 0x140023f46
mov eax, dword [rsp + 0x7c]
cmp dword [rbp - 0x80], eax
je 0x1400242a1
mov ecx, dword [r15 + 0x440]
mov r8d, dword [r15 + 0x34]
mov edx, dword [rbx + 0x10]
or r8d, 1
test dword [r15 + 0x14], 0x40000
vxorps xmm0, xmm0, xmm0
cmove r8d, dword [r15 + 0x34]
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
vxorps xmm0, xmm0, xmm0
vinsertps xmm4, xmm4, xmm3, 0x10
mov eax, ecx
shr ecx, 0x18
shr eax, 0x10
movzx eax, al
vcvtsi2ss xmm0, xmm0, rax
vmulss xmm2, xmm0, xmm6
vxorps xmm0, xmm0, xmm0
vinsertps xmm4, xmm4, xmm2, 0x20
mov eax, ecx
vcvtsi2ss xmm0, xmm0, rax
vmulss xmm1, xmm0, xmm6
vxorps xmm0, xmm0, xmm0
vinsertps xmm4, xmm4, xmm1, 0x30
vmovups xmmword [r14 + 0x3ae0], xmm4
mov ecx, dword [r15 + 0x444]
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
vxorps xmm0, xmm0, xmm0
vinsertps xmm4, xmm4, xmm3, 0x10
mov eax, ecx
shr ecx, 0x18
shr eax, 0x10
movzx eax, al
vcvtsi2ss xmm0, xmm0, rax
vmulss xmm2, xmm0, xmm6
vxorps xmm0, xmm0, xmm0
vinsertps xmm4, xmm4, xmm2, 0x20
mov eax, ecx
vcvtsi2ss xmm0, xmm0, rax
vmulss xmm1, xmm0, xmm6
vxorps xmm0, xmm0, xmm0
vinsertps xmm4, xmm4, xmm1, 0x30
vmovups xmmword [r14 + 0x3cf0], xmm4
mov ecx, dword [r15 + 0x448]
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 eax, 0x10
vxorps xmm0, xmm0, xmm0
movzx eax, al
vcvtsi2ss xmm0, xmm0, rax
vmulss xmm2, xmm0, xmm6
shr ecx, 0x18
vxorps xmm0, xmm0, xmm0
mov eax, ecx
vcvtsi2ss xmm0, xmm0, rax
vinsertps xmm4, xmm4, xmm3, 0x10
vmulss xmm1, xmm0, xmm6
vinsertps xmm4, xmm4, xmm2, 0x20
vxorps xmm0, xmm0, xmm0
vinsertps xmm4, xmm4, xmm1, 0x30
vmovups xmmword [r14 + 0x3d00], xmm4
mov ecx, dword [r15 + 0x44c]
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
vxorps xmm0, xmm0, xmm0
vinsertps xmm4, xmm4, xmm3, 0x10
mov eax, ecx
shr ecx, 0x18
shr eax, 0x10
movzx eax, al
vcvtsi2ss xmm0, xmm0, rax
vmulss xmm2, xmm0, xmm6
vxorps xmm0, xmm0, xmm0
vinsertps xmm4, xmm4, xmm2, 0x20
mov eax, ecx
vcvtsi2ss xmm0, xmm0, rax
vmulss xmm1, xmm0, xmm6
vxorps xmm0, xmm0, xmm0
vinsertps xmm4, xmm4, xmm1, 0x30
vmovups xmmword [r14 + 0x3d10], xmm4
mov ecx, dword [r15 + 0x450]
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
vxorps xmm0, xmm0, xmm0
vinsertps xmm4, xmm4, xmm3, 0x10
mov eax, ecx
shr ecx, 0x18
shr eax, 0x10
movzx eax, al
vcvtsi2ss xmm0, xmm0, rax
vmulss xmm2, xmm0, xmm6
vxorps xmm0, xmm0, xmm0
vinsertps xmm4, xmm4, xmm2, 0x20
mov eax, ecx
vcvtsi2ss xmm0, xmm0, rax
vmulss xmm1, xmm0, xmm6
vxorps xmm0, xmm0, xmm0
vinsertps xmm4, xmm4, xmm1, 0x30
vmovups xmmword [r14 + 0x3d20], xmm4
mov ecx, dword [r15 + 0x454]
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 eax, 0x10
vxorps xmm0, xmm0, xmm0
movzx eax, al
vcvtsi2ss xmm0, xmm0, rax
vmulss xmm2, xmm0, xmm6
vinsertps xmm4, xmm4, xmm3, 0x10
shr ecx, 0x18
vxorps xmm0, xmm0, xmm0
mov eax, ecx
vcvtsi2ss xmm0, xmm0, rax
vmulss xmm1, xmm0, xmm6
vinsertps xmm4, xmm4, xmm2, 0x20
vinsertps xmm4, xmm4, xmm1, 0x30
vmovups xmmword [rsp + 0x30], xmm4
vmovups xmmword [r14 + 0x3d30], xmm4
mov r9d, r8d
mov byte [rbp + 0xb0], 1
or r9d, 4
mov qword [rsp + 0x20], r15
test dl, 8
mov rcx, rbx
mov rdx, qword [r15 + 8]
cmove r9d, r8d
cmp byte [r15 + 0xfd], r12b
lea r8, [rbp + 0xb0]
cmove r8, r12
vzeroupper
call fcn.1400543e0
cmp byte [rbp + 0xb0], r12b
jne 0x14002424b
lea rsi, [r15 + 0xb8]
mov eax, dword [rsi]
mov dword [rdi + 0xc0], eax
mov eax, dword [rsi]
cmp dword [rbx + 0x20], eax
jne 0x140024259
mov qword [rdi + 0x90], r15
mov eax, dword [r14 + 0x4af8]
mov dword [r15 + 0x46c], eax
vmovups xmm0, xmmword [r14 + 0x4afc]
vmovups xmmword [r15 + 0x470], xmm0
mov rax, qword [r14 + 0x4d00]
test rax, rax
je 0x1400242a1
cmp qword [rax + 0x3c0], r15
jne 0x1400242a1
test byte [r15 + 0x19c], 2
jne 0x1400242a1
mov eax, dword [rsi]
mov dword [r13 + 0x3fc], eax
mov eax, dword [rsp + 0x44]
mov rsi, qword [rsp + 0x50]
inc eax
add rsi, 8
mov dword [rsp + 0x44], eax
mov qword [rsp + 0x50], rsi
cmp eax, dword [rdi + 0x30]
jl 0x140023ef0
vmovups xmm1, xmmword [rbp - 0x50]
vmovups ymm0, ymmword [rbp - 0x40]
vmovaps xmm6, xmmword [rsp + 0x140]
vmovups xmmword [r14 + 0x3ae0], xmm1
vmovups ymmword [r14 + 0x3cf0], ymm0
vmovups ymm0, ymmword [rbp - 0x20]
vmovups ymmword [r14 + 0x3d10], ymm0
vmovups xmm0, xmmword [rbp]
vmovups xmmword [r14 + 0x3d30], xmm0
mov rcx, qword [rdi + 0x90]
test rcx, rcx
je 0x14002432d
mov rax, qword [rsp + 0x68]
cmp byte [rbp + 0xa0], r12b
jne 0x140024326
cmp qword [rax + 0x90], r12
jne 0x14002432d
mov qword [rax + 0x90], rcx
movzx eax, byte [rdi + 0xcc]
and al, 8
je 0x140024370
mov rcx, qword [rdi + 0x90]
test rcx, rcx
je 0x140024370
cmp byte [rcx + 0xfd], r12b
je 0x140024370
mov r15b, 1
jmp 0x14002446f
cdqe
imul rcx, rax, 0x38
add rcx, qword [rbx + 8]
je 0x140023d85
mov dword [rbx + 0x1c], edx
mov dword [rbx + 0x18], edx
jmp 0x140023da7
test al, al
je 0x1400245bf
mov rsi, qword [0x1402f8248]
mov eax, dword [rsi + 0x4ac4]
lea r15, [rsi + 0x4c28]
or eax, 4
mov dword [rsi + 0x4ac4], eax
mov ecx, dword [r15 + 4]
mov r8d, dword [r15]
mov dword [rbp + 0xa0], eax
cmp r8d, ecx
jne 0x1400243da
inc r8d
test ecx, ecx
je 0x1400243b9
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x1400243be
mov eax, 8
cmp eax, r8d
mov rcx, r15
cmovg r8d, eax
mov edx, r8d
vzeroupper
call fcn.14002ac00
mov rsi, qword [0x1402f8248]
movsxd rcx, dword [r15]
mov edx, dword [rbp + 0xa0]
mov rax, qword [r15 + 8]
mov dword [rbp - 0x70], r12d
mov dword [rax + rcx*4], edx
lea rcx, [rsi + 0x4be8]
inc dword [r15]
lea rdx, [rbp - 0x70]
vmovss xmm0, dword [r14 + 0x3ae0]
vmovss xmm1, dword [r14 + 0x3ae4]
vmovss dword [rsp + 0x30], xmm0
vmovss xmm0, dword [r14 + 0x3ae8]
vmovss dword [rsp + 0x38], xmm0
vmovss dword [rsp + 0x34], xmm1
vmovss xmm1, dword [r14 + 0x3aec]
vmulss xmm0, xmm1, dword [0x1401441e0]
vmovss dword [rsp + 0x3c], xmm0
vmovups xmm0, xmmword [rsi + 0x3ae0]
vmovups xmmword [rbp - 0x6c], xmm0
vzeroupper
call fcn.14002a210
xor r15b, r15b
cmp dword [rsi + 0x4be4], r12d
je 0x14002446f
vmovups xmm0, xmmword [rsp + 0x30]
vmovups xmmword [rsi + 0x3ae0], xmm0
movsxd rcx, dword [r13 + 0x130]
lea rdx, [0x140137969]
mov rax, qword [r13 + 0x138]
mov r8b, 0x23
mov r9d, dword [rax + rcx*4 - 4]
not r9d
mov esi, r9d
cmp r8b, 0x23
jne 0x1400244a5
cmp byte [rdx], r8b
jne 0x1400244a5
cmp byte [rdx + 1], r8b
cmove esi, r9d
movzx ecx, sil
movzx eax, r8b
movzx r8d, byte [rdx]
xor rcx, rax
shr esi, 8
lea rax, [0x140139480]
inc rdx
xor esi, dword [rax + rcx*4]
test r8b, r8b
jne 0x140024492
mov rax, qword [r13]
not esi
cmp dword [rax + 0x418c], esi
jne 0x1400244ed
lea r8, str.CLOSE
mov edx, 0xb
mov ecx, esi
vzeroupper
call fcn.140029760
lea rdx, [rsp + 0x70]
mov ecx, esi
vzeroupper
call fcn.140042620
test al, al
je 0x140024556
or byte [rdi + 0xcc], 0x40
mov r8d, r12d
cmp dword [rbx], r12d
jle 0x140024556
mov rcx, r12
mov rdx, qword [rbx + 8]
mov eax, dword [rcx + rdx + 4]
bt eax, 0x15
jb 0x14002454a
test eax, 0x101
mov eax, dword [rcx + rdx]
jne 0x140024542
mov byte [rcx + rdx + 0x30], 1
cmp dword [rbx + 0x20], eax
jne 0x14002454a
mov dword [rcx + rdx + 0x10], 0xffffffff
mov qword [rbx + 0x18], r12
jmp 0x14002454a
cmp dword [rbx + 0x20], eax
je 0x14002454a
mov dword [rbx + 0x1c], eax
inc r8d
add rcx, 0x38
cmp r8d, dword [rbx]
jl 0x140024512
test r15b, r15b
jne 0x1400245bf
mov r9, qword [0x1402f8248]
movsxd rax, dword [r9 + 0x4be8]
cmp eax, 1
jl 0x14002459a
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 0x1400245c6
mov r9, qword [0x1402f8248]
movsxd rcx, dword [r13 + 0x130]
lea r8, [0x140138ca1]
mov rax, qword [r13 + 0x138]
mov dl, 0x23
mov r15, qword [rsp + 0x158]
mov r10d, dword [rax + rcx*4 - 4]
not r10d
mov esi, r10d
cmp dl, 0x23
jne 0x140024602
cmp byte [r8], dl
jne 0x140024602
cmp byte [r8 + 1], dl
cmove esi, r10d
movzx ecx, sil
movzx eax, dl
movzx edx, byte [r8]
xor rcx, rax
shr esi, 8
lea rax, [0x140139480]
inc r8
xor esi, dword [rax + rcx*4]
test dl, dl
jne 0x1400245f0
mov rax, qword [r13]
not esi
cmp dword [rax + 0x418c], esi
jne 0x14002464f
lea r8, str.TITLEBAR
mov edx, 0xb
mov ecx, esi
vzeroupper
call fcn.140029760
mov r9, qword [0x1402f8248]
mov eax, dword [r14 + 0x4190]
test eax, eax
je 0x14002466b
cmp eax, esi
je 0x14002466b
cmp dword [r14 + 0x41a4], esi
jne 0x14002472b
cmp dword [r9 + 0x41a4], esi
jne 0x14002467b
mov dword [r9 + 0x41a8], esi
cmp dword [r9 + 0x41d4], esi
jne 0x14002468c
mov byte [r9 + 0x41d8], 1
mov dword [rsp + 0x20], 0x1000
lea r9, [rbp + 0xa0]
xor r8d, r8d
lea rcx, [rsp + 0x58]
mov edx, esi
vzeroupper
call fcn.140041840
cmp dword [r14 + 0x4190], esi
jne 0x1400246bd
mov dword [r14 + 0x4af0], esi
cmp byte [rbp + 0xa0], r12b
je 0x14002472b
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.1400142a0
test al, al
je 0x1400246dd
mov eax, dword [rbx + 0x18]
mov dword [rsp + 0x48], eax
mov edx, dword [rbx + 0x18]
test edx, edx
je 0x14002472b
mov r8d, dword [rbx]
mov eax, r12d
test r8d, r8d
jle 0x14002472b
mov rcx, qword [rbx + 8]
cmp dword [rcx], edx
je 0x140024704
inc eax
add rcx, 0x38
cmp eax, r8d
jl 0x1400246f3
jmp 0x14002472b
cdqe
imul rcx, rax, 0x38
add rcx, qword [rbx + 8]
je 0x14002472b
mov rcx, qword [rcx + 8]
test rcx, rcx
jne 0x140024720
mov rcx, qword [rdi + 0x88]
xor r8d, r8d
mov rdx, rdi
call fcn.140008780
mov edx, dword [rbx + 0x1c]
test edx, edx
cmove edx, dword [rsp + 0x48]
test edx, edx
je 0x140024783
mov r8d, dword [rbx]
mov eax, r12d
test r8d, r8d
jle 0x140024783
mov rcx, qword [rbx + 8]
cmp dword [rcx], edx
je 0x140024759
inc eax
add rcx, 0x38
cmp eax, r8d
jl 0x140024748
jmp 0x140024783
cdqe
imul rsi, rax, 0x38
add rsi, qword [rbx + 8]
je 0x140024783
mov rcx, qword [rsi + 8]
test rcx, rcx
je 0x140024783
xor edx, edx
vzeroupper
call fcn.140012710
mov rcx, qword [rsi + 8]
xor edx, edx
call fcn.140019510
vzeroupper
call fcn.140052b10
mov rax, qword [0x1402f8248]
mov rbx, qword [rsp + 0x168]
mov rcx, qword [rax + 0x4140]
dec dword [rcx + 0x130]
mov eax, dword [rdi + 0x10]
shr eax, 0xa
test al, 1
jne 0x140024837
movzx eax, byte [rsp + 0x40]
mov byte [r13 + 0xf8], al
mov dword [r13 + 0x198], r12d
jmp 0x140024837
cmp dword [rdi + 0x30], r12d
jle 0x1400247d7
mov rax, qword [rdi + 0x38]
mov r12, qword [rax]
and r8b, 0xfd
mov qword [rdi + 0x90], r12
movzx eax, sil
add al, al
or al, r8b
mov byte [rdi + 0xcc], al
test sil, sil
je 0x140024803
mov eax, dword [r14 + 0x4098]
mov dword [rdi + 0xb4], eax
test r12, r12
je 0x140024837
test sil, sil
jne 0x140024817
cmp qword [rdx + 0x90], 0
jne 0x14002481e
mov qword [rdx + 0x90], r12
mov rdx, qword [rdi + 0x40]
test rdx, rdx
je 0x140024837
mov rax, qword [rdi + 0x90]
mov ecx, dword [rax + 0xb8]
mov dword [rdx + 0x20], ecx
mov rsi, qword [rsp + 0x160]
add rsp, 0x170
pop r14
pop r13
pop r12
pop rdi
pop rbp
ret