Function at 0x1800578b0
Capabilities:
Access peb ldr_data

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x320
mov r8, qword [0x180096dc0]
xor ebp, ebp
movabs rax, 0xdbf06daf303fac65
cmp r8, rax
mov r15, rdx
mov r14, rcx
cmove r8, rbp
mov qword [0x180096dc0], r8
test r8, r8
je 0x18005794a
nop dword [rax + rax]
mov edx, ebp
mov rcx, rbp
lea rax, [r8 + 0x10]
nop dword [rax]
cmp dword [rax], 0x9f342b80
je 0x180057935
inc rcx
inc edx
add rax, 0x28
cmp rcx, 0x10
jl 0x180057910
mov r8, qword [r8 + 0x280]
test r8, r8
jne 0x180057900
jmp 0x18005794a
movsxd rax, edx
lea rcx, [rax + rax*4]
mov rax, qword [r8 + rcx*8 + 0x20]
test rax, rax
jne 0x180057ef6
mov r8, qword [0x180096db8]
movabs rbx, 0xd79a16697bb981ec
mov r13d, 0xf
cmp r8, rbx
cmove r8, rbp
mov qword [0x180096db8], r8
test r8, r8
je 0x1800579b7
nop word [rax + rax]
mov edx, ebp
mov rcx, rbp
lea rax, [r8 + 0x10]
nop dword [rax]
cmp dword [rax], 0x97c92fff
je 0x180057a98
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x180057990
mov r8, qword [r8 + 0x200]
test r8, r8
jne 0x180057980
mov rax, qword gs:[0x30]
mov r12, rbp
mov rcx, qword [rax + 0x60]
mov rax, qword [rcx + 0x18]
mov rbx, qword [rax + 0x10]
mov rdi, qword [rax + 0x18]
nop word [rax + rax]
mov r10, qword [rbx + 0x60]
mov r11d, ebp
mov edx, ebp
cmp bp, word [rbx + 0x58]
ja 0x180057a2b
lea rax, [rsp + 0xa0]
mov r8, r10
lea rcx, [rsp + 0xa0]
sub r8, rax
nop word [rax + rax]
movzx eax, word [r8 + rcx]
mov word [rcx], ax
cmp bp, ax
je 0x180057a2b
movzx eax, word [rbx + 0x58]
inc edx
add rcx, 2
cmp edx, eax
jle 0x180057a10
mov r9d, ebp
cmp bp, word [rbx + 0x58]
jae 0x180057a6b
lea r8, [rsp + 0x1a0]
nop dword [rax]
movzx ecx, byte [r10]
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x180057a4e
add cl, 0xe0
mov byte [r8], cl
test cl, cl
je 0x180057a6b
movzx eax, word [rbx + 0x58]
inc r9d
inc r11d
add r10, 2
inc r8
cmp r9d, eax
jl 0x180057a40
lea rcx, [rsp + 0x1a0]
mov edx, r11d
call fcn.180065760
xor eax, 0xe427ce1
cmp eax, 0x97c92fff
je 0x180057aa9
cmp rbx, rdi
je 0x180057c07
mov rbx, qword [rbx]
jmp 0x1800579e0
movsxd rax, edx
shl rax, 5
mov r12, qword [rax + r8 + 0x18]
jmp 0x180057c11
mov r12, qword [rbx + 0x30]
test r12, r12
je 0x180057c07
cmp byte [0x1800970f1], bpl
jne 0x180057c07
mov rdi, qword [0x180096db8]
test rdi, rdi
jne 0x180057b42
mov ecx, 0x208
mov byte [0x1800970f1], 1
call fcn.1800472c0
mov rdi, rax
test rax, rax
je 0x180057b19
mov esi, r13d
lea rbx, [rax + 0x18]
nop
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041a90
mov dword [rbx - 8], ebp
mov qword [rbx], rbp
add rbx, 0x20
dec esi
jns 0x180057af0
mov qword [rdi + 0x200], rbp
mov qword [0x180096db8], rdi
jmp 0x180057b23
mov rdi, rbp
mov qword [0x180096db8], rbp
mov edx, 0xc489c0d7
mov ecx, 0x6e729370
call fcn.180049ad0
mov byte [0x1800970f1], bpl
mov qword [0x180096db0], rax
jmp 0x180057b5f
mov rax, qword [rdi + 0x200]
test rax, rax
je 0x180057b5f
nop
mov rdi, rax
mov rax, qword [rax + 0x200]
test rax, rax
jne 0x180057b50
mov edx, ebp
mov rcx, rbp
lea rax, [rdi + 0x10]
cmp dword [rax], ebp
je 0x180057be2
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x180057b68
mov ecx, 0x208
call fcn.1800472c0
mov rsi, rax
test rax, rax
je 0x180057bbb
mov ebp, r13d
lea rbx, [rax + 0x18]
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041a90
xor eax, eax
add rbx, 0x20
dec ebp
mov dword [rbx - 0x28], eax
mov qword [rbx - 0x20], rax
jns 0x180057b94
xor ebp, ebp
mov qword [rsi + 0x200], rbp
jmp 0x180057bbe
mov rsi, rbp
lea rdx, [rsp + 0xa0]
mov rcx, rsi
mov qword [rsi + 0x18], r12
call fcn.180042fa0
mov dword [rsi + 0x10], 0x97c92fff
mov qword [rdi + 0x200], rsi
jmp 0x180057c07
movsxd rbx, edx
lea rdx, [rsp + 0xa0]
shl rbx, 5
add rbx, rdi
mov rcx, rbx
mov qword [rbx + 0x18], r12
call fcn.180042fa0
mov dword [rbx + 0x10], 0x97c92fff
movabs rbx, 0xd79a16697bb981ec
test r12, r12
jne 0x180057ee4
mov ecx, 0x97c92fff
call fcn.1800497d0
test al, al
je 0x180057f02
mov r8, qword [0x180096db8]
cmp r8, rbx
cmove r8, rbp
mov qword [0x180096db8], r8
test r8, r8
je 0x180057c87
nop word [rax + rax]
mov edx, ebp
mov rcx, rbp
lea rax, [r8 + 0x10]
nop dword [rax]
cmp dword [rax], 0x97c92fff
je 0x180057d65
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x180057c60
mov r8, qword [r8 + 0x200]
test r8, r8
jne 0x180057c50
mov rax, qword gs:[0x30]
mov r12, rbp
mov rcx, qword [rax + 0x60]
mov rax, qword [rcx + 0x18]
mov rbx, qword [rax + 0x10]
mov rdi, qword [rax + 0x18]
nop word [rax + rax]
mov r10, qword [rbx + 0x60]
mov r11d, ebp
mov edx, ebp
cmp bp, word [rbx + 0x58]
ja 0x180057cfb
lea rax, [rsp + 0x220]
mov r8, r10
lea rcx, [rsp + 0x220]
sub r8, rax
nop word [rax + rax]
movzx eax, word [r8 + rcx]
mov word [rcx], ax
cmp bp, ax
je 0x180057cfb
movzx eax, word [rbx + 0x58]
inc edx
add rcx, 2
cmp edx, eax
jle 0x180057ce0
mov r9d, ebp
cmp bp, word [rbx + 0x58]
jae 0x180057d3b
lea r8, [rsp + 0x20]
nop dword [rax]
movzx ecx, byte [r10]
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x180057d1e
add cl, 0xe0
mov byte [r8], cl
test cl, cl
je 0x180057d3b
movzx eax, word [rbx + 0x58]
inc r9d
inc r11d
add r10, 2
inc r8
cmp r9d, eax
jl 0x180057d10
lea rcx, [rsp + 0x20]
mov edx, r11d
call fcn.180065760
xor eax, 0xe427ce1
cmp eax, 0x97c92fff
je 0x180057d76
cmp rbx, rdi
je 0x180057edf
mov rbx, qword [rbx]
jmp 0x180057cb0
movsxd rax, edx
shl rax, 5
mov r12, qword [rax + r8 + 0x18]
jmp 0x180057edf
mov r12, qword [rbx + 0x30]
test r12, r12
je 0x180057f02
cmp byte [0x1800970f1], 0
jne 0x180057edf
mov rdi, qword [0x180096db8]
test rdi, rdi
jne 0x180057e12
mov ecx, 0x208
mov byte [0x1800970f1], 1
call fcn.1800472c0
mov rdi, rax
test rax, rax
je 0x180057de9
mov esi, r13d
lea rbx, [rax + 0x18]
nop dword [rax]
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041a90
mov dword [rbx - 8], ebp
mov qword [rbx], rbp
add rbx, 0x20
dec esi
jns 0x180057dc0
mov qword [rdi + 0x200], rbp
mov qword [0x180096db8], rdi
jmp 0x180057df3
mov rdi, rbp
mov qword [0x180096db8], rbp
mov edx, 0xc489c0d7
mov ecx, 0x6e729370
call fcn.180049ad0
mov byte [0x1800970f1], 0
mov qword [0x180096db0], rax
jmp 0x180057e2f
mov rax, qword [rdi + 0x200]
test rax, rax
je 0x180057e2f
nop
mov rdi, rax
mov rax, qword [rax + 0x200]
test rax, rax
jne 0x180057e20
mov r8d, ebp
mov rdx, rbp
lea rax, [rdi + 0x10]
nop dword [rax]
cmp dword [rax], 0
je 0x180057eba
inc rdx
inc r8d
add rax, 0x20
cmp rdx, 0x10
jl 0x180057e40
mov ecx, 0x208
call fcn.1800472c0
mov rsi, rax
test rax, rax
je 0x180057e93
lea rbx, [rax + 0x18]
nop dword [rax + rax]
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041a90
mov dword [rbx - 8], ebp
mov qword [rbx], rbp
add rbx, 0x20
dec r13d
jns 0x180057e70
mov qword [rsi + 0x200], rbp
jmp 0x180057e96
mov rsi, rbp
lea rdx, [rsp + 0x220]
mov rcx, rsi
mov qword [rsi + 0x18], r12
call fcn.180042fa0
mov dword [rsi + 0x10], 0x97c92fff
mov qword [rdi + 0x200], rsi
jmp 0x180057edf
movsxd rbx, r8d
lea rdx, [rsp + 0x220]
shl rbx, 5
add rbx, rdi
mov rcx, rbx
mov qword [rbx + 0x18], r12
call fcn.180042fa0
mov dword [rbx + 0x10], 0x97c92fff
test r12, r12
je 0x180057f02
mov edx, 0x9f342b80
mov rcx, r12
call fcn.180048a60
test rax, rax
je 0x180057f02
mov rdx, r15
xor ecx, ecx
call rax
mov qword [r14], rax
jmp 0x180057f05
mov qword [r14], rbp
lea r11, [rsp + 0x320]
mov rax, r14
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret