Function at 0x1400a51a0
Capabilities:
Hash data with crc32

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x68
movaps xmmword [rsp + 0x50], xmm9
movaps xmmword [rsp + 0x40], xmm8
movaps xmmword [rsp + 0x30], xmm7
movaps xmmword [rsp + 0x20], xmm6
mov rsi, qword [0x14032b510]
mov eax, dword [rsi + 0x4098]
mov dword [rsi + 0x40a0], eax
test byte [rsi + 0x3e65], 4
je 0x1400a5687
cmp dword [rsi + 0x4c78], 2
jl 0x1400a5687
mov r13d, 1
xorps xmm6, xmm6
lea r15, [0x1402d8a68]
lea r12, str._viewport__Destroy_Platform_Window__08X__s_n
xorps xmm7, xmm7
movaps xmm8, xmmword [0x140260310]
movss xmm9, dword [0x14025e0e0]
lea rdi, [0x14025f0d0]
jmp 0x1400a525c
mov word [r14 + 0x59], 0
mov byte [r14 + 0x5b], 0
movups xmmword [r14 + 0x38], xmm6
mov qword [r14 + 0x48], 0
inc r13
movsxd rax, dword [rsi + 0x4c78]
cmp r13, rax
jge 0x1400a5687
mov rax, qword [rsi + 0x4c80]
mov r14, qword [rax + r13*8]
mov ecx, dword [rsi + 0x4098]
lea edx, [rcx - 1]
mov rax, qword [r14 + 0x60]
test rax, rax
je 0x1400a5290
cmp byte [rax + 0xf3], 0
je 0x1400a52a0
cmp byte [rax + 0xfa], 0
sete bpl
jmp 0x1400a52a2
xor ebp, ebp
jmp 0x1400a52a6
xor ebp, ebp
xor bpl, 1
mov ebx, dword [r14 + 0x6c]
cmp ebx, edx
jl 0x1400a52f0
test bpl, bpl
jne 0x1400a52f0
cmp ebx, ecx
jl 0x1400a5249
movss xmm0, dword [r14 + 0x10]
ucomiss xmm7, xmm0
jae 0x1400a5249
ucomiss xmm7, dword [r14 + 0x14]
jae 0x1400a5249
movzx ebp, byte [r14 + 0x58]
test bpl, bpl
je 0x1400a535b
movss xmm1, dword [r14 + 0x108]
jmp 0x1400a53c7
cmp byte [r14 + 0x58], 0
je 0x1400a5230
mov rbx, qword [0x14032b510]
test byte [rbx + 0x6295], 2
je 0x1400a5322
mov r8, r15
test rax, rax
je 0x1400a5317
mov r8, qword [rax + 8]
mov edx, dword [r14]
mov rcx, r12
call fcn.14007faf0
mov rax, qword [rbx + 0x39b8]
test rax, rax
je 0x1400a5333
mov rcx, r14
call rax
mov rax, qword [rbx + 0x3928]
test rax, rax
je 0x1400a5344
mov rcx, r14
call rax
cmp dword [r14], 0x11111111
je 0x1400a5230
mov byte [r14 + 0x58], 0
jmp 0x1400a5230
test byte [rsi + 0x6295], 2
je 0x1400a537f
mov r8, r15
test rax, rax
je 0x1400a5370
mov r8, qword [rax + 8]
mov edx, dword [r14]
lea rcx, str._viewport__Create_Platform_Window__08X__s_n
call fcn.14007faf0
mov rcx, r14
call qword [rsi + 0x3920]
mov rax, qword [rsi + 0x39b0]
test rax, rax
je 0x1400a5399
mov rcx, r14
call rax
inc dword [rsi + 0x4cf4]
mov dword [r14 + 0x74], 0
movups xmmword [r14 + 0x108], xmm8
mov rax, qword [r14 + 0x10]
mov qword [r14 + 0x118], rax
mov byte [r14 + 0x58], 1
movd xmm0, eax
movaps xmm1, xmm9
ucomiss xmm1, dword [r14 + 8]
jne 0x1400a53e2
jp 0x1400a53e2
movss xmm1, dword [r14 + 0x10c]
ucomiss xmm1, dword [r14 + 0xc]
jne 0x1400a53e2
jnp 0x1400a53fc
cmp byte [r14 + 0x59], 0
jne 0x1400a53fc
mov rdx, qword [r14 + 8]
mov rcx, r14
call qword [rsi + 0x3938]
movss xmm0, dword [r14 + 0x10]
movss xmm1, dword [r14 + 0x110]
ucomiss xmm1, xmm0
jne 0x1400a541e
jp 0x1400a541e
movss xmm0, dword [r14 + 0x114]
ucomiss xmm0, dword [r14 + 0x14]
jne 0x1400a541e
jnp 0x1400a5432
cmp byte [r14 + 0x5a], 0
jne 0x1400a5432
mov rdx, qword [r14 + 0x10]
mov rcx, r14
call qword [rsi + 0x3948]
movss xmm0, dword [r14 + 0x118]
ucomiss xmm0, dword [r14 + 0x10]
jne 0x1400a5456
jp 0x1400a5456
movss xmm0, dword [r14 + 0x11c]
ucomiss xmm0, dword [r14 + 0x14]
jne 0x1400a5456
jnp 0x1400a546b
mov rax, qword [rsi + 0x39c0]
test rax, rax
je 0x1400a546b
mov rdx, qword [r14 + 0x10]
mov rcx, r14
call rax
mov rax, qword [r14 + 8]
mov rcx, qword [r14 + 0x10]
mov qword [r14 + 0x108], rax
mov qword [r14 + 0x118], rcx
mov qword [r14 + 0x110], rcx
mov rax, qword [r14 + 0x60]
mov rcx, qword [rax + 0x460]
test rcx, rcx
je 0x1400a54a8
mov rax, qword [rcx + 0x90]
test rax, rax
je 0x1400a55e7
mov rdx, qword [rax + 8]
cmp rdx, 0xffffffffffffffff
je 0x1400a54df
mov r15, rdx
jmp 0x1400a54d0
cmp byte [r15 + 1], 0x23
je 0x1400a54e6
inc r15
cmp r15, 0xffffffffffffffff
je 0x1400a54df
movzx eax, byte [r15]
cmp eax, 0x23
je 0x1400a54c0
test eax, eax
jne 0x1400a54c7
jmp 0x1400a54e6
mov r15, 0xffffffffffffffff
mov r9d, ebp
cmp r15, rdx
je 0x1400a555f
mov rax, rdx
not rax
add rax, r15
lea rcx, [rdx + 2]
mov ebp, 0xffffffff
jmp 0x1400a5531
mov r12d, ebp
shr r12d, 8
movzx ebp, bpl
xor ebp, ebx
xor r12d, dword [rdi + rbp*4]
inc rcx
mov ebp, r12d
add rax, 0xffffffffffffffff
jae 0x1400a55c3
movzx ebx, byte [rcx - 2]
cmp ebx, 0x23
jne 0x1400a5510
cmp rax, 2
jb 0x1400a5510
cmp byte [rcx - 1], 0x23
jne 0x1400a5510
cmp byte [rcx], 0x23
mov r8, rsi
mov rsi, rdi
mov edi, 0xffffffff
cmove ebp, edi
mov rdi, rsi
mov rsi, r8
jmp 0x1400a5510
movzx ecx, byte [rdx]
test cl, cl
je 0x1400a55bd
lea rax, [rdx + 2]
mov ebp, 0xffffffff
jmp 0x1400a55a0
movzx ecx, cl
mov r12d, ebp
shr r12d, 8
movzx ebp, bpl
xor ebp, ecx
xor r12d, dword [rdi + rbp*4]
inc rax
mov ecx, ebx
mov ebp, r12d
test bl, bl
je 0x1400a55c3
movzx ebx, byte [rax - 1]
cmp cl, 0x23
jne 0x1400a5580
cmp bl, 0x23
jne 0x1400a5580
cmp byte [rax], 0x23
mov ebx, 0xffffffff
cmove ebp, ebx
mov bl, reloc.WLDAP32.dll_Ordinal_35
jmp 0x1400a5580
mov r12d, 0xffffffff
not r12d
cmp dword [r14 + 0x74], r12d
mov ebp, r9d
je 0x1400a55e7
movzx ebx, byte [r15]
mov byte [r15], 0
mov rcx, r14
call qword [rsi + 0x3970]
mov byte [r15], bl
mov dword [r14 + 0x74], r12d
movss xmm1, dword [r14 + 0x80]
movss xmm0, dword [r14 + 0x84]
ucomiss xmm0, xmm1
jne 0x1400a5600
jnp 0x1400a561a
mov rax, qword [rsi + 0x3978]
test rax, rax
je 0x1400a561a
mov rcx, r14
call rax
movss xmm1, dword [r14 + 0x80]
lea r15, [0x1402d8a68]
lea r12, str._viewport__Destroy_Platform_Window__08X__s_n
movss dword [r14 + 0x84], xmm1
mov rax, qword [rsi + 0x3980]
test rax, rax
je 0x1400a5642
mov rcx, r14
call rax
test bpl, bpl
jne 0x1400a5676
cmp dword [rsi + 0x4098], 2
jg 0x1400a5655
or byte [r14 + 4], 0x20
mov rcx, r14
call qword [rsi + 0x3930]
mov eax, dword [rsi + 0x4cf8]
cmp dword [r14 + 0x70], eax
je 0x1400a5676
inc eax
mov dword [rsi + 0x4cf8], eax
mov dword [r14 + 0x70], eax
mov word [r14 + 0x59], 0
mov byte [r14 + 0x5b], 0
jmp 0x1400a5249
movaps xmm6, xmmword [rsp + 0x20]
movaps xmm7, xmmword [rsp + 0x30]
movaps xmm8, xmmword [rsp + 0x40]
movaps xmm9, xmmword [rsp + 0x50]
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret