Function at 0x1800e2160
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], r8
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0x90
mov r14, r8
mov ebx, edx
mov edi, ecx
mov rsi, qword [0x180338dd0]
mov qword [rbp - 0x31], rsi
test ecx, ecx
je 0x1800e296d
test edx, edx
je 0x1800e2953
test r8, r8
je 0x1800e29ae
test byte [r8], 1
jne 0x1800e29a1
xor r15d, r15d
mov qword [rbp - 0x11], r15
mov qword [rbp - 9], r15
mov ecx, edx
call fcn.1800e1860
lea rcx, [rsi + 0x3c38]
mov edx, edi
call fcn.1800b76c0
mov rdi, rax
test rax, rax
je 0x1800e2994
mov r9, qword [rbp - 9]
test r9, r9
je 0x1800e2267
mov qword [rbp - 0x11], r15
mov r8, qword [0x180338dd0]
test r8, r8
je 0x1800e225b
mov r10d, dword [r8 + 0x1380]
movsx rdx, word [r8 + 0x3e18]
lea rcx, [r8 + 0x3e1c]
lea rcx, [rcx + rdx*8]
cmp dword [rcx], r10d
je 0x1800e2250
lea ecx, [rdx + 1]
mov eax, 0x2aaaaaab
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
add eax, eax
sub ecx, eax
mov word [r8 + 0x3e18], cx
movsx rax, cx
lea rcx, [r8 + 0x3e1c]
lea rcx, [rcx + rax*8]
mov dword [rcx], r10d
mov dword [rcx + 4], r15d
inc word [rcx + 6]
inc dword [r8 + 0x3e14]
mov rcx, r9
call fcn.1801ec210
mov qword [rbp - 9], r15
lea r8, [rbp - 0x11]
mov edx, ebx
mov rcx, rdi
call fcn.1800e1fe0
mov ebx, dword [rbp - 0x11]
test bl, 1
jne 0x1800e2987
mov esi, r15d
mov qword [rbp - 0x21], r15
mov r10d, r15d
mov r9, r15
mov qword [rbp - 0x19], r15
mov r12d, r15d
mov ecx, dword [r14]
test ecx, ecx
jle 0x1800e25d5
mov r13, r15
mov edi, 0xffffffff
lea r11, [0x180279e80]
nop
cmp r12d, ecx
jge 0x1800e2960
mov rdx, qword [r14 + 8]
mov r14, qword [rdx + r13*8]
lea rax, [r13 + 1]
test rax, rax
js 0x1800e2960
lea eax, [r12 + 1]
cmp eax, ecx
jge 0x1800e2960
mov r15, qword [rdx + r13*8 + 8]
mov ebx, edi
movzx r8d, byte [r14]
lea rdx, [r14 + 1]
test r8b, r8b
je 0x1800e231f
nop
cmp r8b, 0x23
jne 0x1800e2302
cmp byte [rdx], r8b
jne 0x1800e2302
cmp byte [rdx + 1], r8b
cmove ebx, edi
movzx ecx, bl
movzx eax, r8b
xor rcx, rax
shr ebx, 8
xor ebx, dword [r11 + rcx*4]
movzx r8d, byte [rdx]
inc rdx
test r8b, r8b
jne 0x1800e22f0
not ebx
cmp r10d, esi
jne 0x1800e238b
lea edi, [r10 + 1]
test esi, esi
je 0x1800e2339
mov eax, esi
cdq
sub eax, edx
sar eax, 1
add eax, esi
jmp 0x1800e233e
mov eax, 8
cmp eax, edi
cmovg edi, eax
cmp edi, esi
jle 0x1800e238b
movsxd rcx, edi
shl rcx, 2
call fcn.1800bd1f0
mov rsi, rax
mov rax, qword [rbp - 0x19]
test rax, rax
je 0x1800e237b
movsxd r8, dword [rbp - 0x21]
shl r8, 2
mov rdx, rax
mov rcx, rsi
call fcn.180217e00
mov rcx, qword [rbp - 0x19]
call fcn.1800bd290
mov r9, rsi
mov qword [rbp - 0x19], rsi
mov esi, edi
mov dword [rbp - 0x1d], edi
mov r10d, dword [rbp - 0x21]
movsxd rax, r10d
mov dword [r9 + rax*4], ebx
inc r10d
mov dword [rbp - 0x21], r10d
xor edi, edi
mov rcx, qword [0x180338dd0]
add rcx, 0x1418
mov edx, ebx
call fcn.1800b76c0
test rax, rax
je 0x1800e23bd
mov edi, dword [rax + 0x478]
jmp 0x1800e23cc
mov ecx, ebx
call fcn.1800d5b00
test rax, rax
je 0x1800e23cc
mov edi, dword [rax + 0x14]
xor eax, eax
mov ebx, eax
mov ecx, eax
mov edx, dword [rbp - 0x11]
test edx, edx
jle 0x1800e249b
mov r8, qword [rbp - 9]
test rax, rax
js 0x1800e2960
cmp ecx, edx
jge 0x1800e2960
cmp dword [r8 + rax*4], edi
je 0x1800e2480
add ecx, 2
add rax, 2
cmp ecx, edx
jl 0x1800e23e1
mov rax, qword [rbp - 0x31]
mov eax, dword [rax + 0x3d74]
bt eax, 8
jae 0x1800e2429
mov r8, r15
mov rdx, r14
lea rcx, str._docking__Remap_window_settings__s_____s_n
call fcn.1800eeac0
mov rcx, r14
call fcn.1800c1570
mov rbx, rax
test rax, rax
je 0x1800e24d6
mov rcx, r15
call fcn.1800c1570
mov edi, 0xffffffff
test rax, rax
je 0x1800e2510
movsd xmm0, qword [rbx + 0x58]
movsd qword [rax + 0x58], xmm0
movsd xmm1, qword [rbx + 0x60]
movsd qword [rax + 0x60], xmm1
movsd xmm0, qword [rbx + 0x68]
movsd qword [rax + 0x68], xmm0
movzx ecx, byte [rbx + 0x102]
mov byte [rax + 0x102], cl
jmp 0x1800e24db
inc ecx
lea rbx, [rax + 1]
test rbx, rbx
js 0x1800e2960
cmp ecx, edx
jge 0x1800e2960
mov ebx, dword [r8 + rbx*4]
mov rax, qword [rbp - 0x31]
mov eax, dword [rax + 0x3d74]
test ebx, ebx
je 0x1800e2411
bt eax, 8
jae 0x1800e24cc
mov dword [rsp + 0x20], ebx
mov r9, r15
mov r8d, edi
mov rdx, r14
lea rcx, str._docking__Remap_live_window__s_0x_08X_____s_0x_08X_n
call fcn.1800eeac0
mov edx, ebx
mov rcx, r15
call fcn.1800e1750
mov edi, 0xffffffff
add r12d, 2
add r13, 2
mov r14, qword [rbp + 0x77]
mov ecx, dword [r14]
cmp r12d, ecx
jge 0x1800e25cf
test r13, r13
mov r9, qword [rbp - 0x19]
mov r10d, dword [rbp - 0x21]
lea r11, [0x180279e80]
js 0x1800e2960
jmp 0x1800e22b0
mov ecx, edi
movzx r9d, byte [r15]
lea r8, [r15 + 1]
test r9b, r9b
je 0x1800e2555
lea r10, [0x180279e80]
cmp r9b, 0x23
jne 0x1800e2538
cmp byte [r8], r9b
jne 0x1800e2538
cmp byte [r8 + 1], r9b
cmove ecx, edi
movzx edx, cl
movzx eax, r9b
xor rdx, rax
shr ecx, 8
xor ecx, dword [r10 + rdx*4]
movzx r9d, byte [r8]
inc r8
test r9b, r9b
jne 0x1800e2526
not ecx
call fcn.1800d5b00
mov rcx, rax
test rax, rax
jne 0x1800e256f
mov rcx, r15
call fcn.1800d5a10
mov rcx, rax
cvttss2si eax, dword [rbx + 0x58]
mov word [rbp + 0x67], ax
cvttss2si eax, dword [rbx + 0x5c]
mov word [rbp + 0x69], ax
mov eax, dword [rbx + 0x48]
test eax, eax
je 0x1800e25a2
cmp eax, 0x11111111
je 0x1800e25a2
mov eax, dword [rbp + 0x67]
mov dword [rcx + 0xc], eax
mov eax, dword [rbx + 0x48]
mov dword [rcx + 0x10], eax
xor eax, eax
mov dword [rbp + 0x7f], eax
jmp 0x1800e25a5
mov eax, dword [rbp + 0x67]
mov dword [rcx + 4], eax
cvttss2si eax, dword [rbx + 0x68]
mov word [rbp - 0x39], ax
cvttss2si eax, dword [rbx + 0x6c]
mov word [rbp - 0x37], ax
mov eax, dword [rbp - 0x39]
mov dword [rcx + 8], eax
movzx eax, byte [rbx + 0x102]
mov byte [rcx + 0x1e], al
jmp 0x1800e24db
mov ebx, dword [rbp - 0x11]
xor r15d, r15d
mov edi, r15d
mov qword [rbp - 1], 0
mov esi, r15d
mov r14, r15
mov qword [rbp + 7], r15
mov ecx, r15d
mov dword [rbp + 0x67], ecx
test ebx, ebx
jle 0x1800e278c
mov qword [rbp - 0x39], r15
nop dword [rax]
test r15, r15
js 0x1800e297a
mov r8, qword [rbp - 9]
mov edx, dword [r8 + r15*4]
mov dword [rbp + 0x7f], edx
test edx, edx
je 0x1800e2776
lea rax, [r15 + 1]
test rax, rax
js 0x1800e297a
lea eax, [rcx + 1]
cmp eax, ebx
jge 0x1800e297a
mov r13d, dword [r8 + r15*4 + 4]
mov rcx, qword [0x180338dd0]
add rcx, 0x3c38
call fcn.1800b76c0
mov qword [rbp - 0x29], rax
xor edx, edx
mov r12d, edx
mov ecx, dword [rax + 0x30]
test ecx, ecx
jle 0x1800e2773
mov r15d, edx
test r15, r15
js 0x1800e297a
cmp r12d, ecx
jge 0x1800e297a
mov rax, qword [rax + 0x38]
mov rbx, qword [r15 + rax]
mov rcx, qword [rbp - 0x19]
movsxd rax, dword [rbp - 0x21]
lea rdx, [rcx + rax*4]
cmp rcx, rdx
jae 0x1800e26b4
mov r8d, dword [rbx + 0x10]
nop dword [rax]
nop word [rax + rax]
mov eax, dword [rcx]
add rcx, 4
cmp eax, r8d
je 0x1800e2755
cmp rcx, rdx
jb 0x1800e26a0
mov rax, qword [rbp - 0x31]
test dword [rax + 0x3d74], 0x100
je 0x1800e26db
mov r9d, r13d
mov r8d, dword [rbp + 0x7f]
mov rdx, qword [rbx + 8]
lea rcx, str._docking__Remap_window__s__08X_____08X_n
call fcn.1800eeac0
mov qword [rbp + 0xf], rbx
mov dword [rbp + 0x17], r13d
cmp esi, edi
jne 0x1800e2741
lea ebx, [rsi + 1]
test edi, edi
je 0x1800e26f9
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x1800e26fe
mov eax, 8
cmp eax, ebx
cmovg ebx, eax
cmp ebx, edi
jle 0x1800e2741
movsxd rcx, ebx
shl rcx, 4
call fcn.1800bd1f0
mov rdi, rax
test r14, r14
je 0x1800e2735
movsxd r8, esi
shl r8, 4
mov rdx, r14
mov rcx, rax
call fcn.180217e00
mov rcx, r14
call fcn.1800bd290
mov r14, rdi
mov qword [rbp + 7], rdi
mov edi, ebx
mov dword [rbp + 3], ebx
movsxd rax, esi
add rax, rax
movups xmm0, xmmword [rbp + 0xf]
movups xmmword [r14 + rax*8], xmm0
inc esi
mov dword [rbp - 1], esi
inc r12d
add r15, 8
mov rax, qword [rbp - 0x29]
mov ecx, dword [rax + 0x30]
cmp r12d, ecx
jl 0x1800e2663
mov ebx, dword [rbp - 0x11]
mov r15, qword [rbp - 0x39]
mov ecx, dword [rbp + 0x67]
add ecx, 2
mov dword [rbp + 0x67], ecx
add r15, 2
mov qword [rbp - 0x39], r15
cmp ecx, ebx
jl 0x1800e2600
movsxd rdi, esi
shl rdi, 4
add rdi, r14
mov rbx, r14
cmp r14, rdi
je 0x1800e27b8
nop
mov rcx, qword [rbx]
mov edx, dword [rbx + 8]
mov rcx, qword [rcx + 8]
call fcn.1800e1750
add rbx, 0x10
cmp rbx, rdi
jne 0x1800e27a0
test r14, r14
je 0x1800e2835
mov r8, qword [0x180338dd0]
test r8, r8
je 0x1800e282c
mov r9d, dword [r8 + 0x1380]
movsx rdx, word [r8 + 0x3e18]
lea rcx, [r8 + 0x3e1c]
lea rcx, [rcx + rdx*8]
cmp dword [rcx], r9d
je 0x1800e2821
lea ecx, [rdx + 1]
mov eax, 0x2aaaaaab
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
add eax, eax
sub ecx, eax
mov word [r8 + 0x3e18], cx
movsx rax, cx
lea rcx, [r8 + 0x3e1c]
lea rcx, [rcx + rax*8]
mov dword [rcx], r9d
mov dword [rcx + 4], 0
inc word [rcx + 6]
inc dword [r8 + 0x3e14]
mov rcx, r14
call fcn.1801ec210
nop
mov r10, qword [rbp - 0x19]
test r10, r10
je 0x1800e28b6
mov r8, qword [0x180338dd0]
test r8, r8
je 0x1800e28ad
mov r9d, dword [r8 + 0x1380]
movsx rdx, word [r8 + 0x3e18]
lea rcx, [r8 + 0x3e1c]
lea rcx, [rcx + rdx*8]
cmp dword [rcx], r9d
je 0x1800e28a2
lea ecx, [rdx + 1]
mov eax, 0x2aaaaaab
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
add eax, eax
sub ecx, eax
mov word [r8 + 0x3e18], cx
movsx rax, cx
lea rcx, [r8 + 0x3e1c]
lea rcx, [rcx + rax*8]
mov dword [rcx], r9d
mov dword [rcx + 4], 0
inc word [rcx + 6]
inc dword [r8 + 0x3e14]
mov rcx, r10
call fcn.1801ec210
nop
mov r8, qword [rbp - 9]
test r8, r8
je 0x1800e2938
mov r9, qword [0x180338dd0]
test r9, r9
je 0x1800e292f
mov r10d, dword [r9 + 0x1380]
movsx r11, word [r9 + 0x3e18]
lea rdx, [r9 + 0x3e1c]
lea rdx, [rdx + r11*8]
cmp dword [rdx], r10d
je 0x1800e2924
lea ecx, [r11 + 1]
mov eax, 0x2aaaaaab
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
add eax, eax
sub ecx, eax
mov word [r9 + 0x3e18], cx
movsx rax, cx
lea rdx, [r9 + 0x3e1c]
lea rdx, [rdx + rax*8]
mov dword [rdx], r10d
mov dword [rdx + 4], 0
inc word [rdx + 6]
inc dword [r9 + 0x3e14]
mov rcx, r8
call fcn.1801ec210
nop
mov rbx, qword [rsp + 0xd8]
add rsp, 0x90
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea rcx, str.dst_dockspace_id___0
call fcn.1800add40
nop
lea rcx, str.i___0__i___Size
call fcn.1800add40
nop
lea rcx, str.src_dockspace_id___0
call fcn.1800add40
nop
lea rcx, str.i___0__i___Size
call fcn.1800add40
nop
lea rcx, str._out_node_remap_pairs__Size___2___0
call fcn.1800add40
int3
lea rcx, str.src_node___NULL
call fcn.1800add40
nop
lea rcx, str._in_window_remap_pairs__Size___2___0
call fcn.1800add40
int3
lea rcx, str.in_window_remap_pairs___NULL
call fcn.1800add40
int3