Function at 0x180051cf0
Capabilities:
Access peb ldr_data

Disassembly:
push r14
sub rsp, 0x360
mov r14, rcx
call fcn.1800486a0
mov rcx, qword [0x180092dc8]
add rcx, 0x18
call fcn.180040730
test al, al
je 0x180052484
mov qword [rsp + 0x370], rbx
mov qword [rsp + 0x380], rsi
mov qword [rsp + 0x358], rdi
mov qword [rsp + 0x350], r12
lea rcx, [rsp + 0x30]
xor edx, edx
mov qword [rsp + 0x348], r13
mov qword [rsp + 0x340], r15
call fcn.180041040
lea rcx, [rsp + 0x20]
mov edx, 0x80
call fcn.180041040
lea rcx, [rsp + 0x30]
mov edx, 0x55
call fcn.180041110
mov edx, 0x53
mov rcx, rax
call fcn.180041110
mov edx, 0x45
mov rcx, rax
call fcn.180041110
mov edx, 0x52
mov rcx, rax
call fcn.180041110
mov edx, 0x4e
mov rcx, rax
call fcn.180041110
mov edx, 0x41
mov rcx, rax
call fcn.180041110
mov edx, 0x4d
mov rcx, rax
call fcn.180041110
mov edx, 0x45
mov rcx, rax
call fcn.180041110
mov r11, qword [0x180092db8]
xor r15d, r15d
movabs rax, 0x41821ee8e53ac33
cmp r11, rax
cmove r11, r15
mov qword [0x180092db8], r11
test r11, r11
je 0x180051e4a
nop word [rax + rax]
mov edx, r15d
mov rcx, r15
lea rax, [r11 + 0x10]
nop word [rax + rax]
cmp dword [rax], 0xcb794a31
je 0x180051e35
inc rcx
inc edx
add rax, 0x28
cmp rcx, 0x10
jl 0x180051e10
mov r11, qword [r11 + 0x280]
test r11, r11
jne 0x180051e00
jmp 0x180051e4a
movsxd rax, edx
lea rcx, [rax + rax*4]
mov rax, qword [r11 + rcx*8 + 0x20]
test rax, rax
jne 0x180052417
mov r8, qword [0x180092db0]
movabs rbx, 0x4b873568d1e0b188
mov r13d, 0xf
cmp r8, rbx
cmove r8, r15
mov qword [0x180092db0], r8
test r8, r8
je 0x180051eb7
nop word [rax + rax]
mov edx, r15d
mov rcx, r15
lea rax, [r8 + 0x10]
nop word [rax + rax]
cmp dword [rax], 0x89a17f76
je 0x180051f95
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x180051e90
mov r8, qword [r8 + 0x200]
test r8, r8
jne 0x180051e80
mov rax, qword gs:[0x30]
mov r12, r15
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 r9, qword [rbx + 0x60]
mov r11d, r15d
mov edx, r15d
cmp r15w, word [rbx + 0x58]
ja 0x180051f2c
lea rax, [rsp + 0xc0]
mov r8, r9
lea rcx, [rsp + 0xc0]
sub r8, rax
nop word [rax + rax]
movzx eax, word [r8 + rcx]
mov word [rcx], ax
cmp r15w, ax
je 0x180051f2c
movzx eax, word [rbx + 0x58]
inc edx
add rcx, 2
cmp edx, eax
jle 0x180051f10
mov r10d, r15d
cmp r15w, word [rbx + 0x58]
jae 0x180051f6b
lea r8, [rsp + 0x40]
nop dword [rax + rax]
movzx ecx, byte [r9]
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x180051f4e
add cl, 0xe0
mov byte [r8], cl
test cl, cl
je 0x180051f6b
movzx eax, word [rbx + 0x58]
inc r10d
inc r11d
add r9, 2
inc r8
cmp r10d, eax
jl 0x180051f40
lea rcx, [rsp + 0x40]
mov edx, r11d
call fcn.180063bd0
xor eax, 0x102a2c68
cmp eax, 0x89a17f76
je 0x180051fa6
cmp rbx, rdi
je 0x180052127
mov rbx, qword [rbx]
jmp 0x180051ee0
movsxd rax, edx
shl rax, 5
mov r12, qword [rax + r8 + 0x18]
jmp 0x180052131
mov r12, qword [rbx + 0x30]
test r12, r12
je 0x180052127
cmp byte [0x1800930b0], r15b
jne 0x180052127
mov rdi, qword [0x180092db0]
test rdi, rdi
jne 0x180052043
mov ecx, 0x208
mov byte [0x1800930b0], 1
call fcn.180046860
mov rdi, rax
test rax, rax
je 0x18005201a
mov esi, r13d
lea rbx, [rax + 0x18]
nop dword [rax]
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041040
mov dword [rbx - 8], r15d
mov qword [rbx], r15
add rbx, 0x20
dec esi
jns 0x180051ff0
mov qword [rdi + 0x200], r15
mov qword [0x180092db0], rdi
jmp 0x180052024
mov rdi, r15
mov qword [0x180092db0], r15
mov edx, 0xdae1905e
mov ecx, 0x701ac3f9
call fcn.180048dc0
mov byte [0x1800930b0], r15b
mov qword [0x180092da8], rax
jmp 0x18005205f
mov rax, qword [rdi + 0x200]
test rax, rax
je 0x18005205f
nop
mov rdi, rax
mov rax, qword [rax + 0x200]
test rax, rax
jne 0x180052050
mov edx, r15d
mov rcx, r15
lea rax, [rdi + 0x10]
nop dword [rax]
cmp dword [rax], r15d
je 0x180052102
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x180052070
mov ecx, 0x208
call fcn.180046860
mov rsi, rax
test rax, rax
je 0x1800520db
mov qword [rsp + 0x378], rbp
lea rbx, [rax + 0x18]
mov ebp, r13d
nop dword [rax]
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041040
mov dword [rbx - 8], r15d
mov qword [rbx], r15
add rbx, 0x20
dec ebp
jns 0x1800520b0
mov rbp, qword [rsp + 0x378]
mov qword [rsi + 0x200], r15
jmp 0x1800520de
mov rsi, r15
lea rdx, [rsp + 0xc0]
mov rcx, rsi
mov qword [rsi + 0x18], r12
call fcn.180042540
mov dword [rsi + 0x10], 0x89a17f76
mov qword [rdi + 0x200], rsi
jmp 0x180052127
movsxd rbx, edx
lea rdx, [rsp + 0xc0]
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 0x180052405
mov ecx, 0x89a17f76
call fcn.180048ac0
test al, al
je 0x18005242b
mov r8, qword [0x180092db0]
cmp r8, rbx
cmove r8, r15
mov qword [0x180092db0], r8
test r8, r8
je 0x1800521a7
nop word [rax + rax]
mov edx, r15d
mov rcx, r15
lea rax, [r8 + 0x10]
nop word [rax + rax]
cmp dword [rax], 0x89a17f76
je 0x180052288
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x180052180
mov r8, qword [r8 + 0x200]
test r8, r8
jne 0x180052170
mov rax, qword gs:[0x30]
mov r12, r15
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 r9, qword [rbx + 0x60]
mov r11d, r15d
mov edx, r15d
cmp r15w, word [rbx + 0x58]
ja 0x18005221c
lea rax, [rsp + 0x240]
mov r8, r9
lea rcx, [rsp + 0x240]
sub r8, rax
nop word [rax + rax]
movzx eax, word [r8 + rcx]
mov word [rcx], ax
cmp r15w, ax
je 0x18005221c
movzx eax, word [rbx + 0x58]
inc edx
add rcx, 2
cmp edx, eax
jle 0x180052200
mov r10d, r15d
cmp r15w, word [rbx + 0x58]
jae 0x18005225b
lea r8, [rsp + 0x1c0]
nop
movzx ecx, byte [r9]
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x18005223e
add cl, 0xe0
mov byte [r8], cl
test cl, cl
je 0x18005225b
movzx eax, word [rbx + 0x58]
inc r10d
inc r11d
add r9, 2
inc r8
cmp r10d, eax
jl 0x180052230
lea rcx, [rsp + 0x1c0]
mov edx, r11d
call fcn.180063bd0
xor eax, 0x102a2c68
cmp eax, 0x89a17f76
je 0x180052299
cmp rbx, rdi
je 0x180052400
mov rbx, qword [rbx]
jmp 0x1800521d0
movsxd rax, edx
shl rax, 5
mov r12, qword [rax + r8 + 0x18]
jmp 0x180052400
mov r12, qword [rbx + 0x30]
test r12, r12
je 0x18005242b
cmp byte [0x1800930b0], r15b
jne 0x180052400
mov rdi, qword [0x180092db0]
test rdi, rdi
jne 0x180052333
mov ecx, 0x208
mov byte [0x1800930b0], 1
call fcn.180046860
mov rdi, rax
test rax, rax
je 0x18005230a
mov esi, r13d
lea rbx, [rax + 0x18]
nop
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041040
mov dword [rbx - 8], r15d
mov qword [rbx], r15
add rbx, 0x20
dec esi
jns 0x1800522e0
mov qword [rdi + 0x200], r15
mov qword [0x180092db0], rdi
jmp 0x180052314
mov rdi, r15
mov qword [0x180092db0], r15
mov edx, 0xdae1905e
mov ecx, 0x701ac3f9
call fcn.180048dc0
mov byte [0x1800930b0], r15b
mov qword [0x180092da8], rax
jmp 0x18005234f
mov rax, qword [rdi + 0x200]
test rax, rax
je 0x18005234f
nop
mov rdi, rax
mov rax, qword [rax + 0x200]
test rax, rax
jne 0x180052340
mov r8d, r15d
mov rdx, r15
lea rax, [rdi + 0x10]
nop dword [rax]
cmp dword [rax], r15d
je 0x1800523db
inc rdx
inc r8d
add rax, 0x20
cmp rdx, 0x10
jl 0x180052360
mov ecx, 0x208
call fcn.180046860
mov rsi, rax
test rax, rax
je 0x1800523b4
lea rbx, [rax + 0x18]
nop dword [rax + rax]
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041040
mov dword [rbx - 8], r15d
mov qword [rbx], r15
add rbx, 0x20
dec r13d
jns 0x180052390
mov qword [rsi + 0x200], r15
jmp 0x1800523b7
mov rsi, r15
lea rdx, [rsp + 0x240]
mov rcx, rsi
mov qword [rsi + 0x18], r12
call fcn.180042540
mov dword [rsi + 0x10], 0x89a17f76
mov qword [rdi + 0x200], rsi
jmp 0x180052400
movsxd rbx, r8d
lea rdx, [rsp + 0x240]
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 0x18005242b
mov edx, 0xcb794a31
mov rcx, r12
call fcn.180047fb0
test rax, rax
je 0x18005242b
movsxd r8, dword [rsp + 0x28]
mov rdx, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
shr r8, 1
call rax
mov rcx, qword [0x180092dc8]
mov rdx, qword [rsp + 0x20]
add rcx, 0x18
call fcn.180042540
lea rcx, [rsp + 0x20]
call fcn.1800403c0
lea rcx, [rsp + 0x30]
call fcn.1800403c0
mov r15, qword [rsp + 0x340]
mov r13, qword [rsp + 0x348]
mov r12, qword [rsp + 0x350]
mov rdi, qword [rsp + 0x358]
mov rsi, qword [rsp + 0x380]
mov rbx, qword [rsp + 0x370]
mov rdx, qword [0x180092dc8]
mov rcx, r14
add rdx, 0x18
call fcn.180042510
mov rax, r14
add rsp, 0x360
pop r14
ret