Function at 0x180056c10
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 [0x180092db8]
xor ebp, ebp
movabs rax, 0x41821ee8e53ac33
cmp r8, rax
mov r15, rdx
mov r14, rcx
cmove r8, rbp
mov qword [0x180092db8], r8
test r8, r8
je 0x180056caa
nop dword [rax + rax]
mov edx, ebp
mov rcx, rbp
lea rax, [r8 + 0x10]
nop dword [rax]
cmp dword [rax], 0x815c7b09
je 0x180056c95
inc rcx
inc edx
add rax, 0x28
cmp rcx, 0x10
jl 0x180056c70
mov r8, qword [r8 + 0x280]
test r8, r8
jne 0x180056c60
jmp 0x180056caa
movsxd rax, edx
lea rcx, [rax + rax*4]
mov rax, qword [r8 + rcx*8 + 0x20]
test rax, rax
jne 0x180057256
mov r8, qword [0x180092db0]
movabs rbx, 0x4b873568d1e0b188
mov r13d, 0xf
cmp r8, rbx
cmove r8, rbp
mov qword [0x180092db0], r8
test r8, r8
je 0x180056d17
nop word [rax + rax]
mov edx, ebp
mov rcx, rbp
lea rax, [r8 + 0x10]
nop dword [rax]
cmp dword [rax], 0x89a17f76
je 0x180056df8
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x180056cf0
mov r8, qword [r8 + 0x200]
test r8, r8
jne 0x180056ce0
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 0x180056d8b
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 0x180056d8b
movzx eax, word [rbx + 0x58]
inc edx
add rcx, 2
cmp edx, eax
jle 0x180056d70
mov r9d, ebp
cmp bp, word [rbx + 0x58]
jae 0x180056dcb
lea r8, [rsp + 0x1a0]
nop dword [rax]
movzx ecx, byte [r10]
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x180056dae
add cl, 0xe0
mov byte [r8], cl
test cl, cl
je 0x180056dcb
movzx eax, word [rbx + 0x58]
inc r9d
inc r11d
add r10, 2
inc r8
cmp r9d, eax
jl 0x180056da0
lea rcx, [rsp + 0x1a0]
mov edx, r11d
call fcn.180063bd0
xor eax, 0x102a2c68
cmp eax, 0x89a17f76
je 0x180056e09
cmp rbx, rdi
je 0x180056f67
mov rbx, qword [rbx]
jmp 0x180056d40
movsxd rax, edx
shl rax, 5
mov r12, qword [rax + r8 + 0x18]
jmp 0x180056f71
mov r12, qword [rbx + 0x30]
test r12, r12
je 0x180056f67
cmp byte [0x1800930b0], bpl
jne 0x180056f67
mov rdi, qword [0x180092db0]
test rdi, rdi
jne 0x180056ea2
mov ecx, 0x208
mov byte [0x1800930b0], 1
call fcn.180046860
mov rdi, rax
test rax, rax
je 0x180056e79
mov esi, r13d
lea rbx, [rax + 0x18]
nop
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041040
mov dword [rbx - 8], ebp
mov qword [rbx], rbp
add rbx, 0x20
dec esi
jns 0x180056e50
mov qword [rdi + 0x200], rbp
mov qword [0x180092db0], rdi
jmp 0x180056e83
mov rdi, rbp
mov qword [0x180092db0], rbp
mov edx, 0xdae1905e
mov ecx, 0x701ac3f9
call fcn.180048dc0
mov byte [0x1800930b0], bpl
mov qword [0x180092da8], rax
jmp 0x180056ebf
mov rax, qword [rdi + 0x200]
test rax, rax
je 0x180056ebf
nop
mov rdi, rax
mov rax, qword [rax + 0x200]
test rax, rax
jne 0x180056eb0
mov edx, ebp
mov rcx, rbp
lea rax, [rdi + 0x10]
cmp dword [rax], ebp
je 0x180056f42
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x180056ec8
mov ecx, 0x208
call fcn.180046860
mov rsi, rax
test rax, rax
je 0x180056f1b
mov ebp, r13d
lea rbx, [rax + 0x18]
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041040
xor eax, eax
add rbx, 0x20
dec ebp
mov dword [rbx - 0x28], eax
mov qword [rbx - 0x20], rax
jns 0x180056ef4
xor ebp, ebp
mov qword [rsi + 0x200], rbp
jmp 0x180056f1e
mov rsi, rbp
lea rdx, [rsp + 0xa0]
mov rcx, rsi
mov qword [rsi + 0x18], r12
call fcn.180042540
mov dword [rsi + 0x10], 0x89a17f76
mov qword [rdi + 0x200], rsi
jmp 0x180056f67
movsxd rbx, edx
lea rdx, [rsp + 0xa0]
shl rbx, 5
add rbx, rdi
mov rcx, rbx
mov qword [rbx + 0x18], r12
call fcn.180042540
mov dword [rbx + 0x10], 0x89a17f76
movabs rbx, 0x4b873568d1e0b188
test r12, r12
jne 0x180057244
mov ecx, 0x89a17f76
call fcn.180048ac0
test al, al
je 0x180057262
mov r8, qword [0x180092db0]
cmp r8, rbx
cmove r8, rbp
mov qword [0x180092db0], r8
test r8, r8
je 0x180056fe7
nop word [rax + rax]
mov edx, ebp
mov rcx, rbp
lea rax, [r8 + 0x10]
nop dword [rax]
cmp dword [rax], 0x89a17f76
je 0x1800570c5
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x180056fc0
mov r8, qword [r8 + 0x200]
test r8, r8
jne 0x180056fb0
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 0x18005705b
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 0x18005705b
movzx eax, word [rbx + 0x58]
inc edx
add rcx, 2
cmp edx, eax
jle 0x180057040
mov r9d, ebp
cmp bp, word [rbx + 0x58]
jae 0x18005709b
lea r8, [rsp + 0x20]
nop dword [rax]
movzx ecx, byte [r10]
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x18005707e
add cl, 0xe0
mov byte [r8], cl
test cl, cl
je 0x18005709b
movzx eax, word [rbx + 0x58]
inc r9d
inc r11d
add r10, 2
inc r8
cmp r9d, eax
jl 0x180057070
lea rcx, [rsp + 0x20]
mov edx, r11d
call fcn.180063bd0
xor eax, 0x102a2c68
cmp eax, 0x89a17f76
je 0x1800570d6
cmp rbx, rdi
je 0x18005723f
mov rbx, qword [rbx]
jmp 0x180057010
movsxd rax, edx
shl rax, 5
mov r12, qword [rax + r8 + 0x18]
jmp 0x18005723f
mov r12, qword [rbx + 0x30]
test r12, r12
je 0x180057262
cmp byte [0x1800930b0], 0
jne 0x18005723f
mov rdi, qword [0x180092db0]
test rdi, rdi
jne 0x180057172
mov ecx, 0x208
mov byte [0x1800930b0], 1
call fcn.180046860
mov rdi, rax
test rax, rax
je 0x180057149
mov esi, r13d
lea rbx, [rax + 0x18]
nop dword [rax]
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041040
mov dword [rbx - 8], ebp
mov qword [rbx], rbp
add rbx, 0x20
dec esi
jns 0x180057120
mov qword [rdi + 0x200], rbp
mov qword [0x180092db0], rdi
jmp 0x180057153
mov rdi, rbp
mov qword [0x180092db0], rbp
mov edx, 0xdae1905e
mov ecx, 0x701ac3f9
call fcn.180048dc0
mov byte [0x1800930b0], 0
mov qword [0x180092da8], rax
jmp 0x18005718f
mov rax, qword [rdi + 0x200]
test rax, rax
je 0x18005718f
nop
mov rdi, rax
mov rax, qword [rax + 0x200]
test rax, rax
jne 0x180057180
mov r8d, ebp
mov rdx, rbp
lea rax, [rdi + 0x10]
nop dword [rax]
cmp dword [rax], 0
je 0x18005721a
inc rdx
inc r8d
add rax, 0x20
cmp rdx, 0x10
jl 0x1800571a0
mov ecx, 0x208
call fcn.180046860
mov rsi, rax
test rax, rax
je 0x1800571f3
lea rbx, [rax + 0x18]
nop dword [rax + rax]
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041040
mov dword [rbx - 8], ebp
mov qword [rbx], rbp
add rbx, 0x20
dec r13d
jns 0x1800571d0
mov qword [rsi + 0x200], rbp
jmp 0x1800571f6
mov rsi, rbp
lea rdx, [rsp + 0x220]
mov rcx, rsi
mov qword [rsi + 0x18], r12
call fcn.180042540
mov dword [rsi + 0x10], 0x89a17f76
mov qword [rdi + 0x200], rsi
jmp 0x18005723f
movsxd rbx, r8d
lea rdx, [rsp + 0x220]
shl rbx, 5
add rbx, rdi
mov rcx, rbx
mov qword [rbx + 0x18], r12
call fcn.180042540
mov dword [rbx + 0x10], 0x89a17f76
test r12, r12
je 0x180057262
mov edx, 0x815c7b09
mov rcx, r12
call fcn.180047fb0
test rax, rax
je 0x180057262
mov rdx, r15
xor ecx, ecx
call rax
mov qword [r14], rax
jmp 0x180057265
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