Function at 0x180030430
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 0x1800311d6
mov rax, qword [0x180218ec0]
mov rax, qword [rax + 0x1ca0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.180047bc0
mov rdi, rax
mov r13, qword [0x18021cf80]
mov rax, qword [0x18021cf88]
add rax, r13
mov qword [rbp - 0x78], rax
cmp r13, rax
je 0x1800311d6
lea r8, [0x180000000]
movss xmm13, dword [0x180151fa8]
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.0x180030545
cdqe
mov ecx, dword [r8 + rax*4 + 0x31250]
add rcx, r8
jmp rcx
lea rbx, [rdx + 8]
test rbx, rbx
je 0x18003123d
mov rcx, qword [rbx + 0x38]
and rcx, 0xfffffffffffffffc
je 0x180030572
add rcx, 8
lea rdx, [0x1802168f0]
call fcn.1800edaf8
test eax, eax
je 0x180030574
xor ebx, ebx
test rbx, rbx
je 0x18003123d
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.18005c590
jmp 0x1800311c2
lea rbx, [rdx + 8]
test rbx, rbx
je 0x18003123d
mov rcx, qword [rbx + 0x38]
and rcx, 0xfffffffffffffffc
je 0x1800305df
add rcx, 8
lea rdx, [0x180216778]
call fcn.1800edaf8
test eax, eax
je 0x1800305e1
xor ebx, ebx
test rbx, rbx
je 0x18003123d
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 0x180030642
mov dword [rsp + 0x28], ebx
movaps xmm7, xmm6
shufps xmm7, xmm6, 0xff
movss dword [rsp + 0x20], xmm7
call fcn.18005c800
jmp 0x180030662
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.18005c6f0
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 0x1800306f7
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.18005c6f0
test sil, 1
je 0x1800311c2
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.18005c6f0
jmp 0x1800311c2
lea rbx, [rdx + 8]
test rbx, rbx
je 0x18003123d
mov rcx, qword [rbx + 0x38]
and rcx, 0xfffffffffffffffc
je 0x180030786
add rcx, 8
lea rdx, [0x1802168c0]
call fcn.1800edaf8
test eax, eax
je 0x180030788
xor ebx, ebx
test rbx, rbx
je 0x18003123d
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.18005c9b0
jmp 0x1800311c2
lea rbx, [rdx + 8]
test rbx, rbx
je 0x18003123d
mov rcx, qword [rbx + 0x38]
and rcx, 0xfffffffffffffffc
je 0x180030808
add rcx, 8
lea rdx, [0x180216808]
call fcn.1800edaf8
test eax, eax
je 0x18003080a
xor ebx, ebx
test rbx, rbx
je 0x18003123d
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 0x180030864
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.18005cfc0
jmp 0x18003088b
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.18005ce40
movdqa xmm0, xmm7
psrldq xmm0, 4
movd eax, xmm0
test al, 1
je 0x1800311c2
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.18005ce40
jmp 0x1800311c2
lea rbx, [rdx + 8]
test rbx, rbx
je 0x18003123d
mov rcx, qword [rbx + 0x38]
and rcx, 0xfffffffffffffffc
je 0x180030900
add rcx, 8
lea rdx, [0x1802167c8]
call fcn.1800edaf8
test eax, eax
je 0x180030902
xor ebx, ebx
test rbx, rbx
je 0x18003123d
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 0x180030959
movd dword [rsp + 0x20], xmm0
call fcn.18005ccf0
jmp 0x18003096a
movss dword [rsp + 0x28], xmm6
movd dword [rsp + 0x20], xmm0
call fcn.18005cb90
psrldq xmm7, 0xc
movd eax, xmm7
test al, 1
je 0x1800311c2
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.18005cb90
jmp 0x1800311c2
lea rbx, [rdx + 8]
test rbx, rbx
je 0x18003123d
mov rcx, qword [rbx + 0x38]
and rcx, 0xfffffffffffffffc
je 0x1800309d1
add rcx, 8
lea rdx, [0x180216918]
call fcn.1800edaf8
test eax, eax
je 0x1800309d3
xor ebx, ebx
test rbx, rbx
je 0x18003123d
mov rdx, rbx
lea rcx, [rbp - 0x70]
call fcn.1800318b0
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 0x180030a38
call fcn.18005b0b0
jmp 0x180030a48
movss dword [rsp + 0x28], xmm6
mov dword [rsp + 0x20], r14d
call fcn.18005a180
test r15b, 1
je 0x180030a77
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.18005a180
nop
test rbx, rbx
je 0x1800311c2
mov rax, qword [rbp - 0x60]
sub rax, rbx
sar rax, 3
lea rdx, [rax*8]
mov rax, rbx
cmp rdx, 0x1000
jb 0x180030ab8
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180031243
mov rcx, rbx
call fcn.1800e9b80
jmp 0x1800311c2
lea rbx, [rdx + 8]
test rbx, rbx
je 0x180031237
mov rcx, qword [rbx + 0x38]
and rcx, 0xfffffffffffffffc
je 0x180030af6
add rcx, 8
lea rdx, [0x1802167a0]
call fcn.1800edaf8
test eax, eax
jne 0x180030af6
mov rbx, qword [rbx + 0x28]
jmp 0x180030af8
xor ebx, ebx
test rbx, rbx
je 0x180031237
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.18000a030
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.180059e90
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 [0x180152148]
movss xmm2, dword [rbp - 0x38]
lea rdx, [rbp - 0x80]
mov rcx, qword [rbp - 0x40]
call fcn.18005fcd0
mov eax, dword [rbp - 4]
test al, 4
je 0x180030bb2
movss xmm0, dword [rbp - 0x80]
mulss xmm0, dword [0x180151f70]
subss xmm6, xmm0
movaps xmm7, xmm12
test al, 8
je 0x180030bd0
movss xmm0, dword [rbp - 0x7c]
mulss xmm0, dword [0x180151f70]
addss xmm6, xmm12
subss xmm7, xmm0
test al, 1
je 0x180030c22
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 0x180030f0f
mov rdx, 0xffffffffffffffff
inc rdx
cmp byte [r8 + rdx], 0
jne 0x180030c13
jmp 0x180030eaa
test al, 2
je 0x180030f0f
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 0x180030ce6
mov rdx, 0xffffffffffffffff
inc rdx
cmp byte [r8 + rdx], 0
jne 0x180030c73
add rdx, r8
cmp r8, rdx
je 0x180030ce6
test rcx, rcx
jne 0x180030c92
mov rax, qword [rdi + 0x38]
mov rcx, qword [rax + 8]
ucomiss xmm2, xmm12
jp 0x180030ca3
jne 0x180030ca3
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.18005fef0
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 [0x180152154]
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 0x180030da3
mov rdx, 0xffffffffffffffff
nop
inc rdx
cmp byte [r8 + rdx], 0
jne 0x180030d30
add rdx, r8
cmp r8, rdx
je 0x180030da3
test rcx, rcx
jne 0x180030d4f
mov rax, qword [rdi + 0x38]
mov rcx, qword [rax + 8]
ucomiss xmm2, xmm12
jp 0x180030d60
jne 0x180030d60
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.18005fef0
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 0x180030e57
mov rdx, 0xffffffffffffffff
inc rdx
cmp byte [r8 + rdx], 0
jne 0x180030de4
add rdx, r8
cmp r8, rdx
je 0x180030e57
test rcx, rcx
jne 0x180030e03
mov rax, qword [rdi + 0x38]
mov rcx, qword [rax + 8]
ucomiss xmm2, xmm12
jp 0x180030e14
jne 0x180030e14
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.18005fef0
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 0x180030f0f
mov rdx, 0xffffffffffffffff
nop dword [rax + rax]
inc rdx
cmp byte [r8 + rdx], 0
jne 0x180030ea0
add rdx, r8
cmp r8, rdx
je 0x180030f0f
test rcx, rcx
jne 0x180030ebf
mov rax, qword [rdi + 0x38]
mov rcx, qword [rax + 8]
ucomiss xmm2, xmm12
jp 0x180030ed0
jne 0x180030ed0
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.18005fef0
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 0x180030fb6
mov rdx, 0xffffffffffffffff
inc rdx
cmp byte [r8 + rdx], 0
jne 0x180030f44
add rdx, r8
cmp r8, rdx
je 0x180030fb6
test rcx, rcx
jne 0x180030f63
mov rax, qword [rdi + 0x38]
mov rcx, qword [rax + 8]
ucomiss xmm2, xmm12
jp 0x180030f74
jne 0x180030f74
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.18005fef0
movsxd rcx, dword [rdi + 0x68]
lea eax, [rcx - 1]
mov dword [rdi + 0x68], eax
test eax, eax
jne 0x180030fc8
xor eax, eax
jmp 0x180030fd1
mov rax, qword [rdi + 0x70]
mov rax, qword [rax + rcx*8 - 0x10]
mov qword [rdi + 0x98], rax
mov rcx, rdi
call fcn.180059cd0
nop
mov rdx, qword [rbp - 0x10]
cmp rdx, 0xf
jbe 0x1800311c2
inc rdx
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003101b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180031249
call fcn.1800e9b80
jmp 0x1800311c2
lea rbx, [rdx + 8]
test rbx, rbx
je 0x18003123d
mov rcx, qword [rbx + 0x38]
and rcx, 0xfffffffffffffffc
je 0x180031050
add rcx, 8
lea rdx, [0x180216940]
call fcn.1800edaf8
test eax, eax
je 0x180031052
xor ebx, ebx
test rbx, rbx
je 0x18003123d
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 0x1800311c2
mov esi, ecx
or esi, 0xf0
test ecx, 0x1f0
cmovne esi, ecx
shufps xmm6, xmm6, 0xff
comiss xmm12, xmm6
jae 0x180031194
mov eax, esi
and eax, 0x1f0
cmp eax, 0x100
je 0x180031194
mov r12, qword [rdi + 0x98]
movq r14, xmm1
cmp r14, r12
je 0x1800310ee
mov rdx, r14
mov rcx, rdi
call fcn.180059e90
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.18005c190
mov r9d, r15d
mov r8d, dword [rdi + 0x78]
mov rdx, qword [rdi + 0x80]
mov rcx, rdi
call fcn.18005b0b0
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.18005d7c0
cmp r14, r12
je 0x1800311c2
movsxd rcx, dword [rdi + 0x68]
lea eax, [rcx - 1]
mov dword [rdi + 0x68], eax
test eax, eax
jne 0x18003117a
xor eax, eax
mov qword [rdi + 0x98], rax
mov rcx, rdi
call fcn.180059cd0
jmp 0x1800311c2
mov rax, qword [rdi + 0x70]
mov rax, qword [rax + rcx*8 - 0x10]
mov qword [rdi + 0x98], rax
mov rcx, rdi
call fcn.180059cd0
jmp 0x1800311c2
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.18005d1a0
lea r8, [0x180000000]
inc r13
cmp r13, qword [rbp - 0x78]
jne 0x180030513
lea rcx, [0x180218e90]
call sub.KERNEL32.dll_ReleaseSRWLockExclusive
mov rcx, qword [rbp + 0x20]
xor rcx, rsp
call fcn.1800e9b60
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.18002bc80
nop
call fcn.18002bc80
int3
call fcn.1800faa00
int3
call fcn.1800faa00
int3