Function at 0x18004eac0
Capabilities:
Access peb ldr_data

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x320
mov r8, qword [0x180096dc0]
xor r15d, r15d
movabs rax, 0xdbf06daf303fac65
cmp r8, rax
mov r14, rcx
cmove r8, r15
mov qword [0x180096dc0], r8
test r8, r8
je 0x18004eb5a
nop word [rax + rax]
mov edx, r15d
mov rcx, r15
lea rax, [r8 + 0x10]
nop word [rax + rax]
cmp dword [rax], 0x4b10acc0
je 0x18004eb45
inc rcx
inc edx
add rax, 0x28
cmp rcx, 0x10
jl 0x18004eb20
mov r8, qword [r8 + 0x280]
test r8, r8
jne 0x18004eb10
jmp 0x18004eb5a
movsxd rax, edx
lea rcx, [rax + rax*4]
mov rax, qword [r8 + rcx*8 + 0x20]
test rax, rax
jne 0x18004f127
mov r8, qword [0x180096db8]
movabs rbx, 0xd79a16697bb981ec
mov r13d, 0xf
cmp r8, rbx
cmove r8, r15
mov qword [0x180096db8], r8
test r8, r8
je 0x18004ebc7
nop word [rax + rax]
mov edx, r15d
mov rcx, r15
lea rax, [r8 + 0x10]
nop word [rax + rax]
cmp dword [rax], 0x97c92fff
je 0x18004eca7
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x18004eba0
mov r8, qword [r8 + 0x200]
test r8, r8
jne 0x18004eb90
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 r10d, r15d
mov edx, r15d
cmp r15w, word [rbx + 0x58]
ja 0x18004ec3c
lea rax, [rsp + 0xa0]
mov r8, r9
lea rcx, [rsp + 0xa0]
sub r8, rax
nop word [rax + rax]
movzx eax, word [r8 + rcx]
mov word [rcx], ax
cmp r15w, ax
je 0x18004ec3c
movzx eax, word [rbx + 0x58]
inc edx
add rcx, 2
cmp edx, eax
jle 0x18004ec20
mov r8d, r15d
cmp r15w, word [rbx + 0x58]
jae 0x18004ec7a
lea rdx, [rsp + 0x1a0]
nop
movzx ecx, byte [r9]
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x18004ec5e
add cl, 0xe0
mov byte [rdx], cl
test cl, cl
je 0x18004ec7a
movzx eax, word [rbx + 0x58]
inc r8d
inc r10d
add r9, 2
inc rdx
cmp r8d, eax
jl 0x18004ec50
lea rcx, [rsp + 0x1a0]
mov edx, r10d
call fcn.180065760
xor eax, 0xe427ce1
cmp eax, 0x97c92fff
je 0x18004ecb8
cmp rbx, rdi
je 0x18004ee37
mov rbx, qword [rbx]
jmp 0x18004ebf0
movsxd rax, edx
shl rax, 5
mov r12, qword [rax + r8 + 0x18]
jmp 0x18004ee41
mov r12, qword [rbx + 0x30]
test r12, r12
je 0x18004ee37
cmp byte [0x1800970f1], r15b
jne 0x18004ee37
mov rdi, qword [0x180096db8]
test rdi, rdi
jne 0x18004ed53
mov ecx, 0x208
mov byte [0x1800970f1], 1
call fcn.1800472c0
mov rdi, rax
test rax, rax
je 0x18004ed2a
mov esi, r13d
lea rbx, [rax + 0x18]
nop
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041a90
mov dword [rbx - 8], r15d
mov qword [rbx], r15
add rbx, 0x20
dec esi
jns 0x18004ed00
mov qword [rdi + 0x200], r15
mov qword [0x180096db8], rdi
jmp 0x18004ed34
mov rdi, r15
mov qword [0x180096db8], r15
mov edx, 0xc489c0d7
mov ecx, 0x6e729370
call fcn.180049ad0
mov byte [0x1800970f1], r15b
mov qword [0x180096db0], rax
jmp 0x18004ed6f
mov rax, qword [rdi + 0x200]
test rax, rax
je 0x18004ed6f
nop
mov rdi, rax
mov rax, qword [rax + 0x200]
test rax, rax
jne 0x18004ed60
mov edx, r15d
mov rcx, r15
lea rax, [rdi + 0x10]
nop dword [rax]
cmp dword [rax], r15d
je 0x18004ee12
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x18004ed80
mov ecx, 0x208
call fcn.1800472c0
mov rsi, rax
test rax, rax
je 0x18004edeb
mov qword [rsp + 0x350], rbp
lea rbx, [rax + 0x18]
mov ebp, r13d
nop dword [rax]
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041a90
mov dword [rbx - 8], r15d
mov qword [rbx], r15
add rbx, 0x20
dec ebp
jns 0x18004edc0
mov rbp, qword [rsp + 0x350]
mov qword [rsi + 0x200], r15
jmp 0x18004edee
mov rsi, r15
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 0x18004ee37
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 0x18004f115
mov ecx, 0x97c92fff
call fcn.1800497d0
test al, al
je 0x18004f12e
mov r8, qword [0x180096db8]
cmp r8, rbx
cmove r8, r15
mov qword [0x180096db8], r8
test r8, r8
je 0x18004eeb7
nop word [rax + rax]
mov edx, r15d
mov rcx, r15
lea rax, [r8 + 0x10]
nop word [rax + rax]
cmp dword [rax], 0x97c92fff
je 0x18004ef94
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x18004ee90
mov r8, qword [r8 + 0x200]
test r8, r8
jne 0x18004ee80
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 r10d, r15d
mov edx, r15d
cmp r15w, word [rbx + 0x58]
ja 0x18004ef2c
lea rax, [rsp + 0x220]
mov r8, r9
lea rcx, [rsp + 0x220]
sub r8, rax
nop word [rax + rax]
movzx eax, word [r8 + rcx]
mov word [rcx], ax
cmp r15w, ax
je 0x18004ef2c
movzx eax, word [rbx + 0x58]
inc edx
add rcx, 2
cmp edx, eax
jle 0x18004ef10
mov r8d, r15d
cmp r15w, word [rbx + 0x58]
jae 0x18004ef6a
lea rdx, [rsp + 0x20]
nop dword [rax + rax]
movzx ecx, byte [r9]
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x18004ef4e
add cl, 0xe0
mov byte [rdx], cl
test cl, cl
je 0x18004ef6a
movzx eax, word [rbx + 0x58]
inc r8d
inc r10d
add r9, 2
inc rdx
cmp r8d, eax
jl 0x18004ef40
lea rcx, [rsp + 0x20]
mov edx, r10d
call fcn.180065760
xor eax, 0xe427ce1
cmp eax, 0x97c92fff
je 0x18004efa5
cmp rbx, rdi
je 0x18004f110
mov rbx, qword [rbx]
jmp 0x18004eee0
movsxd rax, edx
shl rax, 5
mov r12, qword [rax + r8 + 0x18]
jmp 0x18004f110
mov r12, qword [rbx + 0x30]
test r12, r12
je 0x18004f12e
cmp byte [0x1800970f1], r15b
jne 0x18004f110
mov rdi, qword [0x180096db8]
test rdi, rdi
jne 0x18004f043
mov ecx, 0x208
mov byte [0x1800970f1], 1
call fcn.1800472c0
mov rdi, rax
test rax, rax
je 0x18004f01a
mov esi, r13d
lea rbx, [rax + 0x18]
nop dword [rax + rax]
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041a90
mov dword [rbx - 8], r15d
mov qword [rbx], r15
add rbx, 0x20
dec esi
jns 0x18004eff0
mov qword [rdi + 0x200], r15
mov qword [0x180096db8], rdi
jmp 0x18004f024
mov rdi, r15
mov qword [0x180096db8], r15
mov edx, 0xc489c0d7
mov ecx, 0x6e729370
call fcn.180049ad0
mov byte [0x1800970f1], r15b
mov qword [0x180096db0], rax
jmp 0x18004f05f
mov rax, qword [rdi + 0x200]
test rax, rax
je 0x18004f05f
nop
mov rdi, rax
mov rax, qword [rax + 0x200]
test rax, rax
jne 0x18004f050
mov r8d, r15d
mov rdx, r15
lea rax, [rdi + 0x10]
nop dword [rax]
cmp dword [rax], r15d
je 0x18004f0eb
inc rdx
inc r8d
add rax, 0x20
cmp rdx, 0x10
jl 0x18004f070
mov ecx, 0x208
call fcn.1800472c0
mov rsi, rax
test rax, rax
je 0x18004f0c4
lea rbx, [rax + 0x18]
nop dword [rax + rax]
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041a90
mov dword [rbx - 8], r15d
mov qword [rbx], r15
add rbx, 0x20
dec r13d
jns 0x18004f0a0
mov qword [rsi + 0x200], r15
jmp 0x18004f0c7
mov rsi, r15
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 0x18004f110
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 0x18004f12e
mov edx, 0x4b10acc0
mov rcx, r12
call fcn.180048a60
test rax, rax
je 0x18004f12e
mov rcx, r14
call rax
jmp 0x18004f130
xor eax, eax
lea r11, [rsp + 0x320]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret