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 eax, ebx
mov r8d, 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 0x140015be5
imul ecx, edx, 0x605142c5
inc r10d
add r9, 2
sub eax, ecx
ror eax, 0x10
imul eax, r8d
imul r8d, edx
mov ecx, eax
shr eax, 0x10
shl ecx, 0x10
add r8d, 0x9faebd3b
or eax, ecx
ror r8d, 0xf
cmp r10d, 5
jb 0x140015ba8
mov r8d, eax
movabs r9, 0x9128da14dec93fb7
movabs rcx, 0x6ed725eb2136c049
lea rax, [r8 + 1]
imul rax, r9
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 0x140015c66
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 0x140015cae
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 0x140015cd6
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 0x140015f9b
mov r9d, dword [rsp + 0x48]
lea rdx, [rsp + 0x70]
mov r8, rax
lea rcx, [rbp + 0xe0]
call fcn.140018e60
test eax, eax
je 0x140015f9b
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 0x140015f9b
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 0x140015fa0
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