Function at 0x180030860
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0xd8]
sub rsp, 0x1b0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
movaps xmmword [rax - 0xa8], xmm13
mov rax, qword [0x18016f040]
xor rax, rsp
mov qword [rbp + 0x20], rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x10], xmm0
lea rax, [0x180218e90]
mov qword [rbp + 0x10], rax
mov rcx, rax
call sub.KERNEL32.dll_AcquireSRWLockExclusive
mov byte [rbp + 0x18], 1
cmp qword [0x18021cf88], 0
je 0x180031606
mov rax, qword [0x180218ec0]
mov rax, qword [rax + 0x1ca0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.180047e90
mov rdi, rax
mov r13, qword [0x18021cf80]
mov rax, qword [0x18021cf88]
add rax, r13
mov qword [rbp - 0x78], rax
cmp r13, rax
je 0x180031606
lea r8, [0x180000000]
movss xmm13, dword [0x180151fe0]
xorps xmm12, xmm12
mov rcx, qword [0x18021cf78]
dec rcx
and rcx, r13
mov rax, qword [0x18021cf70]
mov rdx, qword [rax + rcx*8]
mov eax, dword [rdx]
dec eax
cmp eax, 7
ja case.default.0x180030975
cdqe
mov ecx, dword [r8 + rax*4 + 0x31680]
add rcx, r8
jmp rcx
lea rbx, [rdx + 8]
test rbx, rbx
je 0x18003166d
mov rcx, qword [rbx + 0x38]
and rcx, 0xfffffffffffffffc
je 0x1800309a2
add rcx, 8
lea rdx, [0x1802168f0]
call fcn.1800ed8f8
test eax, eax
je 0x1800309a4
xor ebx, ebx
test rbx, rbx
je 0x18003166d
movups xmm0, xmmword [rbx]
movups xmmword [rbp - 0x70], xmm0
movsd xmm1, qword [rbx + 0x10]
movaps xmm2, xmm1
shufps xmm2, xmm2, 0x55
movsd qword [rbp - 0x60], xmm1
movss dword [rsp + 0x20], xmm2
mov r9d, dword [rbp - 0x60]
lea r8, [rbp - 0x68]
lea rdx, [rbp - 0x70]
mov rcx, rdi
call fcn.18005c860
jmp 0x1800315f2
lea rbx, [rdx + 8]
test rbx, rbx
je 0x18003166d
mov rcx, qword [rbx + 0x38]
and rcx, 0xfffffffffffffffc
je 0x180030a0f
add rcx, 8
lea rdx, [0x180216778]
call fcn.1800ed8f8
test eax, eax
je 0x180030a11
xor ebx, ebx
test rbx, rbx
je 0x18003166d
movups xmm0, xmmword [rbx]
movups xmmword [rbp - 0x70], xmm0
movups xmm6, xmmword [rbx + 0x10]
movups xmmword [rbp - 0x60], xmm6
movsd xmm0, qword [rbx + 0x20]
movq r9, xmm6
mov rax, r9
shr rax, 0x20
movaps xmm8, xmm0
shufps xmm8, xmm8, 0x55
movsd qword [rbp - 0x50], xmm0
mov ebx, dword [rbp - 0x50]
lea r8, [rbp - 0x68]
lea rdx, [rbp - 0x70]
mov rcx, rdi
test al, 4
je 0x180030a72
mov dword [rsp + 0x28], ebx
movaps xmm7, xmm6
shufps xmm7, xmm6, 0xff
movss dword [rsp + 0x20], xmm7
call fcn.18005cad0
jmp 0x180030a92
movss dword [rsp + 0x30], xmm8
mov dword [rsp + 0x28], ebx
movaps xmm0, xmm6
shufps xmm0, xmm6, 0xff
movaps xmm7, xmm0
movss dword [rsp + 0x20], xmm0
call fcn.18005c9c0
movdqa xmm0, xmm6
psrldq xmm0, 4
movd esi, xmm0
psrldq xmm6, 8
movd r14d, xmm6
movss xmm10, dword [rbp - 0x64]
movss xmm6, dword [rbp - 0x68]
movss xmm11, dword [rbp - 0x6c]
movss xmm9, dword [rbp - 0x70]
test sil, 2
je 0x180030b27
movaps xmm1, xmm10
subss xmm1, xmm13
movaps xmm0, xmm6
subss xmm0, xmm13
movss dword [rsp + 0x60], xmm0
movss dword [rsp + 0x64], xmm1
movaps xmm2, xmm11
addss xmm2, xmm13
movaps xmm0, xmm9
addss xmm0, xmm13
movss dword [rsp + 0x68], xmm0
movss dword [rsp + 0x6c], xmm2
movss dword [rsp + 0x30], xmm8
mov dword [rsp + 0x28], ebx
movss dword [rsp + 0x20], xmm7
mov r9d, r14d
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x68]
mov rcx, rdi
call fcn.18005c9c0
test sil, 1
je 0x1800315f2
addss xmm10, xmm13
addss xmm6, xmm13
movss dword [rsp + 0x70], xmm6
movss dword [rsp + 0x74], xmm10
subss xmm11, xmm13
subss xmm9, xmm13
movss dword [rsp + 0x78], xmm9
movss dword [rsp + 0x7c], xmm11
movss dword [rsp + 0x30], xmm8
mov dword [rsp + 0x28], ebx
movss dword [rsp + 0x20], xmm7
mov r9d, r14d
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0x78]
mov rcx, rdi
call fcn.18005c9c0
jmp 0x1800315f2
lea rbx, [rdx + 8]
test rbx, rbx
je 0x18003166d
mov rcx, qword [rbx + 0x38]
and rcx, 0xfffffffffffffffc
je 0x180030bb6
add rcx, 8
lea rdx, [0x1802168c0]
call fcn.1800ed8f8
test eax, eax
je 0x180030bb8
xor ebx, ebx
test rbx, rbx
je 0x18003166d
movups xmm0, xmmword [rbx]
movups xmmword [rbp - 0x70], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rbp - 0x60], xmm1
movq xmm0, qword [rbx + 0x18]
movq rdx, xmm0
shr rdx, 0x20
movq r9, xmm1
mov rax, r9
shr rax, 0x20
movd dword [rsp + 0x30], xmm0
mov dword [rsp + 0x28], edx
mov dword [rsp + 0x20], eax
lea r8, [rbp - 0x68]
lea rdx, [rbp - 0x70]
mov rcx, rdi
call fcn.18005cc80
jmp 0x1800315f2
lea rbx, [rdx + 8]
test rbx, rbx
je 0x18003166d
mov rcx, qword [rbx + 0x38]
and rcx, 0xfffffffffffffffc
je 0x180030c38
add rcx, 8
lea rdx, [0x180216808]
call fcn.1800ed8f8
test eax, eax
je 0x180030c3a
xor ebx, ebx
test rbx, rbx
je 0x18003166d
movups xmm6, xmmword [rbx]
movups xmmword [rbp - 0x70], xmm6
movups xmm7, xmmword [rbx + 0x10]
movups xmmword [rbp - 0x60], xmm7
movq rax, xmm7
shr rax, 0x20
movaps xmm8, xmm7
shufps xmm8, xmm7, 0xff
lea rdx, [rbp - 0x70]
mov rcx, rdi
test al, 2
je 0x180030c94
psrldq xmm6, 8
movq rax, xmm6
mov r9, rax
shr r9, 0x20
movd dword [rsp + 0x20], xmm7
movd xmm6, eax
movaps xmm2, xmm6
call fcn.18005d290
jmp 0x180030cbb
movss dword [rsp + 0x28], xmm8
movd dword [rsp + 0x20], xmm7
movdqa xmm0, xmm6
psrldq xmm0, 0xc
movd r9d, xmm0
shufps xmm6, xmm6, 0xaa
movaps xmm2, xmm6
call fcn.18005d110
movdqa xmm0, xmm7
psrldq xmm0, 4
movd eax, xmm0
test al, 1
je 0x1800315f2
addss xmm8, xmm13
addss xmm6, xmm13
movss dword [rsp + 0x28], xmm8
movd dword [rsp + 0x20], xmm7
psrldq xmm7, 8
movd r9d, xmm7
movaps xmm2, xmm6
lea rdx, [rbp - 0x70]
mov rcx, rdi
call fcn.18005d110
jmp 0x1800315f2
lea rbx, [rdx + 8]
test rbx, rbx
je 0x18003166d
mov rcx, qword [rbx + 0x38]
and rcx, 0xfffffffffffffffc
je 0x180030d30
add rcx, 8
lea rdx, [0x1802167c8]
call fcn.1800ed8f8
test eax, eax
je 0x180030d32
xor ebx, ebx
test rbx, rbx
je 0x18003166d
movups xmm0, xmmword [rbx]
movups xmmword [rbp - 0x70], xmm0
movups xmm7, xmmword [rbx + 0x10]
movups xmmword [rbp - 0x60], xmm7
movsd xmm1, qword [rbx + 0x20]
movq xmm0, qword [rbx + 0x18]
movq rax, xmm0
shr rax, 0x20
movaps xmm6, xmm1
shufps xmm6, xmm6, 0x55
movsd qword [rbp - 0x50], xmm1
lea r9, [rbp - 0x60]
lea r8, [rbp - 0x68]
lea rdx, [rbp - 0x70]
mov rcx, rdi
test al, 2
je 0x180030d89
movd dword [rsp + 0x20], xmm0
call fcn.18005cfc0
jmp 0x180030d9a
movss dword [rsp + 0x28], xmm6
movd dword [rsp + 0x20], xmm0
call fcn.18005ce60
psrldq xmm7, 0xc
movd eax, xmm7
test al, 1
je 0x1800315f2
addss xmm6, xmm13
movss dword [rsp + 0x28], xmm6
mov eax, dword [rbp - 0x50]
mov dword [rsp + 0x20], eax
lea r9, [rbp - 0x60]
lea r8, [rbp - 0x68]
lea rdx, [rbp - 0x70]
mov rcx, rdi
call fcn.18005ce60
jmp 0x1800315f2
lea rbx, [rdx + 8]
test rbx, rbx
je 0x18003166d
mov rcx, qword [rbx + 0x38]
and rcx, 0xfffffffffffffffc
je 0x180030e01
add rcx, 8
lea rdx, [0x180216918]
call fcn.1800ed8f8
test eax, eax
je 0x180030e03
xor ebx, ebx
test rbx, rbx
je 0x18003166d
mov rdx, rbx
lea rcx, [rbp - 0x70]
call fcn.180031ce0
mov r9d, dword [rbx + 0x18]
mov dword [rbp - 0x58], r9d
mov r15d, dword [rbx + 0x1c]
mov dword [rbp - 0x54], r15d
mov r12d, dword [rbx + 0x20]
mov dword [rbp - 0x50], r12d
movzx r14d, byte [rbx + 0x24]
mov byte [rbp - 0x4c], r14b
movss xmm6, dword [rbx + 0x28]
movss dword [rbp - 0x48], xmm6
mov rsi, qword [rbp - 0x68]
mov rbx, qword [rbp - 0x70]
mov rcx, rdi
mov r8, rsi
mov rdx, rbx
sub r8, rbx
sar r8, 3
test r15b, 2
je 0x180030e68
call fcn.18005b380
jmp 0x180030e78
movss dword [rsp + 0x28], xmm6
mov dword [rsp + 0x20], r14d
call fcn.18005a450
test r15b, 1
je 0x180030ea7
addss xmm6, xmm13
sub rsi, rbx
sar rsi, 3
movss dword [rsp + 0x28], xmm6
mov dword [rsp + 0x20], r14d
mov r9d, r12d
mov r8d, esi
mov rdx, rbx
mov rcx, rdi
call fcn.18005a450
nop
test rbx, rbx
je 0x1800315f2
mov rax, qword [rbp - 0x60]
sub rax, rbx
sar rax, 3
lea rdx, [rax*8]
mov rax, rbx
cmp rdx, 0x1000
jb 0x180030ee8
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180031673
mov rcx, rbx
call fcn.1800e9980
jmp 0x1800315f2
lea rbx, [rdx + 8]
test rbx, rbx
je 0x180031667
mov rcx, qword [rbx + 0x38]
and rcx, 0xfffffffffffffffc
je 0x180030f26
add rcx, 8
lea rdx, [0x1802167a0]
call fcn.1800ed8f8
test eax, eax
jne 0x180030f26
mov rbx, qword [rbx + 0x28]
jmp 0x180030f28
xor ebx, ebx
test rbx, rbx
je 0x180031667
mov rax, qword [rbx]
mov qword [rbp - 0x40], rax
movss xmm0, dword [rbx + 8]
movss dword [rbp - 0x38], xmm0
movss xmm1, dword [rbx + 0xc]
movss dword [rbp - 0x34], xmm1
movss xmm0, dword [rbx + 0x10]
movss dword [rbp - 0x30], xmm0
lea rdx, [rbx + 0x18]
lea rcx, [rbp - 0x28]
call fcn.180009fe0
mov eax, dword [rbx + 0x38]
mov dword [rbp - 8], eax
mov eax, dword [rbx + 0x3c]
mov dword [rbp - 4], eax
mov eax, dword [rbx + 0x40]
mov dword [rbp], eax
mov rax, qword [rbp - 0x40]
mov rdx, qword [rax + 0x40]
mov rdx, qword [rdx + 8]
mov rcx, rdi
call fcn.18005a160
movaps xmm6, xmm12
lea rax, [rbp - 0x28]
cmp qword [rbp - 0x10], 0xf
cmova rax, qword [rbp - 0x28]
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm12
movss xmm3, dword [0x180152180]
movss xmm2, dword [rbp - 0x38]
lea rdx, [rbp - 0x80]
mov rcx, qword [rbp - 0x40]
call fcn.18005ffa0
mov eax, dword [rbp - 4]
test al, 4
je 0x180030fe2
movss xmm0, dword [rbp - 0x80]
mulss xmm0, dword [0x180151fa8]
subss xmm6, xmm0
movaps xmm7, xmm12
test al, 8
je 0x180031000
movss xmm0, dword [rbp - 0x7c]
mulss xmm0, dword [0x180151fa8]
addss xmm6, xmm12
subss xmm7, xmm0
test al, 1
je 0x180031052
lea r8, [rbp - 0x28]
cmp qword [rbp - 0x10], 0xf
cmova r8, qword [rbp - 0x28]
movaps xmm3, xmm7
addss xmm3, dword [rbp - 0x30]
movaps xmm1, xmm6
addss xmm1, dword [rbp - 0x34]
movss xmm2, dword [rbp - 0x38]
mov rcx, qword [rbp - 0x40]
mov r9d, dword [rbp]
test r9d, 0xff000000
je 0x18003133f
mov rdx, 0xffffffffffffffff
inc rdx
cmp byte [r8 + rdx], 0
jne 0x180031043
jmp 0x1800312da
test al, 2
je 0x18003133f
lea r8, [rbp - 0x28]
cmp qword [rbp - 0x10], 0xf
cmova r8, qword [rbp - 0x28]
movaps xmm3, xmm7
addss xmm3, dword [rbp - 0x30]
subss xmm3, xmm13
movaps xmm1, xmm6
addss xmm1, dword [rbp - 0x34]
subss xmm1, xmm13
movss xmm2, dword [rbp - 0x38]
mov rcx, qword [rbp - 0x40]
mov r9d, dword [rbp]
test r9d, 0xff000000
je 0x180031116
mov rdx, 0xffffffffffffffff
inc rdx
cmp byte [r8 + rdx], 0
jne 0x1800310a3
add rdx, r8
cmp r8, rdx
je 0x180031116
test rcx, rcx
jne 0x1800310c2
mov rax, qword [rdi + 0x38]
mov rcx, qword [rax + 8]
ucomiss xmm2, xmm12
jp 0x1800310d3
jne 0x1800310d3
mov rax, qword [rdi + 0x38]
movss xmm2, dword [rax + 0x10]
movups xmm0, xmmword [rdi + 0x88]
movups xmmword [rbp - 0x70], xmm0
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm12
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x30], r8
lea rax, [rbp - 0x70]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r9d
unpcklps xmm1, xmm3
movq r9, xmm1
mov rdx, rdi
call fcn.1800601c0
mov r9d, dword [rbp]
lea r8, [rbp - 0x28]
cmp qword [rbp - 0x10], 0xf
cmova r8, qword [rbp - 0x28]
movaps xmm3, xmm7
addss xmm3, dword [rbp - 0x30]
subss xmm3, dword [0x18015218c]
movaps xmm1, xmm6
addss xmm1, dword [rbp - 0x34]
subss xmm1, xmm13
movss xmm2, dword [rbp - 0x38]
mov rcx, qword [rbp - 0x40]
test r9d, 0xff000000
je 0x1800311d3
mov rdx, 0xffffffffffffffff
nop
inc rdx
cmp byte [r8 + rdx], 0
jne 0x180031160
add rdx, r8
cmp r8, rdx
je 0x1800311d3
test rcx, rcx
jne 0x18003117f
mov rax, qword [rdi + 0x38]
mov rcx, qword [rax + 8]
ucomiss xmm2, xmm12
jp 0x180031190
jne 0x180031190
mov rax, qword [rdi + 0x38]
movss xmm2, dword [rax + 0x10]
movups xmm0, xmmword [rdi + 0x88]
movups xmmword [rbp - 0x70], xmm0
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm12
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x30], r8
lea rax, [rbp - 0x70]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r9d
unpcklps xmm1, xmm3
movq r9, xmm1
mov rdx, rdi
call fcn.1800601c0
mov r9d, dword [rbp]
lea r8, [rbp - 0x28]
cmp qword [rbp - 0x10], 0xf
cmova r8, qword [rbp - 0x28]
movaps xmm3, xmm7
addss xmm3, dword [rbp - 0x30]
subss xmm3, xmm13
movaps xmm1, xmm6
addss xmm1, dword [rbp - 0x34]
addss xmm1, xmm13
movss xmm2, dword [rbp - 0x38]
mov rcx, qword [rbp - 0x40]
test r9d, 0xff000000
je 0x180031287
mov rdx, 0xffffffffffffffff
inc rdx
cmp byte [r8 + rdx], 0
jne 0x180031214
add rdx, r8
cmp r8, rdx
je 0x180031287
test rcx, rcx
jne 0x180031233
mov rax, qword [rdi + 0x38]
mov rcx, qword [rax + 8]
ucomiss xmm2, xmm12
jp 0x180031244
jne 0x180031244
mov rax, qword [rdi + 0x38]
movss xmm2, dword [rax + 0x10]
movups xmm0, xmmword [rdi + 0x88]
movups xmmword [rbp - 0x70], xmm0
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm12
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x30], r8
lea rax, [rbp - 0x70]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r9d
unpcklps xmm1, xmm3
movq r9, xmm1
mov rdx, rdi
call fcn.1800601c0
mov r9d, dword [rbp]
lea r8, [rbp - 0x28]
cmp qword [rbp - 0x10], 0xf
cmova r8, qword [rbp - 0x28]
movaps xmm3, xmm7
addss xmm3, dword [rbp - 0x30]
addss xmm3, xmm13
movaps xmm1, xmm6
addss xmm1, dword [rbp - 0x34]
addss xmm1, xmm13
movss xmm2, dword [rbp - 0x38]
mov rcx, qword [rbp - 0x40]
test r9d, 0xff000000
je 0x18003133f
mov rdx, 0xffffffffffffffff
nop dword [rax + rax]
inc rdx
cmp byte [r8 + rdx], 0
jne 0x1800312d0
add rdx, r8
cmp r8, rdx
je 0x18003133f
test rcx, rcx
jne 0x1800312ef
mov rax, qword [rdi + 0x38]
mov rcx, qword [rax + 8]
ucomiss xmm2, xmm12
jp 0x180031300
jne 0x180031300
mov rax, qword [rdi + 0x38]
movss xmm2, dword [rax + 0x10]
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm12
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x30], r8
lea rax, [rbp - 0x70]
mov qword [rsp + 0x28], rax
movups xmm0, xmmword [rdi + 0x88]
mov dword [rsp + 0x20], r9d
unpcklps xmm1, xmm3
movups xmmword [rbp - 0x70], xmm0
movq r9, xmm1
mov rdx, rdi
call fcn.1800601c0
lea r8, [rbp - 0x28]
cmp qword [rbp - 0x10], 0xf
cmova r8, qword [rbp - 0x28]
addss xmm7, dword [rbp - 0x30]
addss xmm6, dword [rbp - 0x34]
movss xmm2, dword [rbp - 0x38]
mov rcx, qword [rbp - 0x40]
mov r9d, dword [rbp - 8]
test r9d, 0xff000000
je 0x1800313e6
mov rdx, 0xffffffffffffffff
inc rdx
cmp byte [r8 + rdx], 0
jne 0x180031374
add rdx, r8
cmp r8, rdx
je 0x1800313e6
test rcx, rcx
jne 0x180031393
mov rax, qword [rdi + 0x38]
mov rcx, qword [rax + 8]
ucomiss xmm2, xmm12
jp 0x1800313a4
jne 0x1800313a4
mov rax, qword [rdi + 0x38]
movss xmm2, dword [rax + 0x10]
movups xmm0, xmmword [rdi + 0x88]
movups xmmword [rbp - 0x70], xmm0
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm12
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x30], r8
lea rax, [rbp - 0x70]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r9d
movaps xmm0, xmm6
unpcklps xmm0, xmm7
movq r9, xmm0
mov rdx, rdi
call fcn.1800601c0
movsxd rcx, dword [rdi + 0x68]
lea eax, [rcx - 1]
mov dword [rdi + 0x68], eax
test eax, eax
jne 0x1800313f8
xor eax, eax
jmp 0x180031401
mov rax, qword [rdi + 0x70]
mov rax, qword [rax + rcx*8 - 0x10]
mov qword [rdi + 0x98], rax
mov rcx, rdi
call fcn.180059fa0
nop
mov rdx, qword [rbp - 0x10]
cmp rdx, 0xf
jbe 0x1800315f2
inc rdx
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003144b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180031679
call fcn.1800e9980
jmp 0x1800315f2
lea rbx, [rdx + 8]
test rbx, rbx
je 0x18003166d
mov rcx, qword [rbx + 0x38]
and rcx, 0xfffffffffffffffc
je 0x180031480
add rcx, 8
lea rdx, [0x180216940]
call fcn.1800ed8f8
test eax, eax
je 0x180031482
xor ebx, ebx
test rbx, rbx
je 0x18003166d
movups xmm1, xmmword [rbx]
movups xmmword [rbp - 0x70], xmm1
movups xmm6, xmmword [rbx + 0x10]
movups xmmword [rbp - 0x60], xmm6
movsd xmm0, qword [rbx + 0x20]
movsd qword [rbp - 0x50], xmm0
mov ecx, dword [rbp - 0x50]
mov dword [rsp + 0x50], 0x3f800000
mov dword [rsp + 0x54], 0x3f800000
mov qword [rsp + 0x58], 0
mov r15d, dword [rbx + 0x18]
test r15d, 0xff000000
je 0x1800315f2
mov esi, ecx
or esi, 0xf0
test ecx, 0x1f0
cmovne esi, ecx
shufps xmm6, xmm6, 0xff
comiss xmm12, xmm6
jae 0x1800315c4
mov eax, esi
and eax, 0x1f0
cmp eax, 0x100
je 0x1800315c4
mov r12, qword [rdi + 0x98]
movq r14, xmm1
cmp r14, r12
je 0x18003151e
mov rdx, r14
mov rcx, rdi
call fcn.18005a160
mov ebx, dword [rdi + 0x20]
mov dword [rsp + 0x20], esi
movaps xmm3, xmm6
lea r8, [rbp - 0x60]
lea rdx, [rbp - 0x68]
mov rcx, rdi
call fcn.18005c460
mov r9d, r15d
mov r8d, dword [rdi + 0x78]
mov rdx, qword [rdi + 0x80]
mov rcx, rdi
call fcn.18005b380
mov dword [rdi + 0x78], 0
lea rax, [rsp + 0x50]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x60]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x68]
mov r8d, dword [rdi + 0x20]
mov edx, ebx
mov rcx, rdi
call fcn.18005da90
cmp r14, r12
je 0x1800315f2
movsxd rcx, dword [rdi + 0x68]
lea eax, [rcx - 1]
mov dword [rdi + 0x68], eax
test eax, eax
jne 0x1800315aa
xor eax, eax
mov qword [rdi + 0x98], rax
mov rcx, rdi
call fcn.180059fa0
jmp 0x1800315f2
mov rax, qword [rdi + 0x70]
mov rax, qword [rax + rcx*8 - 0x10]
mov qword [rdi + 0x98], rax
mov rcx, rdi
call fcn.180059fa0
jmp 0x1800315f2
mov dword [rsp + 0x30], r15d
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x60]
lea r8, [rbp - 0x68]
movq rdx, xmm1
mov rcx, rdi
call fcn.18005d470
lea r8, [0x180000000]
inc r13
cmp r13, qword [rbp - 0x78]
jne 0x180030943
lea rcx, [0x180218e90]
call sub.KERNEL32.dll_ReleaseSRWLockExclusive
mov rcx, qword [rbp + 0x20]
xor rcx, rsp
call fcn.1800e9960
lea r11, [rsp + 0x1b0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.18002bd20
nop
call fcn.18002bd20
int3
call fcn.1800fa800
int3
call fcn.1800fa800
int3