Function at 0x18004bd40
Capabilities:
Access peb ldr_data

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x538]
sub rsp, 0x638
mov r8, qword [0x180092db8]
xor r12d, r12d
movabs rbx, 0x41821ee8e53ac33
cmp r8, rbx
mov r14, rcx
movabs rdi, 0x4b873568d1e0b188
cmove r8, r12
mov qword [rbp + 0x598], r12
lea r15d, [r12 + 0xf]
mov qword [0x180092db8], r8
test r8, r8
je 0x18004bdea
mov edx, r12d
mov rcx, r12
lea rax, [r8 + 0x10]
nop word [rax + rax]
cmp dword [rax], 0xe9ec2a7d
je 0x18004bdd5
inc rcx
inc edx
add rax, 0x28
cmp rcx, 0x10
jl 0x18004bdb0
mov r8, qword [r8 + 0x280]
test r8, r8
jne 0x18004bda0
jmp 0x18004bdea
movsxd rax, edx
lea rcx, [rax + rax*4]
mov rax, qword [r8 + rcx*8 + 0x20]
test rax, rax
jne 0x18004c39c
mov r8, qword [0x180092db0]
cmp r8, rdi
cmove r8, r12
mov qword [0x180092db0], r8
test r8, r8
je 0x18004be47
nop word [rax + rax]
mov edx, r12d
mov rcx, r12
lea rax, [r8 + 0x10]
nop word [rax + rax]
cmp dword [rax], 0x12293794
je 0x18004bf16
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x18004be20
mov r8, qword [r8 + 0x200]
test r8, r8
jne 0x18004be10
mov rax, qword gs:[0x30]
mov r13, r12
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, r12d
mov edx, r12d
cmp r12w, word [rbx + 0x58]
ja 0x18004beac
lea rax, [rbp - 0x50]
mov r8, r9
lea rcx, [rbp - 0x50]
sub r8, rax
nop
movzx eax, word [r8 + rcx]
mov word [rcx], ax
cmp r12w, ax
je 0x18004beac
movzx eax, word [rbx + 0x58]
inc edx
add rcx, 2
cmp edx, eax
jle 0x18004be90
mov r8d, r12d
cmp r12w, word [rbx + 0x58]
jae 0x18004beea
lea rdx, [rbp + 0x230]
nop dword [rax]
movzx ecx, byte [r9]
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x18004bece
add cl, 0xe0
mov byte [rdx], cl
test cl, cl
je 0x18004beea
movzx eax, word [rbx + 0x58]
inc r8d
inc r10d
add r9, 2
inc rdx
cmp r8d, eax
jl 0x18004bec0
lea rcx, [rbp + 0x230]
mov edx, r10d
call fcn.180063bd0
xor eax, 0x102a2c68
cmp eax, 0x12293794
je 0x18004bf27
cmp rbx, rdi
je 0x18004c08d
mov rbx, qword [rbx]
jmp 0x18004be70
movsxd rax, edx
shl rax, 5
mov r13, qword [rax + r8 + 0x18]
jmp 0x18004c097
mov r13, qword [rbx + 0x30]
test r13, r13
je 0x18004c08d
cmp byte [0x1800930b0], r12b
jne 0x18004c08d
mov rdi, qword [0x180092db0]
test rdi, rdi
jne 0x18004bfc3
mov ecx, 0x208
mov byte [0x1800930b0], 1
call fcn.180046860
mov rdi, rax
test rax, rax
je 0x18004bf9a
mov esi, r15d
lea rbx, [rax + 0x18]
nop dword [rax]
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041040
mov dword [rbx - 8], r12d
mov qword [rbx], r12
add rbx, 0x20
dec esi
jns 0x18004bf70
mov qword [rdi + 0x200], r12
mov qword [0x180092db0], rdi
jmp 0x18004bfa4
mov rdi, r12
mov qword [0x180092db0], r12
mov edx, 0xdae1905e
mov ecx, 0x701ac3f9
call fcn.180048dc0
mov byte [0x1800930b0], r12b
mov qword [0x180092da8], rax
jmp 0x18004bfdf
mov rax, qword [rdi + 0x200]
test rax, rax
je 0x18004bfdf
nop
mov rdi, rax
mov rax, qword [rax + 0x200]
test rax, rax
jne 0x18004bfd0
mov edx, r12d
mov rcx, r12
lea rax, [rdi + 0x10]
nop dword [rax]
cmp dword [rax], r12d
je 0x18004c06c
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x18004bff0
mov ecx, 0x208
call fcn.180046860
mov rsi, rax
test rax, rax
je 0x18004c049
mov r12d, r15d
lea rbx, [rax + 0x18]
nop dword [rax]
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041040
xor eax, eax
add rbx, 0x20
dec r12d
mov dword [rbx - 0x28], eax
mov qword [rbx - 0x20], rax
jns 0x18004c020
xor r12d, r12d
mov qword [rsi + 0x200], r12
jmp 0x18004c04c
mov rsi, r12
lea rdx, [rbp - 0x50]
mov rcx, rsi
mov qword [rsi + 0x18], r13
call fcn.180042540
mov dword [rsi + 0x10], 0x12293794
mov qword [rdi + 0x200], rsi
jmp 0x18004c08d
movsxd rbx, edx
lea rdx, [rbp - 0x50]
shl rbx, 5
add rbx, rdi
mov rcx, rbx
mov qword [rbx + 0x18], r13
call fcn.180042540
mov dword [rbx + 0x10], 0x12293794
movabs rdi, 0x4b873568d1e0b188
test r13, r13
jne 0x18004c37c
mov ecx, 0x12293794
call fcn.180048ac0
test al, al
je 0x18004c9fc
mov r8, qword [0x180092db0]
cmp r8, rdi
cmove r8, r12
mov qword [0x180092db0], r8
test r8, r8
je 0x18004c107
nop dword [rax]
mov edx, r12d
mov rcx, r12
lea rax, [r8 + 0x10]
nop word [rax + rax]
cmp dword [rax], 0x12293794
je 0x18004c1e6
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x18004c0e0
mov r8, qword [r8 + 0x200]
test r8, r8
jne 0x18004c0d0
mov rax, qword gs:[0x30]
mov r13, r12
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, r12d
mov edx, r12d
cmp r12w, word [rbx + 0x58]
ja 0x18004c17c
lea rax, [rbp + 0x130]
mov r8, r9
lea rcx, [rbp + 0x130]
sub r8, rax
nop word [rax + rax]
movzx eax, word [r8 + rcx]
mov word [rcx], ax
cmp r12w, ax
je 0x18004c17c
movzx eax, word [rbx + 0x58]
inc edx
add rcx, 2
cmp edx, eax
jle 0x18004c160
mov r8d, r12d
cmp r12w, word [rbx + 0x58]
jae 0x18004c1ba
lea rdx, [rbp + 0xb0]
nop dword [rax]
movzx ecx, byte [r9]
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x18004c19e
add cl, 0xe0
mov byte [rdx], cl
test cl, cl
je 0x18004c1ba
movzx eax, word [rbx + 0x58]
inc r8d
inc r10d
add r9, 2
inc rdx
cmp r8d, eax
jl 0x18004c190
lea rcx, [rbp + 0xb0]
mov edx, r10d
call fcn.180063bd0
xor eax, 0x102a2c68
cmp eax, 0x12293794
je 0x18004c1f7
cmp rbx, rdi
je 0x18004c369
mov rbx, qword [rbx]
jmp 0x18004c130
movsxd rax, edx
shl rax, 5
mov r13, qword [rax + r8 + 0x18]
jmp 0x18004c373
mov r13, qword [rbx + 0x30]
test r13, r13
je 0x18004c369
cmp byte [0x1800930b0], 0
jne 0x18004c369
mov rdi, qword [0x180092db0]
test rdi, rdi
jne 0x18004c293
mov ecx, 0x208
mov byte [0x1800930b0], 1
call fcn.180046860
mov rdi, rax
test rax, rax
je 0x18004c26a
mov esi, r15d
lea rbx, [rax + 0x18]
nop dword [rax]
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041040
mov dword [rbx - 8], r12d
mov qword [rbx], r12
add rbx, 0x20
dec esi
jns 0x18004c240
mov qword [rdi + 0x200], r12
mov qword [0x180092db0], rdi
jmp 0x18004c274
mov rdi, r12
mov qword [0x180092db0], r12
mov edx, 0xdae1905e
mov ecx, 0x701ac3f9
call fcn.180048dc0
mov byte [0x1800930b0], 0
mov qword [0x180092da8], rax
jmp 0x18004c2af
mov rax, qword [rdi + 0x200]
test rax, rax
je 0x18004c2af
nop
mov rdi, rax
mov rax, qword [rax + 0x200]
test rax, rax
jne 0x18004c2a0
mov edx, r12d
mov rcx, r12
lea rax, [rdi + 0x10]
nop dword [rax]
cmp dword [rax], 0
je 0x18004c344
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x18004c2c0
mov ecx, 0x208
call fcn.180046860
mov rsi, rax
test rax, rax
je 0x18004c31e
mov r12d, r15d
lea rbx, [rax + 0x18]
xor r14d, r14d
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041040
mov dword [rbx - 8], r14d
mov qword [rbx], r14
add rbx, 0x20
dec r12d
jns 0x18004c2f0
mov r14, qword [rbp + 0x580]
xor r12d, r12d
mov qword [rsi + 0x200], r12
jmp 0x18004c321
mov rsi, r12
lea rdx, [rbp + 0x130]
mov rcx, rsi
mov qword [rsi + 0x18], r13
call fcn.180042540
mov dword [rsi + 0x10], 0x12293794
mov qword [rdi + 0x200], rsi
jmp 0x18004c369
movsxd rax, edx
lea rdx, [rbp + 0x130]
shl rax, 5
lea rbx, [rax + rdi]
mov rcx, rbx
mov qword [rbx + 0x18], r13
call fcn.180042540
mov dword [rbx + 0x10], 0x12293794
movabs rdi, 0x4b873568d1e0b188
test r13, r13
je 0x18004c9fc
mov edx, 0xe9ec2a7d
mov rcx, r13
call fcn.180047fb0
movabs rbx, 0x41821ee8e53ac33
test rax, rax
je 0x18004c9fc
lea r8, [rbp + 0x598]
mov edx, 8
mov rcx, r14
call rax
test eax, eax
je 0x18004c9fc
mov r8, qword [0x180092db8]
cmp r8, rbx
cmove r8, r12
mov qword [0x180092db8], r8
test r8, r8
je 0x18004c41a
nop
mov edx, r12d
mov rcx, r12
lea rax, [r8 + 0x10]
nop word [rax + rax]
cmp dword [rax], 0x67f84d5
je 0x18004c405
inc rcx
inc edx
add rax, 0x28
cmp rcx, 0x10
jl 0x18004c3e0
mov r8, qword [r8 + 0x280]
test r8, r8
jne 0x18004c3d0
jmp 0x18004c41a
movsxd rax, edx
lea rcx, [rax + rax*4]
mov rax, qword [r8 + rcx*8 + 0x20]
test rax, rax
jne 0x18004c9c6
mov r8, qword [0x180092db0]
cmp r8, rdi
cmove r8, r12
mov qword [0x180092db0], r8
test r8, r8
je 0x18004c477
nop word [rax + rax]
mov edx, r12d
mov rcx, r12
lea rax, [r8 + 0x10]
nop word [rax + rax]
cmp dword [rax], 0x12293794
je 0x18004c556
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x18004c450
mov r8, qword [r8 + 0x200]
test r8, r8
jne 0x18004c440
mov rax, qword gs:[0x30]
mov r13, r12
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, r12d
mov edx, r12d
cmp r12w, word [rbx + 0x58]
ja 0x18004c4ec
lea rax, [rbp + 0x2b0]
mov r8, r9
lea rcx, [rbp + 0x2b0]
sub r8, rax
nop word [rax + rax]
movzx eax, word [r8 + rcx]
mov word [rcx], ax
cmp r12w, ax
je 0x18004c4ec
movzx eax, word [rbx + 0x58]
inc edx
add rcx, 2
cmp edx, eax
jle 0x18004c4d0
mov r8d, r12d
cmp r12w, word [rbx + 0x58]
jae 0x18004c52a
lea rdx, [rbp + 0x3b0]
nop dword [rax]
movzx ecx, byte [r9]
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x18004c50e
add cl, 0xe0
mov byte [rdx], cl
test cl, cl
je 0x18004c52a
movzx eax, word [rbx + 0x58]
inc r8d
inc r10d
add r9, 2
inc rdx
cmp r8d, eax
jl 0x18004c500
lea rcx, [rbp + 0x3b0]
mov edx, r10d
call fcn.180063bd0
xor eax, 0x102a2c68
cmp eax, 0x12293794
je 0x18004c567
cmp rbx, rdi
je 0x18004c6d6
mov rbx, qword [rbx]
jmp 0x18004c4a0
movsxd rax, edx
shl rax, 5
mov r13, qword [rax + r8 + 0x18]
jmp 0x18004c6e0
mov r13, qword [rbx + 0x30]
test r13, r13
je 0x18004c6d6
cmp byte [0x1800930b0], 0
jne 0x18004c6d6
mov rdi, qword [0x180092db0]
test rdi, rdi
jne 0x18004c603
mov ecx, 0x208
mov byte [0x1800930b0], 1
call fcn.180046860
mov rdi, rax
test rax, rax
je 0x18004c5da
mov esi, r15d
lea rbx, [rax + 0x18]
nop dword [rax]
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041040
mov dword [rbx - 8], r12d
mov qword [rbx], r12
add rbx, 0x20
dec esi
jns 0x18004c5b0
mov qword [rdi + 0x200], r12
mov qword [0x180092db0], rdi
jmp 0x18004c5e4
mov rdi, r12
mov qword [0x180092db0], r12
mov edx, 0xdae1905e
mov ecx, 0x701ac3f9
call fcn.180048dc0
mov byte [0x1800930b0], 0
mov qword [0x180092da8], rax
jmp 0x18004c61f
mov rax, qword [rdi + 0x200]
test rax, rax
je 0x18004c61f
nop
mov rdi, rax
mov rax, qword [rax + 0x200]
test rax, rax
jne 0x18004c610
mov edx, r12d
mov rcx, r12
lea rax, [rdi + 0x10]
nop dword [rax]
cmp dword [rax], 0
je 0x18004c6b2
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x18004c630
mov ecx, 0x208
call fcn.180046860
mov rsi, rax
test rax, rax
je 0x18004c68c
mov r12d, r15d
lea rbx, [rax + 0x18]
xor r15d, r15d
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041040
mov dword [rbx - 8], r15d
mov qword [rbx], r15
add rbx, 0x20
dec r12d
jns 0x18004c660
xor r12d, r12d
mov qword [rsi + 0x200], r12
lea r15d, [r12 + 0xf]
jmp 0x18004c68f
mov rsi, r12
lea rdx, [rbp + 0x2b0]
mov rcx, rsi
mov qword [rsi + 0x18], r13
call fcn.180042540
mov dword [rsi + 0x10], 0x12293794
mov qword [rdi + 0x200], rsi
jmp 0x18004c6d6
movsxd rbx, edx
lea rdx, [rbp + 0x2b0]
shl rbx, 5
add rbx, rdi
mov rcx, rbx
mov qword [rbx + 0x18], r13
call fcn.180042540
mov dword [rbx + 0x10], 0x12293794
movabs rdi, 0x4b873568d1e0b188
test r13, r13
jne 0x18004c9b4
mov ecx, 0x12293794
call fcn.180048ac0
test al, al
je 0x18004c9fc
mov r8, qword [0x180092db0]
cmp r8, rdi
cmove r8, r12
mov qword [0x180092db0], r8
test r8, r8
je 0x18004c757
nop word [rax + rax]
mov edx, r12d
mov rcx, r12
lea rax, [r8 + 0x10]
nop word [rax + rax]
cmp dword [rax], 0x12293794
je 0x18004c834
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x18004c730
mov r8, qword [r8 + 0x200]
test r8, r8
jne 0x18004c720
mov rax, qword gs:[0x30]
mov r13, r12
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, r12d
mov edx, r12d
cmp r12w, word [rbx + 0x58]
ja 0x18004c7cc
lea rax, [rbp + 0x430]
mov r8, r9
lea rcx, [rbp + 0x430]
sub r8, rax
nop word [rax + rax]
movzx eax, word [r8 + rcx]
mov word [rcx], ax
cmp r12w, ax
je 0x18004c7cc
movzx eax, word [rbx + 0x58]
inc edx
add rcx, 2
cmp edx, eax
jle 0x18004c7b0
mov r8d, r12d
cmp r12w, word [rbx + 0x58]
jae 0x18004c80a
lea rdx, [rsp + 0x30]
nop dword [rax + rax]
movzx ecx, byte [r9]
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x18004c7ee
add cl, 0xe0
mov byte [rdx], cl
test cl, cl
je 0x18004c80a
movzx eax, word [rbx + 0x58]
inc r8d
inc r10d
add r9, 2
inc rdx
cmp r8d, eax
jl 0x18004c7e0
lea rcx, [rsp + 0x30]
mov edx, r10d
call fcn.180063bd0
xor eax, 0x102a2c68
cmp eax, 0x12293794
je 0x18004c845
cmp rbx, rdi
je 0x18004c9af
mov rbx, qword [rbx]
jmp 0x18004c780
movsxd rax, edx
shl rax, 5
mov r13, qword [rax + r8 + 0x18]
jmp 0x18004c9af
mov r13, qword [rbx + 0x30]
test r13, r13
je 0x18004c9fc
cmp byte [0x1800930b0], 0
jne 0x18004c9af
mov rdi, qword [0x180092db0]
test rdi, rdi
jne 0x18004c8e3
mov ecx, 0x208
mov byte [0x1800930b0], 1
call fcn.180046860
mov rdi, rax
test rax, rax
je 0x18004c8ba
mov esi, r15d
lea rbx, [rax + 0x18]
nop dword [rax + rax]
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041040
mov dword [rbx - 8], r12d
mov qword [rbx], r12
add rbx, 0x20
dec esi
jns 0x18004c890
mov qword [rdi + 0x200], r12
mov qword [0x180092db0], rdi
jmp 0x18004c8c4
mov rdi, r12
mov qword [0x180092db0], r12
mov edx, 0xdae1905e
mov ecx, 0x701ac3f9
call fcn.180048dc0
mov byte [0x1800930b0], 0
mov qword [0x180092da8], rax
jmp 0x18004c8ff
mov rax, qword [rdi + 0x200]
test rax, rax
je 0x18004c8ff
nop
mov rdi, rax
mov rax, qword [rax + 0x200]
test rax, rax
jne 0x18004c8f0
mov r8d, r12d
mov rdx, r12
lea rax, [rdi + 0x10]
nop dword [rax]
cmp dword [rax], 0
je 0x18004c98a
inc rdx
inc r8d
add rax, 0x20
cmp rdx, 0x10
jl 0x18004c910
mov ecx, 0x208
call fcn.180046860
mov rsi, rax
test rax, rax
je 0x18004c964
lea rbx, [rax + 0x18]
nop dword [rax + rax]
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041040
mov dword [rbx - 8], r12d
mov qword [rbx], r12
add rbx, 0x20
dec r15d
jns 0x18004c940
mov qword [rsi + 0x200], r12
jmp 0x18004c967
mov rsi, r12
lea rdx, [rbp + 0x430]
mov rcx, rsi
mov qword [rsi + 0x18], r13
call fcn.180042540
mov dword [rsi + 0x10], 0x12293794
mov qword [rdi + 0x200], rsi
jmp 0x18004c9af
movsxd rax, r8d
lea rdx, [rbp + 0x430]
shl rax, 5
lea rbx, [rax + rdi]
mov rcx, rbx
mov qword [rbx + 0x18], r13
call fcn.180042540
mov dword [rbx + 0x10], 0x12293794
test r13, r13
je 0x18004c9fc
mov edx, 0x67f84d5
mov rcx, r13
call fcn.180047fb0
test rax, rax
je 0x18004c9fc
lea rcx, [rbp + 0x590]
mov r9d, 4
lea r8, [rbp + 0x588]
mov qword [rsp + 0x20], rcx
mov rcx, qword [rbp + 0x598]
lea edx, [r9 + 0x10]
call rax
test eax, eax
je 0x18004c9fc
cmp dword [rbp + 0x588], 0
setne al
jmp 0x18004c9fe
xor al, al
add rsp, 0x638
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret