Function at 0x18004ca50
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 [0x180096dc0]
xor r12d, r12d
movabs rbx, 0xdbf06daf303fac65
cmp r8, rbx
mov r14, rcx
movabs rdi, 0xd79a16697bb981ec
cmove r8, r12
mov qword [rbp + 0x598], r12
lea r15d, [r12 + 0xf]
mov qword [0x180096dc0], r8
test r8, r8
je 0x18004cafa
mov edx, r12d
mov rcx, r12
lea rax, [r8 + 0x10]
nop word [rax + rax]
cmp dword [rax], 0xf7847af4
je 0x18004cae5
inc rcx
inc edx
add rax, 0x28
cmp rcx, 0x10
jl 0x18004cac0
mov r8, qword [r8 + 0x280]
test r8, r8
jne 0x18004cab0
jmp 0x18004cafa
movsxd rax, edx
lea rcx, [rax + rax*4]
mov rax, qword [r8 + rcx*8 + 0x20]
test rax, rax
jne 0x18004d0ac
mov r8, qword [0x180096db8]
cmp r8, rdi
cmove r8, r12
mov qword [0x180096db8], r8
test r8, r8
je 0x18004cb57
nop word [rax + rax]
mov edx, r12d
mov rcx, r12
lea rax, [r8 + 0x10]
nop word [rax + rax]
cmp dword [rax], 0xc41671d
je 0x18004cc26
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x18004cb30
mov r8, qword [r8 + 0x200]
test r8, r8
jne 0x18004cb20
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 0x18004cbbc
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 0x18004cbbc
movzx eax, word [rbx + 0x58]
inc edx
add rcx, 2
cmp edx, eax
jle 0x18004cba0
mov r8d, r12d
cmp r12w, word [rbx + 0x58]
jae 0x18004cbfa
lea rdx, [rbp + 0x230]
nop dword [rax]
movzx ecx, byte [r9]
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x18004cbde
add cl, 0xe0
mov byte [rdx], cl
test cl, cl
je 0x18004cbfa
movzx eax, word [rbx + 0x58]
inc r8d
inc r10d
add r9, 2
inc rdx
cmp r8d, eax
jl 0x18004cbd0
lea rcx, [rbp + 0x230]
mov edx, r10d
call fcn.180065760
xor eax, 0xe427ce1
cmp eax, 0xc41671d
je 0x18004cc37
cmp rbx, rdi
je 0x18004cd9d
mov rbx, qword [rbx]
jmp 0x18004cb80
movsxd rax, edx
shl rax, 5
mov r13, qword [rax + r8 + 0x18]
jmp 0x18004cda7
mov r13, qword [rbx + 0x30]
test r13, r13
je 0x18004cd9d
cmp byte [0x1800970f1], r12b
jne 0x18004cd9d
mov rdi, qword [0x180096db8]
test rdi, rdi
jne 0x18004ccd3
mov ecx, 0x208
mov byte [0x1800970f1], 1
call fcn.1800472c0
mov rdi, rax
test rax, rax
je 0x18004ccaa
mov esi, r15d
lea rbx, [rax + 0x18]
nop dword [rax]
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041a90
mov dword [rbx - 8], r12d
mov qword [rbx], r12
add rbx, 0x20
dec esi
jns 0x18004cc80
mov qword [rdi + 0x200], r12
mov qword [0x180096db8], rdi
jmp 0x18004ccb4
mov rdi, r12
mov qword [0x180096db8], r12
mov edx, 0xc489c0d7
mov ecx, 0x6e729370
call fcn.180049ad0
mov byte [0x1800970f1], r12b
mov qword [0x180096db0], rax
jmp 0x18004ccef
mov rax, qword [rdi + 0x200]
test rax, rax
je 0x18004ccef
nop
mov rdi, rax
mov rax, qword [rax + 0x200]
test rax, rax
jne 0x18004cce0
mov edx, r12d
mov rcx, r12
lea rax, [rdi + 0x10]
nop dword [rax]
cmp dword [rax], r12d
je 0x18004cd7c
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x18004cd00
mov ecx, 0x208
call fcn.1800472c0
mov rsi, rax
test rax, rax
je 0x18004cd59
mov r12d, r15d
lea rbx, [rax + 0x18]
nop dword [rax]
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041a90
xor eax, eax
add rbx, 0x20
dec r12d
mov dword [rbx - 0x28], eax
mov qword [rbx - 0x20], rax
jns 0x18004cd30
xor r12d, r12d
mov qword [rsi + 0x200], r12
jmp 0x18004cd5c
mov rsi, r12
lea rdx, [rbp - 0x50]
mov rcx, rsi
mov qword [rsi + 0x18], r13
call fcn.180042fa0
mov dword [rsi + 0x10], 0xc41671d
mov qword [rdi + 0x200], rsi
jmp 0x18004cd9d
movsxd rbx, edx
lea rdx, [rbp - 0x50]
shl rbx, 5
add rbx, rdi
mov rcx, rbx
mov qword [rbx + 0x18], r13
call fcn.180042fa0
mov dword [rbx + 0x10], 0xc41671d
movabs rdi, 0xd79a16697bb981ec
test r13, r13
jne 0x18004d08c
mov ecx, 0xc41671d
call fcn.1800497d0
test al, al
je 0x18004d70c
mov r8, qword [0x180096db8]
cmp r8, rdi
cmove r8, r12
mov qword [0x180096db8], r8
test r8, r8
je 0x18004ce17
nop dword [rax]
mov edx, r12d
mov rcx, r12
lea rax, [r8 + 0x10]
nop word [rax + rax]
cmp dword [rax], 0xc41671d
je 0x18004cef6
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x18004cdf0
mov r8, qword [r8 + 0x200]
test r8, r8
jne 0x18004cde0
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 0x18004ce8c
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 0x18004ce8c
movzx eax, word [rbx + 0x58]
inc edx
add rcx, 2
cmp edx, eax
jle 0x18004ce70
mov r8d, r12d
cmp r12w, word [rbx + 0x58]
jae 0x18004ceca
lea rdx, [rbp + 0xb0]
nop dword [rax]
movzx ecx, byte [r9]
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x18004ceae
add cl, 0xe0
mov byte [rdx], cl
test cl, cl
je 0x18004ceca
movzx eax, word [rbx + 0x58]
inc r8d
inc r10d
add r9, 2
inc rdx
cmp r8d, eax
jl 0x18004cea0
lea rcx, [rbp + 0xb0]
mov edx, r10d
call fcn.180065760
xor eax, 0xe427ce1
cmp eax, 0xc41671d
je 0x18004cf07
cmp rbx, rdi
je 0x18004d079
mov rbx, qword [rbx]
jmp 0x18004ce40
movsxd rax, edx
shl rax, 5
mov r13, qword [rax + r8 + 0x18]
jmp 0x18004d083
mov r13, qword [rbx + 0x30]
test r13, r13
je 0x18004d079
cmp byte [0x1800970f1], 0
jne 0x18004d079
mov rdi, qword [0x180096db8]
test rdi, rdi
jne 0x18004cfa3
mov ecx, 0x208
mov byte [0x1800970f1], 1
call fcn.1800472c0
mov rdi, rax
test rax, rax
je 0x18004cf7a
mov esi, r15d
lea rbx, [rax + 0x18]
nop dword [rax]
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041a90
mov dword [rbx - 8], r12d
mov qword [rbx], r12
add rbx, 0x20
dec esi
jns 0x18004cf50
mov qword [rdi + 0x200], r12
mov qword [0x180096db8], rdi
jmp 0x18004cf84
mov rdi, r12
mov qword [0x180096db8], r12
mov edx, 0xc489c0d7
mov ecx, 0x6e729370
call fcn.180049ad0
mov byte [0x1800970f1], 0
mov qword [0x180096db0], rax
jmp 0x18004cfbf
mov rax, qword [rdi + 0x200]
test rax, rax
je 0x18004cfbf
nop
mov rdi, rax
mov rax, qword [rax + 0x200]
test rax, rax
jne 0x18004cfb0
mov edx, r12d
mov rcx, r12
lea rax, [rdi + 0x10]
nop dword [rax]
cmp dword [rax], 0
je 0x18004d054
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x18004cfd0
mov ecx, 0x208
call fcn.1800472c0
mov rsi, rax
test rax, rax
je 0x18004d02e
mov r12d, r15d
lea rbx, [rax + 0x18]
xor r14d, r14d
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041a90
mov dword [rbx - 8], r14d
mov qword [rbx], r14
add rbx, 0x20
dec r12d
jns 0x18004d000
mov r14, qword [rbp + 0x580]
xor r12d, r12d
mov qword [rsi + 0x200], r12
jmp 0x18004d031
mov rsi, r12
lea rdx, [rbp + 0x130]
mov rcx, rsi
mov qword [rsi + 0x18], r13
call fcn.180042fa0
mov dword [rsi + 0x10], 0xc41671d
mov qword [rdi + 0x200], rsi
jmp 0x18004d079
movsxd rax, edx
lea rdx, [rbp + 0x130]
shl rax, 5
lea rbx, [rax + rdi]
mov rcx, rbx
mov qword [rbx + 0x18], r13
call fcn.180042fa0
mov dword [rbx + 0x10], 0xc41671d
movabs rdi, 0xd79a16697bb981ec
test r13, r13
je 0x18004d70c
mov edx, 0xf7847af4
mov rcx, r13
call fcn.180048a60
movabs rbx, 0xdbf06daf303fac65
test rax, rax
je 0x18004d70c
lea r8, [rbp + 0x598]
mov edx, 8
mov rcx, r14
call rax
test eax, eax
je 0x18004d70c
mov r8, qword [0x180096dc0]
cmp r8, rbx
cmove r8, r12
mov qword [0x180096dc0], r8
test r8, r8
je 0x18004d12a
nop
mov edx, r12d
mov rcx, r12
lea rax, [r8 + 0x10]
nop word [rax + rax]
cmp dword [rax], 0x1817d45c
je 0x18004d115
inc rcx
inc edx
add rax, 0x28
cmp rcx, 0x10
jl 0x18004d0f0
mov r8, qword [r8 + 0x280]
test r8, r8
jne 0x18004d0e0
jmp 0x18004d12a
movsxd rax, edx
lea rcx, [rax + rax*4]
mov rax, qword [r8 + rcx*8 + 0x20]
test rax, rax
jne 0x18004d6d6
mov r8, qword [0x180096db8]
cmp r8, rdi
cmove r8, r12
mov qword [0x180096db8], r8
test r8, r8
je 0x18004d187
nop word [rax + rax]
mov edx, r12d
mov rcx, r12
lea rax, [r8 + 0x10]
nop word [rax + rax]
cmp dword [rax], 0xc41671d
je 0x18004d266
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x18004d160
mov r8, qword [r8 + 0x200]
test r8, r8
jne 0x18004d150
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 0x18004d1fc
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 0x18004d1fc
movzx eax, word [rbx + 0x58]
inc edx
add rcx, 2
cmp edx, eax
jle 0x18004d1e0
mov r8d, r12d
cmp r12w, word [rbx + 0x58]
jae 0x18004d23a
lea rdx, [rbp + 0x3b0]
nop dword [rax]
movzx ecx, byte [r9]
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x18004d21e
add cl, 0xe0
mov byte [rdx], cl
test cl, cl
je 0x18004d23a
movzx eax, word [rbx + 0x58]
inc r8d
inc r10d
add r9, 2
inc rdx
cmp r8d, eax
jl 0x18004d210
lea rcx, [rbp + 0x3b0]
mov edx, r10d
call fcn.180065760
xor eax, 0xe427ce1
cmp eax, 0xc41671d
je 0x18004d277
cmp rbx, rdi
je 0x18004d3e6
mov rbx, qword [rbx]
jmp 0x18004d1b0
movsxd rax, edx
shl rax, 5
mov r13, qword [rax + r8 + 0x18]
jmp 0x18004d3f0
mov r13, qword [rbx + 0x30]
test r13, r13
je 0x18004d3e6
cmp byte [0x1800970f1], 0
jne 0x18004d3e6
mov rdi, qword [0x180096db8]
test rdi, rdi
jne 0x18004d313
mov ecx, 0x208
mov byte [0x1800970f1], 1
call fcn.1800472c0
mov rdi, rax
test rax, rax
je 0x18004d2ea
mov esi, r15d
lea rbx, [rax + 0x18]
nop dword [rax]
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041a90
mov dword [rbx - 8], r12d
mov qword [rbx], r12
add rbx, 0x20
dec esi
jns 0x18004d2c0
mov qword [rdi + 0x200], r12
mov qword [0x180096db8], rdi
jmp 0x18004d2f4
mov rdi, r12
mov qword [0x180096db8], r12
mov edx, 0xc489c0d7
mov ecx, 0x6e729370
call fcn.180049ad0
mov byte [0x1800970f1], 0
mov qword [0x180096db0], rax
jmp 0x18004d32f
mov rax, qword [rdi + 0x200]
test rax, rax
je 0x18004d32f
nop
mov rdi, rax
mov rax, qword [rax + 0x200]
test rax, rax
jne 0x18004d320
mov edx, r12d
mov rcx, r12
lea rax, [rdi + 0x10]
nop dword [rax]
cmp dword [rax], 0
je 0x18004d3c2
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x18004d340
mov ecx, 0x208
call fcn.1800472c0
mov rsi, rax
test rax, rax
je 0x18004d39c
mov r12d, r15d
lea rbx, [rax + 0x18]
xor r15d, r15d
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041a90
mov dword [rbx - 8], r15d
mov qword [rbx], r15
add rbx, 0x20
dec r12d
jns 0x18004d370
xor r12d, r12d
mov qword [rsi + 0x200], r12
lea r15d, [r12 + 0xf]
jmp 0x18004d39f
mov rsi, r12
lea rdx, [rbp + 0x2b0]
mov rcx, rsi
mov qword [rsi + 0x18], r13
call fcn.180042fa0
mov dword [rsi + 0x10], 0xc41671d
mov qword [rdi + 0x200], rsi
jmp 0x18004d3e6
movsxd rbx, edx
lea rdx, [rbp + 0x2b0]
shl rbx, 5
add rbx, rdi
mov rcx, rbx
mov qword [rbx + 0x18], r13
call fcn.180042fa0
mov dword [rbx + 0x10], 0xc41671d
movabs rdi, 0xd79a16697bb981ec
test r13, r13
jne 0x18004d6c4
mov ecx, 0xc41671d
call fcn.1800497d0
test al, al
je 0x18004d70c
mov r8, qword [0x180096db8]
cmp r8, rdi
cmove r8, r12
mov qword [0x180096db8], r8
test r8, r8
je 0x18004d467
nop word [rax + rax]
mov edx, r12d
mov rcx, r12
lea rax, [r8 + 0x10]
nop word [rax + rax]
cmp dword [rax], 0xc41671d
je 0x18004d544
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x18004d440
mov r8, qword [r8 + 0x200]
test r8, r8
jne 0x18004d430
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 0x18004d4dc
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 0x18004d4dc
movzx eax, word [rbx + 0x58]
inc edx
add rcx, 2
cmp edx, eax
jle 0x18004d4c0
mov r8d, r12d
cmp r12w, word [rbx + 0x58]
jae 0x18004d51a
lea rdx, [rsp + 0x30]
nop dword [rax + rax]
movzx ecx, byte [r9]
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x18004d4fe
add cl, 0xe0
mov byte [rdx], cl
test cl, cl
je 0x18004d51a
movzx eax, word [rbx + 0x58]
inc r8d
inc r10d
add r9, 2
inc rdx
cmp r8d, eax
jl 0x18004d4f0
lea rcx, [rsp + 0x30]
mov edx, r10d
call fcn.180065760
xor eax, 0xe427ce1
cmp eax, 0xc41671d
je 0x18004d555
cmp rbx, rdi
je 0x18004d6bf
mov rbx, qword [rbx]
jmp 0x18004d490
movsxd rax, edx
shl rax, 5
mov r13, qword [rax + r8 + 0x18]
jmp 0x18004d6bf
mov r13, qword [rbx + 0x30]
test r13, r13
je 0x18004d70c
cmp byte [0x1800970f1], 0
jne 0x18004d6bf
mov rdi, qword [0x180096db8]
test rdi, rdi
jne 0x18004d5f3
mov ecx, 0x208
mov byte [0x1800970f1], 1
call fcn.1800472c0
mov rdi, rax
test rax, rax
je 0x18004d5ca
mov esi, r15d
lea rbx, [rax + 0x18]
nop dword [rax + rax]
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041a90
mov dword [rbx - 8], r12d
mov qword [rbx], r12
add rbx, 0x20
dec esi
jns 0x18004d5a0
mov qword [rdi + 0x200], r12
mov qword [0x180096db8], rdi
jmp 0x18004d5d4
mov rdi, r12
mov qword [0x180096db8], r12
mov edx, 0xc489c0d7
mov ecx, 0x6e729370
call fcn.180049ad0
mov byte [0x1800970f1], 0
mov qword [0x180096db0], rax
jmp 0x18004d60f
mov rax, qword [rdi + 0x200]
test rax, rax
je 0x18004d60f
nop
mov rdi, rax
mov rax, qword [rax + 0x200]
test rax, rax
jne 0x18004d600
mov r8d, r12d
mov rdx, r12
lea rax, [rdi + 0x10]
nop dword [rax]
cmp dword [rax], 0
je 0x18004d69a
inc rdx
inc r8d
add rax, 0x20
cmp rdx, 0x10
jl 0x18004d620
mov ecx, 0x208
call fcn.1800472c0
mov rsi, rax
test rax, rax
je 0x18004d674
lea rbx, [rax + 0x18]
nop dword [rax + rax]
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041a90
mov dword [rbx - 8], r12d
mov qword [rbx], r12
add rbx, 0x20
dec r15d
jns 0x18004d650
mov qword [rsi + 0x200], r12
jmp 0x18004d677
mov rsi, r12
lea rdx, [rbp + 0x430]
mov rcx, rsi
mov qword [rsi + 0x18], r13
call fcn.180042fa0
mov dword [rsi + 0x10], 0xc41671d
mov qword [rdi + 0x200], rsi
jmp 0x18004d6bf
movsxd rax, r8d
lea rdx, [rbp + 0x430]
shl rax, 5
lea rbx, [rax + rdi]
mov rcx, rbx
mov qword [rbx + 0x18], r13
call fcn.180042fa0
mov dword [rbx + 0x10], 0xc41671d
test r13, r13
je 0x18004d70c
mov edx, 0x1817d45c
mov rcx, r13
call fcn.180048a60
test rax, rax
je 0x18004d70c
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 0x18004d70c
cmp dword [rbp + 0x588], 0
setne al
jmp 0x18004d70e
xor al, al
add rsp, 0x638
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret