Function at 0x180058d20
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, 0x350
mov r14, rcx
mov r15, rdx
lea rcx, [rsp + 0x30]
mov edx, 0x400
call fcn.180041a90
mov r11, qword [0x180096dc0]
xor ebp, ebp
movabs rax, 0xdbf06daf303fac65
cmp r11, rax
cmove r11, rbp
mov qword [0x180096dc0], r11
test r11, r11
je 0x180058dca
nop word [rax + rax]
mov edx, ebp
mov rcx, rbp
lea rax, [r11 + 0x10]
nop dword [rax]
cmp dword [rax], 0xf899db80
je 0x180058db5
inc rcx
inc edx
add rax, 0x28
cmp rcx, 0x10
jl 0x180058d90
mov r11, qword [r11 + 0x280]
test r11, r11
jne 0x180058d80
jmp 0x180058dca
movsxd rax, edx
lea rcx, [rax + rax*4]
mov rax, qword [r11 + rcx*8 + 0x20]
test rax, rax
jne 0x180059376
mov r8, qword [0x180096db8]
movabs rbx, 0xd79a16697bb981ec
mov r13d, 0xf
cmp r8, rbx
cmove r8, rbp
mov qword [0x180096db8], r8
test r8, r8
je 0x180058e37
nop word [rax + rax]
mov edx, ebp
mov rcx, rbp
lea rax, [r8 + 0x10]
nop dword [rax]
cmp dword [rax], 0x97c92fff
je 0x180058f15
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x180058e10
mov r8, qword [r8 + 0x200]
test r8, r8
jne 0x180058e00
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 0x180058eab
lea rax, [rsp + 0xd0]
mov r8, r10
lea rcx, [rsp + 0xd0]
sub r8, rax
nop word [rax + rax]
movzx eax, word [r8 + rcx]
mov word [rcx], ax
cmp bp, ax
je 0x180058eab
movzx eax, word [rbx + 0x58]
inc edx
add rcx, 2
cmp edx, eax
jle 0x180058e90
mov r9d, ebp
cmp bp, word [rbx + 0x58]
jae 0x180058eeb
lea r8, [rsp + 0x50]
nop dword [rax]
movzx ecx, byte [r10]
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x180058ece
add cl, 0xe0
mov byte [r8], cl
test cl, cl
je 0x180058eeb
movzx eax, word [rbx + 0x58]
inc r9d
inc r11d
add r10, 2
inc r8
cmp r9d, eax
jl 0x180058ec0
lea rcx, [rsp + 0x50]
mov edx, r11d
call fcn.180065760
xor eax, 0xe427ce1
cmp eax, 0x97c92fff
je 0x180058f26
cmp rbx, rdi
je 0x180059087
mov rbx, qword [rbx]
jmp 0x180058e60
movsxd rax, edx
shl rax, 5
mov r12, qword [rax + r8 + 0x18]
jmp 0x180059091
mov r12, qword [rbx + 0x30]
test r12, r12
je 0x180059087
cmp byte [0x1800970f1], bpl
jne 0x180059087
mov rdi, qword [0x180096db8]
test rdi, rdi
jne 0x180058fc2
mov ecx, 0x208
mov byte [0x1800970f1], 1
call fcn.1800472c0
mov rdi, rax
test rax, rax
je 0x180058f99
mov esi, r13d
lea rbx, [rax + 0x18]
nop dword [rax]
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041a90
mov dword [rbx - 8], ebp
mov qword [rbx], rbp
add rbx, 0x20
dec esi
jns 0x180058f70
mov qword [rdi + 0x200], rbp
mov qword [0x180096db8], rdi
jmp 0x180058fa3
mov rdi, rbp
mov qword [0x180096db8], rbp
mov edx, 0xc489c0d7
mov ecx, 0x6e729370
call fcn.180049ad0
mov byte [0x1800970f1], bpl
mov qword [0x180096db0], rax
jmp 0x180058fdf
mov rax, qword [rdi + 0x200]
test rax, rax
je 0x180058fdf
nop
mov rdi, rax
mov rax, qword [rax + 0x200]
test rax, rax
jne 0x180058fd0
mov edx, ebp
mov rcx, rbp
lea rax, [rdi + 0x10]
cmp dword [rax], ebp
je 0x180059062
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x180058fe8
mov ecx, 0x208
call fcn.1800472c0
mov rsi, rax
test rax, rax
je 0x18005903b
mov ebp, r13d
lea rbx, [rax + 0x18]
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041a90
xor eax, eax
add rbx, 0x20
dec ebp
mov dword [rbx - 0x28], eax
mov qword [rbx - 0x20], rax
jns 0x180059014
xor ebp, ebp
mov qword [rsi + 0x200], rbp
jmp 0x18005903e
mov rsi, rbp
lea rdx, [rsp + 0xd0]
mov rcx, rsi
mov qword [rsi + 0x18], r12
call fcn.180042fa0
mov dword [rsi + 0x10], 0x97c92fff
mov qword [rdi + 0x200], rsi
jmp 0x180059087
movsxd rbx, edx
lea rdx, [rsp + 0xd0]
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 0x180059364
mov ecx, 0x97c92fff
call fcn.1800497d0
test al, al
je 0x1800593b3
mov r8, qword [0x180096db8]
cmp r8, rbx
cmove r8, rbp
mov qword [0x180096db8], r8
test r8, r8
je 0x180059107
nop word [rax + rax]
mov edx, ebp
mov rcx, rbp
lea rax, [r8 + 0x10]
nop dword [rax]
cmp dword [rax], 0x97c92fff
je 0x1800591e8
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x1800590e0
mov r8, qword [r8 + 0x200]
test r8, r8
jne 0x1800590d0
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 0x18005917b
lea rax, [rsp + 0x250]
mov r8, r10
lea rcx, [rsp + 0x250]
sub r8, rax
nop word [rax + rax]
movzx eax, word [r8 + rcx]
mov word [rcx], ax
cmp bp, ax
je 0x18005917b
movzx eax, word [rbx + 0x58]
inc edx
add rcx, 2
cmp edx, eax
jle 0x180059160
mov r9d, ebp
cmp bp, word [rbx + 0x58]
jae 0x1800591bb
lea r8, [rsp + 0x1d0]
nop dword [rax]
movzx ecx, byte [r10]
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x18005919e
add cl, 0xe0
mov byte [r8], cl
test cl, cl
je 0x1800591bb
movzx eax, word [rbx + 0x58]
inc r9d
inc r11d
add r10, 2
inc r8
cmp r9d, eax
jl 0x180059190
lea rcx, [rsp + 0x1d0]
mov edx, r11d
call fcn.180065760
xor eax, 0xe427ce1
cmp eax, 0x97c92fff
je 0x1800591f9
cmp rbx, rdi
je 0x18005935f
mov rbx, qword [rbx]
jmp 0x180059130
movsxd rax, edx
shl rax, 5
mov r12, qword [rax + r8 + 0x18]
jmp 0x18005935f
mov r12, qword [rbx + 0x30]
test r12, r12
je 0x1800593b3
cmp byte [0x1800970f1], 0
jne 0x18005935f
mov rdi, qword [0x180096db8]
test rdi, rdi
jne 0x180059292
mov ecx, 0x208
mov byte [0x1800970f1], 1
call fcn.1800472c0
mov rdi, rax
test rax, rax
je 0x180059269
mov esi, r13d
lea rbx, [rax + 0x18]
nop
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041a90
mov dword [rbx - 8], ebp
mov qword [rbx], rbp
add rbx, 0x20
dec esi
jns 0x180059240
mov qword [rdi + 0x200], rbp
mov qword [0x180096db8], rdi
jmp 0x180059273
mov rdi, rbp
mov qword [0x180096db8], rbp
mov edx, 0xc489c0d7
mov ecx, 0x6e729370
call fcn.180049ad0
mov byte [0x1800970f1], 0
mov qword [0x180096db0], rax
jmp 0x1800592af
mov rax, qword [rdi + 0x200]
test rax, rax
je 0x1800592af
nop
mov rdi, rax
mov rax, qword [rax + 0x200]
test rax, rax
jne 0x1800592a0
mov r8d, ebp
mov rdx, rbp
lea rax, [rdi + 0x10]
nop dword [rax]
cmp dword [rax], 0
je 0x18005933a
inc rdx
inc r8d
add rax, 0x20
cmp rdx, 0x10
jl 0x1800592c0
mov ecx, 0x208
call fcn.1800472c0
mov rsi, rax
test rax, rax
je 0x180059313
lea rbx, [rax + 0x18]
nop dword [rax + rax]
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041a90
mov dword [rbx - 8], ebp
mov qword [rbx], rbp
add rbx, 0x20
dec r13d
jns 0x1800592f0
mov qword [rsi + 0x200], rbp
jmp 0x180059316
mov rsi, rbp
lea rdx, [rsp + 0x250]
mov rcx, rsi
mov qword [rsi + 0x18], r12
call fcn.180042fa0
mov dword [rsi + 0x10], 0x97c92fff
mov qword [rdi + 0x200], rsi
jmp 0x18005935f
movsxd rbx, r8d
lea rdx, [rsp + 0x250]
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 0x1800593b3
mov edx, 0xf899db80
mov rcx, r12
call fcn.180048a60
test rax, rax
je 0x1800593b3
mov rcx, qword [rsp + 0x30]
movsxd r9, dword [rsp + 0x38]
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], rcx
shr r9, 1
xor r8d, r8d
xor ecx, ecx
mov rdx, r15
call rax
test eax, eax
jne 0x1800593a4
call fcn.18004d730
test eax, eax
jne 0x1800593b3
lea rdx, [rsp + 0x30]
mov rcx, r14
call fcn.180042f70
jmp 0x1800593d4
lea rcx, [rsp + 0x40]
xor edx, edx
call fcn.180041a90
mov rcx, r14
mov rdx, rax
call fcn.180042f70
lea rcx, [rsp + 0x40]
call fcn.180040e20
lea rcx, [rsp + 0x30]
call fcn.180040e20
lea r11, [rsp + 0x350]
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