Function at 0x140015b70
Capabilities:
Access peb ldr_data

Disassembly:
push rbp
push rbx
lea rbp, [rsp - 0x1c8]
sub rsp, 0x2c8
mov rcx, qword gs:[0x30]
xor ebx, ebx
mov r8d, ebx
mov eax, 0xc8ed70b9
mov r10d, ebx
mov rdx, qword [rcx + 0x60]
mov rcx, qword [rdx + 0x18]
mov rdx, qword [rcx + 0x20]
mov r9, qword [rdx + 0x50]
movzx edx, word [r9]
test edx, edx
je 0x140015be4
imul ecx, edx, 0x7fc4308
inc r10d
add r9, 2
add ecx, r8d
ror ecx, 0x10
imul ecx, eax
imul eax, edx
mov r8d, ecx
shl ecx, 0x10
shr r8d, 0x10
add eax, 0x7fc4308
or r8d, ecx
ror eax, 0xf
cmp r10d, 5
jb 0x140015ba8
movabs r9, 0x9128da14dec93fb7
lea rax, [r8 + 1]
imul rax, r9
movabs rcx, 0x6ed725eb2136c049
mov rdx, rax
shl rax, 0x21
shr rdx, 0x1f
or rdx, rax
mov rax, rdx
mov qword [rsp + 0x30], rdx
imul rax, r8
lea rdx, [rsp + 0x30]
sub rax, rcx
mov rcx, rax
shl rax, 0x1f
shr rcx, 0x21
or rcx, rax
mov qword [rsp + 0x38], rcx
lea rax, [rcx + r9]
imul rax, r8
lea rcx, [rbp + 0x30]
ror rax, 0x1f
mov qword [rsp + 0x40], rax
call fcn.1400186d0
test eax, eax
jne 0x140015c62
mov eax, 0x10
add rsp, 0x2c8
pop rbx
pop rbp
ret
lea r8, [rsp + 0x30]
lea rdx, [rbp + 0x30]
lea rcx, [rbp - 0x70]
call fcn.1400180c0
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0xe0]
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x70], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp - 0x80], xmm1
call fcn.14001d710
test eax, eax
jne 0x140015caa
mov eax, 1
add rsp, 0x2c8
pop rbx
pop rbp
ret
lea r8, [rbp + 0x70]
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0xe0]
call fcn.140019190
test eax, eax
jne 0x140015cd2
mov eax, 2
add rsp, 0x2c8
pop rbx
pop rbp
ret
movups xmm0, xmmword [rsp + 0x70]
lea r8, [rbp - 0x20]
mov qword [rsp + 0x2e0], rsi
movsd xmm1, qword [rbp - 0x80]
lea rdx, [rsp + 0x30]
mov qword [rsp + 0x2e8], rdi
lea rcx, [rbp + 0x30]
mov qword [rsp + 0x2f0], r12
mov qword [rsp + 0x2c0], r13
mov qword [rsp + 0x2b8], r14
mov qword [rsp + 0x2b0], r15
mov dword [rsp + 0x48], ebx
mov dword [rsp + 0x30], 0x5c6e92d0
mov dword [rsp + 0x34], 0x3ee6ba65
mov dword [rsp + 0x38], 0x302f0d41
mov dword [rsp + 0x3c], 0xcfc825cf
mov dword [rsp + 0x40], 0xd0ce7a7f
mov dword [rsp + 0x44], 0x214f579
movaps xmmword [rbp - 0x20], xmm0
movsd qword [rbp - 0x10], xmm1
call fcn.14001c650
lea r8, [rbp]
mov dword [rsp + 0x56], 0x5c6a928d
lea rdx, [rsp + 0x56]
mov dword [rsp + 0x5a], 0x3ea5ba4a
lea rcx, [rbp + 0x58]
mov dword [rsp + 0x5e], 0x30090d55
movups xmm0, xmmword [rax]
mov dword [rsp + 0x62], 0xcf9d25a4
mov dword [rsp + 0x66], 0xd0927a21
movups xmmword [rbp - 0x50], xmm0
movsd xmm1, qword [rax + 0x10]
movups xmm0, xmmword [rsp + 0x70]
movsd qword [rbp - 0x40], xmm1
movzx eax, word [rax + 0x18]
movsd xmm1, qword [rbp - 0x80]
mov word [rbp - 0x38], ax
mov eax, 0xf540
mov word [rsp + 0x6a], ax
movaps xmmword [rbp], xmm0
movsd qword [rbp + 0x10], xmm1
call fcn.14001c480
lea r8, [rbp - 0x50]
lea rdx, [rbp - 0x70]
lea rcx, [rbp + 0x70]
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x70], xmm0
movsd xmm1, qword [rax + 0x10]
lea rax, [rsp + 0x70]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
movsd qword [rbp - 0x60], xmm1
call fcn.14001f500
test rax, rax
je 0x140015f97
mov r9d, dword [rsp + 0x48]
lea rdx, [rsp + 0x70]
mov r8, rax
lea rcx, [rbp + 0xe0]
call fcn.140018e60
test eax, eax
je 0x140015f97
movups xmm0, xmmword [rsp + 0x70]
lea r8, [rbp - 0x70]
mov dword [rsp + 0x48], ebx
movsd xmm1, qword [rbp - 0x80]
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0x30]
movaps xmmword [rbp - 0x70], xmm0
mov dword [rsp + 0x30], 0x5c7d92bf
mov dword [rsp + 0x34], 0x3ec3ba6d
mov dword [rsp + 0x38], 0x30090d0b
mov dword [rsp + 0x3c], 0xcfa425c3
mov dword [rsp + 0x40], 0xd0b67a18
mov dword [rsp + 0x44], 0x214f537
movsd qword [rbp - 0x60], xmm1
call fcn.14001c650
lea r8, [rbp]
mov dword [rsp + 0x56], 0x5c6a928d
lea rdx, [rsp + 0x56]
mov dword [rsp + 0x5a], 0x3ea5ba4a
lea rcx, [rbp + 0x58]
mov dword [rsp + 0x5e], 0x30090d55
movups xmm0, xmmword [rax]
mov dword [rsp + 0x62], 0xcf9d25a4
mov dword [rsp + 0x66], 0xd0927a21
movups xmmword [rbp - 0x50], xmm0
movsd xmm1, qword [rax + 0x10]
movups xmm0, xmmword [rsp + 0x70]
movsd qword [rbp - 0x40], xmm1
movzx eax, word [rax + 0x18]
movsd xmm1, qword [rbp - 0x80]
mov word [rbp - 0x38], ax
mov eax, 0xf540
mov word [rsp + 0x6a], ax
movaps xmmword [rbp], xmm0
movsd qword [rbp + 0x10], xmm1
call fcn.14001c480
lea r8, [rbp - 0x50]
lea rdx, [rbp - 0x20]
lea rcx, [rbp + 0x70]
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x20], xmm0
movsd xmm1, qword [rax + 0x10]
lea rax, [rsp + 0x70]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
movsd qword [rbp - 0x10], xmm1
call fcn.14001f500
mov rbx, rax
test rax, rax
je 0x140015f97
movups xmm0, xmmword [rsp + 0x70]
lea r8, [rbp - 0x70]
mov dword [rsp + 0x4c], 0xc4487dae
movsd xmm1, qword [rbp - 0x80]
lea rdx, [rsp + 0x4c]
lea rcx, [rbp + 0x20]
movaps xmmword [rbp - 0x70], xmm0
mov dword [rsp + 0x50], 0x9bf8154c
mov byte [rsp + 0x54], 0x4e
movsd qword [rbp - 0x60], xmm1
call fcn.14001b4f0
xor r9d, r9d
lea r8, [rbp - 0x36]
mov rdx, rbx
lea rcx, [rbp + 0xe0]
movsd xmm0, qword [rax]
movsd qword [rbp - 0x36], xmm0
movzx eax, word [rax + 8]
mov word [rbp - 0x2e], ax
call fcn.14001cd40
xor eax, eax
jmp 0x140015f9c
mov eax, 3
mov r14, qword [rsp + 0x2b8]
mov r13, qword [rsp + 0x2c0]
mov r12, qword [rsp + 0x2f0]
mov rdi, qword [rsp + 0x2e8]
mov rsi, qword [rsp + 0x2e0]
mov r15, qword [rsp + 0x2b0]
add rsp, 0x2c8
pop rbx
pop rbp
ret