Function at 0x140037050
Capabilities:
Hash data with crc32

Disassembly:
mov rax, rsp
push rbx
push rsi
push rdi
sub rsp, 0x140
cmp byte [rcx + 0x236], 0
mov rdi, rcx
mov qword [rax - 0x20], rbp
mov rbp, qword [0x140095ee8]
mov qword [rax - 0x28], r12
mov qword [rax - 0x30], r13
mov qword [rax - 0x38], r14
mov qword [rax - 0x40], r15
movaps xmmword [rax - 0x58], xmm6
movaps xmmword [rax - 0x68], xmm7
movaps xmmword [rax - 0x78], xmm8
movaps xmmword [rax - 0x88], xmm9
movaps xmmword [rax - 0x98], xmm10
movaps xmmword [rax - 0xa8], xmm11
movaps xmmword [rax - 0xb8], xmm12
movaps xmmword [rsp + 0x70], xmm15
mov qword [rsp + 0x20], rbp
je 0x1400370d6
mov r8d, 0x317
lea rdx, [0x140062200]
lea rcx, str.table__IsLayoutLocked__false
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov eax, dword [rdi + 0x6c]
lea rbx, [rdi + 0x6c]
mov r13d, dword [rdi + 4]
add eax, 0x1f
mov rcx, qword [rdi + 0x50]
and r13d, 0xe000
sar eax, 5
xor r15d, r15d
movsxd r8, eax
xor edx, edx
shl r8, 2
mov dword [rsp + 0x170], r13d
mov byte [rdi + 0x23f], 1
mov word [rdi + 0x202], r15w
call sub.VCRUNTIME140.dll_memset
mov eax, dword [rbx]
xor edx, edx
mov rcx, qword [rdi + 0x48]
add eax, 0x1f
sar eax, 5
movsxd r8, eax
shl r8, 2
call sub.VCRUNTIME140.dll_memset
movss xmm12, dword [0x140065534]
mov ecx, 0xffffffff
mov eax, dword [rbx]
xor r12b, r12b
mov word [rdi + 0x21c], cx
movaps xmm0, xmm12
mov dword [rsp + 0x168], r15d
mov r14d, r15d
mov dword [rsp + 0x160], r15d
mov esi, ecx
mov byte [rsp + 0x178], r12b
xorps xmm11, xmm11
xorps xmm10, xmm10
xorps xmm8, xmm8
maxss xmm0, dword [rbp + 0x3964]
movss dword [rdi + 0xb8], xmm0
test eax, eax
jle 0x14003748f
xor r13d, r13d
nop word [rax + rax]
mov rax, qword [rdi + 0x28]
lea rbx, [rax + r13]
cmp rbx, rax
jb 0x1400371b3
cmp rbx, qword [rdi + 0x30]
jb 0x1400371cd
mov r8d, 0x26a
lea rdx, [0x140055600]
lea rcx, str.p___Data__p___DataEnd
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
movsx r14, word [rbx]
mov rbp, r14
cmp r14d, r15d
je 0x1400371e0
mov byte [rdi + 0x23f], 0
imul rbx, rbp, 0x74
add rbx, qword [rdi + 0x18]
cmp rbx, qword [rdi + 0x18]
jb 0x1400371f4
cmp rbx, qword [rdi + 0x20]
jb 0x14003720e
mov r8d, 0x26a
lea rdx, [0x140055600]
lea rcx, str.p___Data__p___DataEnd
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
movsx eax, word [rdi + 0x206]
cmp eax, ebp
jg 0x14003723d
mov rdx, rbx
mov rcx, rdi
call fcn.140036f20
mov ecx, 0xffffffff
mov dword [rbx + 0x34], 0
mov word [rbx + 0x54], cx
mov dword [rbx + 0x20], 0xbf800000
jmp 0x140037242
mov ecx, 0xffffffff
test byte [rdi + 4], 4
je 0x14003724d
test byte [rbx], 0x80
je 0x140037251
mov byte [rbx + 0x68], 1
movzx eax, byte [rbx + 0x68]
cmp byte [rbx + 0x67], al
je 0x140037264
mov byte [rbx + 0x67], al
mov byte [rdi + 0x23e], 1
cmp byte [rbx + 0x67], 0
je 0x140037273
test byte [rbx], 1
jne 0x140037273
mov al, 1
jmp 0x140037275
xor al, al
cmp word [rbx + 0x5e], 0xffff
mov byte [rbx + 0x66], al
je 0x14003728a
test al, al
jne 0x14003728a
mov byte [rdi + 0x239], 1
cmp word [rbx + 0x5e], 0
jle 0x1400372a1
test dword [rdi + 4], 0x4000000
jne 0x1400372a1
mov byte [rdi + 0x239], 1
test byte [rbx], 0x10
je 0x1400372ad
comiss xmm11, dword [rbx + 0x10]
jmp 0x1400372b2
comiss xmm11, dword [rbx + 0x1c]
seta al
test al, al
je 0x1400372bf
mov word [rbx + 0x6f], 0x707
cmp byte [rbx + 0x66], 0
jne 0x1400372ce
mov word [rbx + 0x58], cx
jmp 0x140037468
mov word [rbx + 0x5a], si
mov word [rbx + 0x5c], cx
cmp esi, 0xffffffff
je 0x140037313
movsxd rax, esi
imul rsi, rax, 0x74
add rsi, qword [rdi + 0x18]
cmp rsi, qword [rdi + 0x18]
jb 0x1400372f2
cmp rsi, qword [rdi + 0x20]
jb 0x14003730c
mov r8d, 0x26a
lea rdx, [0x140055600]
lea rcx, str.p___Data__p___DataEnd
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov word [rsi + 0x5c], r14w
jmp 0x14003731b
mov word [rdi + 0x21c], r14w
movzx ecx, word [rdi + 0x202]
mov rdx, rbp
sar rdx, 5
mov esi, ebp
lea eax, [rcx + 1]
mov word [rdi + 0x202], ax
mov word [rbx + 0x58], cx
mov ecx, ebp
mov r8, qword [rdi + 0x50]
and ecx, 0x1f
mov eax, dword [r8 + rdx*4]
bts eax, ecx
mov dword [r8 + rdx*4], eax
movsx rdx, word [rbx + 0x56]
mov r8, qword [rdi + 0x48]
mov rcx, rdx
sar rcx, 5
and edx, 0x1f
mov eax, dword [r8 + rcx*4]
bts eax, edx
mov dword [r8 + rcx*4], eax
movzx eax, word [rbx + 0x56]
cmp word [rbx + 0x58], ax
jle 0x14003738f
mov r8d, 0x361
lea rdx, [0x140062200]
lea rcx, str.column__IndexWithinEnabledSet___column__DisplayOrder
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
cmp byte [rbx + 0x6d], 0
jne 0x1400373ed
cmp word [rdi + 0x78], 0
jne 0x1400373ed
movss xmm1, dword [rbx + 0x44]
maxss xmm1, dword [rbx + 0x48]
movss xmm2, dword [rbx + 0x38]
mov eax, dword [rbx]
subss xmm1, xmm2
bt eax, 0xd
jb 0x1400373c4
movss xmm0, dword [rbx + 0x50]
subss xmm0, xmm2
maxss xmm1, xmm0
test al, 0x10
je 0x1400373e0
movss xmm0, dword [rbx + 0x20]
comiss xmm0, xmm11
jbe 0x1400373e0
test byte [rdi + 4], 1
je 0x1400373dd
test al, 0x20
je 0x1400373e0
movaps xmm1, xmm0
maxss xmm1, dword [rdi + 0xb8]
movss dword [rbx + 0x14], xmm1
mov ecx, dword [rbx]
mov r8d, 1
mov edx, dword [rsp + 0x178]
mov eax, ecx
shr eax, 5
not al
movzx edx, dl
and al, 1
cmovne edx, r8d
mov dword [rsp + 0x178], edx
test cl, 0x10
je 0x14003742c
movss xmm0, dword [rbx + 0x20]
comiss xmm0, xmm11
jbe 0x14003742c
test al, al
jne 0x14003742c
movss dword [rbx + 0x14], xmm0
cmp byte [rbx + 0x6f], 0
movss xmm0, dword [rbx + 0x14]
movzx r12d, r12b
cmovne r12d, r8d
test cl, 8
je 0x14003745c
mov r14d, dword [rsp + 0x160]
addss xmm10, xmm0
inc r14d
mov dword [rsp + 0x160], r14d
jmp 0x140037470
inc dword [rsp + 0x168]
maxss xmm8, xmm0
mov r14d, dword [rsp + 0x160]
mov eax, dword [rdi + 0x6c]
inc r15d
add r13, 2
cmp r15d, eax
jl 0x1400371a0
mov r13d, dword [rsp + 0x170]
lea rbx, [rdi + 0x6c]
mov ecx, dword [rdi + 4]
mov r15, rbx
test cl, 8
je 0x1400374b5
cmp word [rdi + 0x200], 0
jne 0x1400374b5
bt ecx, 0x1b
jb 0x1400374b5
mov byte [rdi + 0x239], 1
lea r15, [rdi + 0x6c]
cmp word [rdi + 0x21c], 0
mov word [rdi + 0x21e], si
jl 0x1400374cb
test si, si
jns 0x1400374e8
mov r8d, 0x37f
lea rdx, [0x140062200]
lea rcx, str.table__LeftMostEnabledColumn___0__table__RightMostEnabledColumn___0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov eax, dword [rdi + 0x6c]
test r12b, r12b
je 0x140037512
mov rcx, qword [rdi + 0x188]
cmp qword [rdi + 0x180], rcx
je 0x140037507
mov byte [rcx + 0xcf], 0
mov eax, dword [rdi + 0x6c]
mov byte [rdi + 0x23e], 1
lea r15, [rdi + 0x6c]
xor ebp, ebp
mov dword [rdi + 0x220], 0xffffffff
movaps xmm6, xmm11
movaps xmm9, xmm11
mov r12d, 0xffffffff
test eax, eax
jle 0x140037729
movss xmm7, dword [0x14006556c]
nop dword [rax]
mov rax, qword [rdi + 0x50]
mov edx, ebp
movsxd r8, ebp
and edx, 0x1f
mov rcx, r8
sar rcx, 5
mov ecx, dword [rax + rcx*4]
bt ecx, edx
jae 0x14003771a
imul rbx, r8, 0x74
add rbx, qword [rdi + 0x18]
cmp rbx, qword [rdi + 0x18]
jb 0x140037573
cmp rbx, qword [rdi + 0x20]
jb 0x14003758d
mov r8d, 0x26a
lea rdx, [0x140055600]
lea rcx, str.p___Data__p___DataEnd
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov eax, dword [rbx]
mov ecx, eax
shr ecx, 5
not cl
and cl, 1
test al, 0x10
je 0x14003760f
movss xmm0, dword [rbx + 0x14]
cmp r13d, 0x4000
jne 0x1400375b9
cmp byte [rbx + 0x6f], 0
jne 0x1400375b5
test cl, cl
jne 0x1400375b9
movaps xmm0, xmm8
movzx eax, byte [rbx + 0x6f]
test al, al
je 0x1400375f7
movss dword [rbx + 0x10], xmm0
cmp al, 1
jbe 0x140037605
cmp byte [rdi + 0x238], 0
je 0x140037605
cmp byte [rbx + 0x6d], 0
jne 0x140037605
movss xmm1, dword [rdi + 0xb8]
mulss xmm1, xmm7
maxss xmm0, xmm1
movss dword [rbx + 0x10], xmm0
addss xmm6, xmm0
jmp 0x140037706
test cl, cl
jne 0x140037605
cmp byte [rbx + 0x6b], cl
je 0x140037605
movss dword [rbx + 0x10], xmm0
addss xmm6, dword [rbx + 0x10]
jmp 0x140037706
cmp byte [rbx + 0x6f], 0
jne 0x140037624
movss xmm1, dword [rbx + 0x1c]
comiss xmm11, xmm1
ja 0x140037624
test cl, cl
jne 0x140037667
movss xmm1, dword [rbx + 0x20]
comiss xmm1, xmm11
jbe 0x140037636
movss dword [rbx + 0x1c], xmm1
jmp 0x140037667
cmp r13d, 0x6000
jne 0x14003765c
movss xmm1, dword [rbx + 0x14]
divss xmm1, xmm10
movd xmm0, r14d
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm0
movss dword [rbx + 0x1c], xmm1
jmp 0x140037667
mov dword [rbx + 0x1c], 0x3f800000
movaps xmm1, xmm12
movsx rax, word [rdi + 0x220]
addss xmm9, xmm1
cmp ax, r12w
je 0x1400376b2
imul rsi, rax, 0x74
add rsi, qword [rdi + 0x18]
cmp rsi, qword [rdi + 0x18]
jb 0x14003768e
cmp rsi, qword [rdi + 0x20]
jb 0x1400376a8
mov r8d, 0x26a
lea rdx, [0x140055600]
lea rcx, str.p___Data__p___DataEnd
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
movzx eax, word [rbx + 0x56]
cmp word [rsi + 0x56], ax
jle 0x1400376b9
mov word [rdi + 0x220], bp
movsx rax, word [rdi + 0x222]
cmp ax, r12w
je 0x1400376ff
imul rsi, rax, 0x74
add rsi, qword [rdi + 0x18]
cmp rsi, qword [rdi + 0x18]
jb 0x1400376db
cmp rsi, qword [rdi + 0x20]
jb 0x1400376f5
mov r8d, 0x26a
lea rdx, [0x140055600]
lea rcx, str.p___Data__p___DataEnd
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
movzx eax, word [rbx + 0x56]
cmp word [rsi + 0x56], ax
jge 0x140037706
mov word [rdi + 0x222], bp
mov byte [rbx + 0x6d], 0
movss xmm0, dword [rdi + 0xc0]
addss xmm0, xmm0
addss xmm6, xmm0
inc ebp
cmp ebp, dword [r15]
jl 0x140037540
lea r15, [rdi + 0x6c]
cmp byte [rdi + 0x247], 0
mov eax, dword [rsp + 0x168]
movsx edx, word [rdi + 0x202]
movss xmm2, dword [rdi + 0xc8]
addss xmm2, dword [rdi + 0xc4]
movss xmm1, dword [rdi + 0xbc]
movups xmm15, xmmword [rdi + 0x110]
mov word [rdi + 0x204], ax
lea eax, [rdx - 1]
movd xmm0, eax
addss xmm1, xmm1
cvtdq2ps xmm0, xmm0
movss dword [rdi + 0xd8], xmm9
mulss xmm2, xmm0
movups xmmword [rsp + 0x60], xmm15
addss xmm2, xmm1
je 0x1400377b0
mov rax, qword [rdi + 0x188]
cmp byte [rax + 0xc9], 0
jne 0x1400377b0
mov r13, qword [rsp + 0x20]
lea r15, [rdi + 0x6c]
movss xmm1, dword [r13 + 0x399c]
jmp 0x1400377b9
mov r13, qword [rsp + 0x20]
movaps xmm1, xmm11
mov ecx, dword [rdi + 4]
bt ecx, 0x18
jae 0x1400377e4
movss xmm0, dword [rdi + 0xcc]
ucomiss xmm0, xmm11
jp 0x1400377e4
jne 0x1400377e4
movss xmm0, dword [rdi + 0x128]
subss xmm0, dword [rdi + 0x120]
jmp 0x1400377f2
movaps xmm0, xmm15
shufps xmm0, xmm15, 0xaa
subss xmm0, xmm15
mov eax, dword [rdi + 0x6c]
subss xmm0, xmm1
movss xmm1, dword [rdi + 0xc0]
movaps xmm7, xmm12
addss xmm1, xmm1
xor ebp, ebp
maxss xmm7, xmm0
movd xmm0, edx
cvtdq2ps xmm0, xmm0
subss xmm7, xmm2
mulss xmm1, xmm0
addss xmm1, xmm2
subss xmm7, xmm6
movss dword [rdi + 0xd0], xmm1
movaps xmm6, xmm7
test eax, eax
jle 0x140037921
movss xmm8, dword [0x1400654b4]
lea esi, [rbp + 1]
xor r14d, r14d
nop dword [rax + rax]
mov rax, qword [rdi + 0x50]
movsxd rcx, ebp
sar rcx, 5
test dword [rax + rcx*4], esi
je 0x14003790b
mov rax, qword [rdi + 0x18]
lea rbx, [rax + r14]
cmp rbx, rax
jb 0x140037877
cmp rbx, qword [rdi + 0x20]
jb 0x140037891
mov r8d, 0x26a
lea rdx, [0x140055600]
lea rcx, str.p___Data__p___DataEnd
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov ecx, dword [rbx]
test cl, 8
je 0x1400378c7
movss xmm0, dword [rbx + 0x1c]
divss xmm0, xmm9
mulss xmm0, xmm7
maxss xmm0, dword [rdi + 0xb8]
addss xmm0, xmm8
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbx + 0x10], xmm0
subss xmm6, xmm0
cmp word [rbx + 0x5c], r12w
jne 0x1400378de
cmp word [rdi + 0x220], r12w
je 0x1400378de
bts ecx, 0x1e
mov dword [rbx], ecx
movss xmm0, dword [rbx + 0x10]
maxss xmm0, dword [rdi + 0xb8]
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss dword [rbx + 4], xmm1
addss xmm1, dword [rdi + 0xd0]
movss dword [rdi + 0xd0], xmm1
mov eax, dword [r15]
inc ebp
rol esi, 1
add r14, 0x74
cmp ebp, eax
jl 0x140037850
mov ecx, dword [rdi + 4]
comiss xmm6, xmm12
mov r15d, 1
jb 0x140037a19
bt ecx, 0x13
jb 0x140037a19
comiss xmm9, xmm11
lea ebp, [rax - 1]
jbe 0x140037a19
movss xmm7, dword [0x1400655f0]
mov ecx, ebp
movsxd rax, ebp
mov esi, r15d
rol esi, cl
lea r14, [rax + rax]
nop
comiss xmm6, xmm12
jb 0x140037a19
test ebp, ebp
js 0x140037a19
mov rax, qword [rdi + 0x48]
movsxd rcx, ebp
sar rcx, 5
test dword [rax + rcx*4], esi
je 0x140037a0c
mov rax, qword [rdi + 0x28]
lea rbx, [rax + r14]
cmp rbx, rax
jb 0x140037999
cmp rbx, qword [rdi + 0x30]
jb 0x1400379b3
mov r8d, 0x26a
lea rdx, [0x140055600]
lea rcx, str.p___Data__p___DataEnd
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
movsx rax, word [rbx]
imul rbx, rax, 0x74
add rbx, qword [rdi + 0x18]
cmp rbx, qword [rdi + 0x18]
jb 0x1400379cb
cmp rbx, qword [rdi + 0x20]
jb 0x1400379e5
mov r8d, 0x26a
lea rdx, [0x140055600]
lea rcx, str.p___Data__p___DataEnd
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
test byte [rbx], 8
je 0x140037a0c
movss xmm0, dword [rbx + 0x10]
addss xmm6, xmm7
movss xmm1, dword [rbx + 4]
addss xmm0, xmm12
addss xmm1, xmm12
movss dword [rbx + 0x10], xmm0
movss dword [rbx + 4], xmm1
dec ebp
ror esi, 1
sub r14, 2
jmp 0x140037960
movsx ebx, word [rdi + 0x78]
test ebx, ebx
jne 0x140037a2a
lea rcx, [rdi + 0x1a8]
jmp 0x140037a63
sub ebx, 1
js 0x140037a37
cmp ebx, dword [rdi + 0x1c0]
jl 0x140037a51
mov r8d, 0x829
lea rdx, [0x140055570]
lea rcx, str.i___0__i___Size
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
movsxd rax, ebx
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x1c8]
lea rcx, [rax + rcx*8]
mov eax, dword [rcx + 0x14]
xor r8d, r8d
mov dword [rcx + 0x10], eax
xor edx, edx
mov dword [rcx + 0x14], r12d
movss xmm3, dword [rdi + 0xf4]
movss xmm0, dword [rdi + 0xf0]
movss xmm1, dword [rdi + 0xf8]
mov dword [rdi + 0x20a], 0xffffffff
movss xmm2, dword [rcx + 4]
mov ebx, dword [r13 + 0x4114]
movss dword [rsp + 0x40], xmm0
movss xmm0, dword [rdi + 0xfc]
movss dword [rsp + 0x44], xmm3
addss xmm3, xmm2
mov qword [rsp + 0x30], rcx
lea rcx, [rsp + 0x40]
movss dword [rsp + 0x48], xmm1
mov dword [r13 + 0x4114], 0
maxss xmm0, xmm3
movss dword [rsp + 0x4c], xmm0
call fcn.140008980
movss xmm12, dword [r13 + 0xe0]
mov dword [r13 + 0x4114], ebx
movss xmm0, dword [rdi + 0xe8]
comiss xmm0, xmm11
mov byte [rsp + 0x168], al
jbe 0x140037b42
movss xmm1, dword [r13 + 0xe4]
movss xmm2, dword [rdi + 0xf4]
comiss xmm1, xmm2
jb 0x140037b42
addss xmm0, xmm2
comiss xmm0, xmm1
jb 0x140037b42
subss xmm0, xmm1
mulss xmm0, dword [rdi + 0xec]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm12, xmm0
xor al, al
xor r12d, r12d
mov dword [rsp + 0x170], eax
movzx eax, word [rdi + 0x22c]
test ax, ax
setg byte [rsp + 0x160]
test ax, ax
jle 0x140037b6f
movss xmm6, dword [rdi + 0xf0]
jmp 0x140037b73
movaps xmm6, xmm15
mov eax, dword [rdi + 0x6c]
xor edx, edx
addss xmm6, dword [rdi + 0xbc]
movups xmm0, xmmword [rdi + 0x120]
mov rcx, qword [rdi + 0x58]
add eax, 0x1f
sar eax, 5
movsxd r8, eax
subss xmm6, dword [rdi + 0xc4]
shl r8, 2
movups xmmword [rsp + 0x50], xmm0
call sub.VCRUNTIME140.dll_memset
xor r13d, r13d
cmp dword [rdi + 0x6c], r12d
jle 0x140038134
movss xmm11, dword [rsp + 0x5c]
xor ecx, ecx
movss xmm10, dword [rsp + 0x58]
movss xmm9, dword [rsp + 0x54]
movss xmm7, dword [rsp + 0x50]
movaps xmmword [rsp + 0x90], xmm13
movss xmm13, dword [rsp + 0x64]
movaps xmmword [rsp + 0x80], xmm14
movss xmm14, dword [0x1400655e0]
mov qword [rsp + 0x28], rcx
nop dword [rax + rax]
mov rax, qword [rdi + 0x28]
lea rbx, [rax + rcx]
cmp rbx, rax
jb 0x140037c13
cmp rbx, qword [rdi + 0x30]
jb 0x140037c2d
mov r8d, 0x26a
lea rdx, [0x140055600]
lea rcx, str.p___Data__p___DataEnd
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
movsx r14, word [rbx]
mov rax, qword [rdi + 0x18]
mov rbp, r14
imul rsi, r14, 0x74
lea rbx, [rax + rsi]
cmp rbx, rax
jb 0x140037c4b
cmp rbx, qword [rdi + 0x20]
jb 0x140037c65
mov r8d, 0x26a
lea rdx, [0x140055600]
lea rcx, str.p___Data__p___DataEnd
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
cmp word [rdi + 0x228], 0
setg al
cmp byte [rsp + 0x160], 0
mov byte [rbx + 0x6e], al
je 0x140037ca1
movsx eax, word [rdi + 0x22c]
cmp eax, r12d
jne 0x140037ca1
movaps xmm0, xmm15
mov byte [rsp + 0x160], 0
subss xmm0, dword [rdi + 0xf0]
addss xmm6, xmm0
and dword [rbx], 0xf0ffffff
mov rcx, qword [rdi + 0x48]
movsxd rax, r13d
sar rax, 5
mov edx, dword [rcx + rax*4]
movss dword [rbx + 8], xmm6
test r15d, edx
jne 0x140037d6e
movaps xmm0, xmm13
movss dword [rbx + 0x2c], xmm6
comiss xmm9, xmm0
mov dword [rbx + 4], 0
mov dword [rbx + 0x30], 0x7f7fffff
movss dword [rbx + 0x24], xmm6
movss dword [rbx + 0x38], xmm6
movss dword [rbx + 0xc], xmm6
movss dword [rbx + 0x28], xmm13
jbe 0x140037cfb
movaps xmm1, xmm9
jmp 0x140037d03
movaps xmm1, xmm11
minss xmm1, xmm0
comiss xmm7, xmm6
jbe 0x140037d0d
movaps xmm0, xmm7
jmp 0x140037d15
movaps xmm0, xmm10
minss xmm0, xmm6
movss dword [rbx + 0x24], xmm0
movss dword [rbx + 0x28], xmm1
movss xmm0, dword [rbx + 0x30]
comiss xmm9, xmm0
jbe 0x140037d30
movaps xmm1, xmm9
jmp 0x140037d38
movaps xmm1, xmm11
minss xmm1, xmm0
comiss xmm7, xmm6
jbe 0x140037d42
movaps xmm0, xmm7
jmp 0x140037d4a
movaps xmm0, xmm10
minss xmm0, xmm6
movss dword [rbx + 0x2c], xmm0
movss dword [rbx + 0x30], xmm1
mov word [rbx + 0x6a], 0
mov byte [rbx + 0x69], 0
mov byte [rbx + 0x6c], 1
mov dword [rbx + 0x40], 0x3f800000
jmp 0x1400380f4
add rsi, qword [rdi + 0x18]
cmp rsi, qword [rdi + 0x18]
jb 0x140037d7e
cmp rsi, qword [rdi + 0x20]
jb 0x140037d98
mov r8d, 0x26b
lea rdx, [0x140055600]
lea rcx, str.p___Data__p___DataEnd
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
movss xmm4, dword [rdi + 0xc0]
movaps xmm1, xmm14
movss xmm5, dword [rdi + 0xc8]
movaps xmm3, xmm4
mov eax, dword [rdi + 4]
addss xmm3, xmm4
movaps xmm2, xmm3
addss xmm2, dword [rdi + 0xb8]
addss xmm2, dword [rdi + 0xc4]
addss xmm2, xmm5
bt eax, 0x18
jae 0x140037e13
movsx eax, word [rsi + 0x56]
movsx ecx, word [rdi + 0x22a]
cmp ax, cx
jge 0x140037e54
movss xmm1, dword [rdi + 0x128]
sub ecx, eax
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
subss xmm1, xmm0
subss xmm1, dword [rsi + 8]
subss xmm1, dword [rdi + 0xbc]
subss xmm1, xmm4
subss xmm1, xmm5
jmp 0x140037e54
bt eax, 0x12
jb 0x140037e54
movsx eax, word [rsi + 0x58]
movsx ecx, word [rdi + 0x202]
movss xmm1, dword [rdi + 0x118]
sub ecx, eax
dec ecx
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
subss xmm1, xmm0
subss xmm1, dword [rsi + 8]
subss xmm1, xmm5
subss xmm1, xmm3
subss xmm1, dword [rdi + 0xbc]
movss xmm3, dword [rbx + 4]
movss xmm0, dword [rbx + 0x10]
minss xmm3, xmm1
movss xmm4, dword [rbx + 8]
movss xmm8, dword [rbx + 0x38]
movss dword [rbx + 0x18], xmm1
movss dword [rbx + 4], xmm3
minss xmm0, dword [rdi + 0xb8]
maxss xmm3, xmm0
movss dword [rbx + 4], xmm3
movaps xmm2, xmm3
movss xmm0, dword [rdi + 0xc0]
addss xmm2, xmm6
mulss xmm3, dword [0x140065504]
addss xmm0, xmm0
addss xmm2, dword [rdi + 0xc4]
cvttss2si eax, xmm3
addss xmm2, dword [rdi + 0xc8]
addss xmm2, xmm0
movaps xmm0, xmm4
movss dword [rbx + 0xc], xmm2
movaps xmm1, xmm2
addss xmm0, dword [rdi + 0xc0]
addss xmm0, dword [rdi + 0xc4]
movss dword [rbx + 0x38], xmm0
subss xmm1, dword [rdi + 0xc0]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, dword [rdi + 0xc8]
movss dword [rbx + 0x40], xmm0
movaps xmm0, xmm13
comiss xmm9, xmm0
mov dword [rbx + 0x30], 0x7f7fffff
movss dword [rbx + 0x3c], xmm1
movss dword [rbx + 0x24], xmm4
movss dword [rbx + 0x28], xmm13
movss dword [rbx + 0x2c], xmm2
jbe 0x140037f23
movaps xmm1, xmm9
jmp 0x140037f2b
movaps xmm1, xmm11
minss xmm1, xmm0
comiss xmm7, xmm4
jbe 0x140037f35
movaps xmm0, xmm7
jmp 0x140037f3d
movaps xmm0, xmm10
minss xmm0, xmm4
movss dword [rbx + 0x24], xmm0
movss dword [rbx + 0x28], xmm1
movss xmm0, dword [rbx + 0x30]
comiss xmm9, xmm0
jbe 0x140037f58
movaps xmm1, xmm9
jmp 0x140037f60
movaps xmm1, xmm11
minss xmm1, xmm0
comiss xmm7, xmm2
jbe 0x140037f6a
movaps xmm0, xmm7
jmp 0x140037f72
movaps xmm0, xmm10
minss xmm0, xmm2
movss dword [rbx + 0x2c], xmm0
movss dword [rbx + 0x30], xmm1
comiss xmm0, dword [rbx + 0x24]
mov byte [rbx + 0x6a], 1
seta sil
mov byte [rbx + 0x69], sil
test sil, sil
je 0x140037fc2
mov rdx, qword [rdi + 0x58]
mov rcx, rbp
sar rcx, 5
and ebp, 0x1f
mov eax, dword [rdx + rcx*4]
bts eax, ebp
mov dword [rdx + rcx*4], eax
mov al, 1
cmp byte [rbx + 0x66], 0
mov byte [rbx + 0x6b], al
je 0x140037fd2
cmp byte [rdi + 0x249], 0
jne 0x140037fd2
mov byte [rbx + 0x6c], 0
jmp 0x140037ff5
cmp byte [rbx + 0x6f], 0
jne 0x140037fa8
cmp byte [rbx + 0x70], 0
jne 0x140037fa8
xor al, al
jmp 0x140037faa
mov byte [rbx + 0x6c], 1
test sil, sil
je 0x140037ff5
mov r8d, 0x45d
lea rdx, [0x140062200]
lea rcx, str._is_visible
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
cmp byte [rbx + 0x6b], 0
je 0x140038018
mov eax, dword [rsp + 0x170]
mov ecx, 1
cmp byte [rbx + 0x6c], 0
movzx eax, al
cmove eax, ecx
mov dword [rsp + 0x170], eax
mov eax, dword [rbx]
bts eax, 0x18
mov dword [rbx], eax
test sil, sil
je 0x14003802b
bts eax, 0x19
mov dword [rbx], eax
cmp word [rbx + 0x5e], 0xffff
je 0x140038038
bts eax, 0x1a
mov dword [rbx], eax
cmp byte [rsp + 0x168], 0
je 0x140038062
comiss xmm12, dword [rbx + 0x24]
jb 0x140038062
movss xmm0, dword [rbx + 0x2c]
comiss xmm0, xmm12
jbe 0x140038062
bts eax, 0x1b
mov dword [rbx], eax
mov word [rdi + 0x20a], r14w
cmp word [rdi + 0x78], 0
movss xmm2, dword [rbx + 0x38]
shufps xmm2, xmm2, 0
jne 0x140038078
movups xmmword [rbx + 0x44], xmm2
jmp 0x14003808c
movups xmm0, xmmword [rbx + 0x44]
subss xmm2, xmm8
shufps xmm2, xmm2, 0
addps xmm0, xmm2
movups xmmword [rbx + 0x44], xmm0
cmp byte [rdi + 0x249], 0
jne 0x14003809b
shr byte [rbx + 0x6f], 1
shr byte [rbx + 0x70], 1
movsx eax, word [rdi + 0x22c]
cmp r12d, eax
jge 0x1400380c8
movss xmm0, dword [rbx + 0xc]
addss xmm0, dword [0x140065534]
comiss xmm7, xmm0
ja 0x1400380c8
comiss xmm0, xmm10
jbe 0x1400380c5
movaps xmm7, xmm10
jmp 0x1400380c8
movaps xmm7, xmm0
movss xmm1, dword [rbx + 4]
inc r12d
addss xmm1, dword [rdi + 0xc4]
movss xmm0, dword [rdi + 0xc0]
addss xmm0, xmm0
addss xmm1, dword [rdi + 0xc8]
addss xmm1, xmm0
addss xmm6, xmm1
mov rcx, qword [rsp + 0x28]
inc r13d
add rcx, 2
rol r15d, 1
mov qword [rsp + 0x28], rcx
cmp r13d, dword [rdi + 0x6c]
jl 0x140037c00
cmp byte [rsp + 0x170], 0
movaps xmm14, xmmword [rsp + 0x80]
movaps xmm13, xmmword [rsp + 0x90]
je 0x140038134
lea rsi, [rdi + 0x18]
jmp 0x1400381b0
movsx rax, word [rdi + 0x21c]
lea rsi, [rdi + 0x18]
imul rbp, rax, 0x74
add rbp, qword [rdi + 0x18]
cmp rbp, qword [rdi + 0x18]
jb 0x140038158
cmp rbp, qword [rdi + 0x20]
jb 0x140038172
lea rsi, [rdi + 0x18]
mov r8d, 0x26a
lea rdx, [0x140055600]
lea rcx, str.p___Data__p___DataEnd
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov byte [rbp + 0x6b], 1
movsx rax, word [rdi + 0x21c]
imul rbp, rax, 0x74
add rbp, qword [rdi + 0x18]
cmp rbp, qword [rdi + 0x18]
jb 0x140038192
cmp rbp, qword [rdi + 0x20]
jb 0x1400381ac
mov r8d, 0x26a
lea rdx, [0x140055600]
lea rcx, str.p___Data__p___DataEnd
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov byte [rbp + 0x6c], 0
movsx rax, word [rdi + 0x21e]
movaps xmm15, xmmword [rsp + 0x70]
movaps xmm11, xmmword [rsp + 0xb0]
movaps xmm10, xmmword [rsp + 0xc0]
movaps xmm9, xmmword [rsp + 0xd0]
movaps xmm8, xmmword [rsp + 0xe0]
movaps xmm7, xmmword [rsp + 0xf0]
movaps xmm6, xmmword [rsp + 0x100]
mov r15, qword [rsp + 0x118]
mov r14, qword [rsp + 0x120]
mov r13, qword [rsp + 0x128]
mov r12, qword [rsp + 0x130]
imul rbx, rax, 0x74
add rbx, qword [rsi]
cmp rbx, qword [rsi]
jb 0x140038224
cmp rbx, qword [rsi + 8]
jb 0x14003823e
mov r8d, 0x26a
lea rdx, [0x140055600]
lea rcx, str.p___Data__p___DataEnd
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
cmp byte [rsp + 0x168], 0
movss xmm1, dword [rdi + 0x110]
maxss xmm1, dword [rbx + 0x2c]
je 0x140038270
cmp word [rdi + 0x20a], 0xffff
jne 0x140038270
comiss xmm12, xmm1
jb 0x140038270
movzx eax, word [rdi + 0x6c]
mov word [rdi + 0x20a], ax
cmp byte [rsp + 0x178], 0
movaps xmm12, xmmword [rsp + 0xa0]
jne 0x140038290
mov eax, dword [rdi + 4]
test al, 1
je 0x140038290
and eax, 0xfffffffe
mov dword [rdi + 4], eax
mov rbp, qword [rsp + 0x20]
cmp dword [rbp + 0x4118], 0
setne al
cmp word [rdi + 0x222], 0xffff
mov byte [rdi + 0x244], al
je 0x1400382b6
and dword [rdi + 4], 0xfffeffff
test dword [rdi + 4], 0x10000
je 0x1400382e3
movss xmm0, dword [rdi + 0x128]
minss xmm0, xmm1
movss dword [rdi + 0x118], xmm1
movss dword [rdi + 0xf8], xmm1
movss dword [rdi + 0x128], xmm0
mov rax, qword [rdi + 0x188]
movups xmm0, xmmword [rdi + 0x110]
movups xmmword [rax + 0x240], xmm0
mov eax, dword [rdi + 0x120]
mov dword [rdi + 0xac], eax
mov eax, dword [rdi + 0x128]
mov dword [rdi + 0xb0], eax
mov eax, dword [rdi + 4]
bt eax, 0x11
jae 0x140038323
movss xmm1, dword [rdi + 0xfc]
jmp 0x140038349
bt eax, 0x19
jae 0x14003832e
xorps xmm0, xmm0
jmp 0x140038336
movss xmm0, dword [rdi + 0xfc]
mov rax, qword [rdi + 0x188]
movss xmm1, dword [rax + 0x26c]
maxss xmm1, xmm0
mov rax, qword [rdi + 0x188]
subss xmm1, dword [rbp + 0x3988]
movss xmm0, dword [rax + 0x234]
comiss xmm0, xmm1
ja 0x140038371
movss xmm0, dword [rax + 0x23c]
minss xmm0, xmm1
mov rcx, rdi
movss dword [rax + 0x23c], xmm0
call fcn.14003a600
test byte [rdi + 4], 1
je 0x14003838f
mov rcx, rdi
call fcn.140038670
mov rsi, qword [rsp + 0x30]
mov dword [rsi + 8], 0
cmp byte [rdi + 0x23b], 0
mov byte [rdi + 0x236], 1
mov byte [rdi + 0x23a], 0
mov word [rdi + 0x20e], 0xffff
je 0x1400383d2
movzx ecx, word [rdi + 0x224]
cmp cx, 0xffff
je 0x1400383d2
movzx eax, word [rdi + 0x78]
cmp word [rdi + 0x7a], ax
je 0x140038412
test dword [rdi + 4], 0x10000000
je 0x140038419
movsx ecx, word [rdi + 0x20a]
cmp cx, 0xffff
je 0x140038419
cmp ecx, dword [rdi + 0x6c]
je 0x140038419
cmp word [rdi + 0x20c], 0xffff
jne 0x140038419
cmp dword [rbp + 0x4114], 0
je 0x140038412
cmp byte [rdi + 0x245], 0
jne 0x140038412
cmp byte [rbp + 0x4df4], 0
je 0x140038419
mov word [rdi + 0x20e], cx
cmp byte [rdi + 0x23c], 0
mov rbp, qword [rsp + 0x138]
jne 0x1400384b4
cmp byte [rdi + 0x23b], 0
je 0x1400384b4
movzx eax, word [rdi + 0x7a]
cmp word [rdi + 0x78], ax
jne 0x1400384b4
mov r10d, dword [rdi]
lea r8, [0x140062fd9]
not r10d
lea r11, [0x14005b9c0]
mov ecx, r10d
mov r9b, 0x23
nop dword [rax + rax]
cmp r9b, 0x23
jne 0x140038473
cmp byte [r8], r9b
jne 0x140038473
cmp byte [r8 + 1], r9b
cmove ecx, r10d
movzx edx, cl
movzx eax, r9b
movzx r9d, byte [r8]
xor rdx, rax
shr ecx, 8
inc r8
xor ecx, dword [r11 + rdx*4]
test r9b, r9b
jne 0x140038460
not ecx
call fcn.14001ad80
test al, al
je 0x1400384ad
mov edx, dword [rdi + 4]
mov rcx, rdi
call fcn.14003c220
call fcn.14001ae40
jmp 0x1400384b4
mov byte [rdi + 0x23b], 0
cmp byte [rdi + 0x239], 0
je 0x1400384cb
test byte [rdi + 4], 8
je 0x1400384cb
mov rcx, rdi
call fcn.14003bee0
movsx rax, word [rdi + 0x22a]
test ax, ax
jle 0x140038557
mov rcx, qword [rdi + 0x28]
lea rbx, [rax - 1]
lea rbx, [rcx + rbx*2]
cmp rbx, rcx
jb 0x1400384ef
cmp rbx, qword [rdi + 0x30]
jb 0x140038509
mov r8d, 0x26a
lea rdx, [0x140055600]
lea rcx, str.p___Data__p___DataEnd
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
movsx rax, word [rbx]
imul rbx, rax, 0x74
add rbx, qword [rdi + 0x18]
cmp rbx, qword [rdi + 0x18]
jb 0x140038521
cmp rbx, qword [rdi + 0x20]
jb 0x14003853b
mov r8d, 0x26a
lea rdx, [0x140055600]
lea rcx, str.p___Data__p___DataEnd
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
movss xmm0, dword [rbx + 0xc]
subss xmm0, dword [rdi + 0xf0]
mov rax, qword [rdi + 0x188]
movss dword [rax + 0x80], xmm0
cmp word [rdi + 0x226], 0
jle 0x140038571
mov rcx, qword [rdi + 0x188]
mov eax, dword [rsi + 0xc]
mov dword [rcx + 0x84], eax
mov dword [rsi + 0xc], 0
test dword [rdi + 4], 0x100000
mov rax, qword [rdi + 0x188]
mov rsi, qword [rax + 0x2b0]
je 0x1400385af
mov rcx, qword [rdi + 0x1a0]
mov r8d, 2
mov rdx, rsi
call fcn.1400307a0
add rsp, 0x140
pop rdi
pop rsi
pop rbx
ret
movss xmm2, dword [rax + 0x220]
movss xmm0, dword [rax + 0x228]
comiss xmm2, xmm0
movss xmm1, dword [rax + 0x224]
movss xmm3, dword [rax + 0x22c]
movss dword [rsp + 0x30], xmm2
movss dword [rsp + 0x34], xmm1
movss dword [rsp + 0x38], xmm0
movss dword [rsp + 0x3c], xmm3
jb 0x1400385f2
movss dword [rsp + 0x38], xmm2
comiss xmm1, xmm3
jb 0x1400385fd
movss dword [rsp + 0x3c], xmm1
lea rbx, [rsi + 0x98]
mov ecx, dword [rbx + 4]
mov r8d, dword [rbx]
cmp r8d, ecx
jne 0x140038638
inc r8d
test ecx, ecx
je 0x140038621
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x140038626
mov eax, 8
cmp eax, r8d
mov rcx, rbx
cmovg r8d, eax
mov edx, r8d
call fcn.140023850
movsxd rdx, dword [rbx]
mov rcx, rsi
mov rax, qword [rbx + 8]
add rdx, rdx
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rax + rdx*8], xmm0
inc dword [rbx]
movups xmmword [rsi + 0x60], xmm0
call fcn.14002cf20
add rsp, 0x140
pop rdi
pop rsi
pop rbx
ret