Function at 0x180054bc0
Capabilities:
Access peb ldr_data

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
mov qword [rsp + 8], rcx
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x520]
sub rsp, 0x620
mov r9, rcx
test rcx, rcx
je 0x180055200
mov r8, qword [0x180096dc0]
xor edi, edi
movabs rax, 0xdbf06daf303fac65
cmp r8, rax
cmove r8, rdi
mov qword [0x180096dc0], r8
test r8, r8
je 0x180054c6a
nop
mov edx, edi
mov rcx, rdi
lea rax, [r8 + 0x10]
nop dword [rax]
cmp dword [rax], 0x957f1d41
je 0x180054c55
inc rcx
inc edx
add rax, 0x28
cmp rcx, 0x10
jl 0x180054c30
mov r8, qword [r8 + 0x280]
test r8, r8
jne 0x180054c20
jmp 0x180054c6a
movsxd rax, edx
lea rcx, [rax + rax*4]
mov rax, qword [r8 + rcx*8 + 0x20]
test rax, rax
jne 0x1800551ef
mov r8, qword [0x180096db8]
movabs r15, 0xd79a16697bb981ec
mov r13d, 0xf
cmp r8, r15
cmove r8, rdi
mov qword [0x180096db8], r8
test r8, r8
je 0x180054cd7
nop word [rax + rax]
mov edx, edi
mov rcx, rdi
lea rax, [r8 + 0x10]
nop dword [rax]
cmp dword [rax], 0x97c92fff
je 0x180054da6
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x180054cb0
mov r8, qword [r8 + 0x200]
test r8, r8
jne 0x180054ca0
mov rax, qword gs:[0x30]
mov r14, rdi
mov rcx, qword [rax + 0x60]
mov rax, qword [rcx + 0x18]
mov rbx, qword [rax + 0x10]
mov rsi, qword [rax + 0x18]
nop word [rax + rax]
mov r9, qword [rbx + 0x60]
mov r10d, edi
mov edx, edi
cmp di, word [rbx + 0x58]
ja 0x180054d3b
lea rax, [rbp - 0x60]
mov r8, r9
lea rcx, [rbp - 0x60]
sub r8, rax
nop dword [rax]
movzx eax, word [r8 + rcx]
mov word [rcx], ax
cmp di, ax
je 0x180054d3b
movzx eax, word [rbx + 0x58]
inc edx
add rcx, 2
cmp edx, eax
jle 0x180054d20
mov r8d, edi
cmp di, word [rbx + 0x58]
jae 0x180054d7a
lea rdx, [rbp + 0x220]
nop dword [rax + rax]
movzx ecx, byte [r9]
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x180054d5e
add cl, 0xe0
mov byte [rdx], cl
test cl, cl
je 0x180054d7a
movzx eax, word [rbx + 0x58]
inc r8d
inc r10d
add r9, 2
inc rdx
cmp r8d, eax
jl 0x180054d50
lea rcx, [rbp + 0x220]
mov edx, r10d
call fcn.180065760
xor eax, 0xe427ce1
cmp eax, 0x97c92fff
je 0x180054db7
cmp rbx, rsi
je 0x180054f12
mov rbx, qword [rbx]
jmp 0x180054d00
movsxd rax, edx
shl rax, 5
mov r14, qword [rax + r8 + 0x18]
jmp 0x180054f12
mov r14, qword [rbx + 0x30]
test r14, r14
je 0x180054f1b
cmp byte [0x1800970f1], dil
jne 0x180054f12
mov rsi, qword [0x180096db8]
test rsi, rsi
jne 0x180054e53
mov ecx, 0x208
mov byte [0x1800970f1], 1
call fcn.1800472c0
mov rsi, rax
test rax, rax
je 0x180054e2a
mov r12d, r13d
lea rbx, [rax + 0x18]
nop dword [rax]
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041a90
mov dword [rbx - 8], edi
mov qword [rbx], rdi
add rbx, 0x20
dec r12d
jns 0x180054e00
mov qword [rsi + 0x200], rdi
mov qword [0x180096db8], rsi
jmp 0x180054e34
mov rsi, rdi
mov qword [0x180096db8], rdi
mov edx, 0xc489c0d7
mov ecx, 0x6e729370
call fcn.180049ad0
mov byte [0x1800970f1], dil
mov qword [0x180096db0], rax
jmp 0x180054e6f
mov rax, qword [rsi + 0x200]
test rax, rax
je 0x180054e6f
nop
mov rsi, rax
mov rax, qword [rax + 0x200]
test rax, rax
jne 0x180054e60
mov edx, edi
mov rcx, rdi
lea rax, [rsi + 0x10]
cmp dword [rax], edi
je 0x180054ef1
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x180054e78
mov ecx, 0x208
call fcn.1800472c0
mov r12, rax
test rax, rax
je 0x180054ecb
lea rbx, [rax + 0x18]
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041a90
mov dword [rbx - 8], edi
mov qword [rbx], rdi
add rbx, 0x20
dec r13d
jns 0x180054ea1
mov qword [r12 + 0x200], rdi
mov r13d, 0xf
jmp 0x180054ece
mov r12, rdi
lea rdx, [rbp - 0x60]
mov rcx, r12
mov qword [r12 + 0x18], r14
call fcn.180042fa0
mov dword [r12 + 0x10], 0x97c92fff
mov qword [rsi + 0x200], r12
jmp 0x180054f12
movsxd rbx, edx
lea rdx, [rbp - 0x60]
shl rbx, 5
add rbx, rsi
mov rcx, rbx
mov qword [rbx + 0x18], r14
call fcn.180042fa0
mov dword [rbx + 0x10], 0x97c92fff
test r14, r14
jne 0x1800551d6
mov ecx, 0x97c92fff
call fcn.1800497d0
test al, al
je 0x1800551f9
mov r8, qword [0x180096db8]
cmp r8, r15
cmove r8, rdi
mov qword [0x180096db8], r8
test r8, r8
je 0x180054f87
nop word [rax + rax]
mov edx, edi
mov rcx, rdi
lea rax, [r8 + 0x10]
nop dword [rax]
cmp dword [rax], 0x97c92fff
je 0x180055056
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x180054f60
mov r8, qword [r8 + 0x200]
test r8, r8
jne 0x180054f50
mov rax, qword gs:[0x30]
mov r14, rdi
mov rcx, qword [rax + 0x60]
mov rax, qword [rcx + 0x18]
mov rbx, qword [rax + 0x10]
mov rsi, qword [rax + 0x18]
nop word [rax + rax]
mov r9, qword [rbx + 0x60]
mov r10d, edi
mov edx, edi
cmp di, word [rbx + 0x58]
ja 0x180054fee
lea rax, [rbp + 0x120]
mov r8, r9
lea rcx, [rbp + 0x120]
sub r8, rax
movzx eax, word [r8 + rcx]
mov word [rcx], ax
cmp di, ax
je 0x180054fee
movzx eax, word [rbx + 0x58]
inc edx
add rcx, 2
cmp edx, eax
jle 0x180054fd3
mov r8d, edi
cmp di, word [rbx + 0x58]
jae 0x18005502a
lea rdx, [rbp + 0xa0]
nop
movzx ecx, byte [r9]
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x18005500e
add cl, 0xe0
mov byte [rdx], cl
test cl, cl
je 0x18005502a
movzx eax, word [rbx + 0x58]
inc r8d
inc r10d
add r9, 2
inc rdx
cmp r8d, eax
jl 0x180055000
lea rcx, [rbp + 0xa0]
mov edx, r10d
call fcn.180065760
xor eax, 0xe427ce1
cmp eax, 0x97c92fff
je 0x180055067
cmp rbx, rsi
je 0x1800551d1
mov rbx, qword [rbx]
jmp 0x180054fb0
movsxd rax, edx
shl rax, 5
mov r14, qword [rax + r8 + 0x18]
jmp 0x1800551d1
mov r14, qword [rbx + 0x30]
test r14, r14
je 0x1800551f9
cmp byte [0x1800970f1], dil
jne 0x1800551d1
mov rsi, qword [0x180096db8]
test rsi, rsi
jne 0x180055103
mov ecx, 0x208
mov byte [0x1800970f1], 1
call fcn.1800472c0
mov rsi, rax
test rax, rax
je 0x1800550da
mov r12d, r13d
lea rbx, [rax + 0x18]
nop dword [rax]
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041a90
mov dword [rbx - 8], edi
mov qword [rbx], rdi
add rbx, 0x20
dec r12d
jns 0x1800550b0
mov qword [rsi + 0x200], rdi
mov qword [0x180096db8], rsi
jmp 0x1800550e4
mov rsi, rdi
mov qword [0x180096db8], rdi
mov edx, 0xc489c0d7
mov ecx, 0x6e729370
call fcn.180049ad0
mov byte [0x1800970f1], dil
mov qword [0x180096db0], rax
jmp 0x18005511f
mov rax, qword [rsi + 0x200]
test rax, rax
je 0x18005511f
nop
mov rsi, rax
mov rax, qword [rax + 0x200]
test rax, rax
jne 0x180055110
mov r8d, edi
mov rdx, rdi
lea rax, [rsi + 0x10]
nop dword [rax]
cmp dword [rax], edi
je 0x1800551ad
inc rdx
inc r8d
add rax, 0x20
cmp rdx, 0x10
jl 0x180055130
mov ecx, 0x208
call fcn.1800472c0
mov r12, rax
test rax, rax
je 0x180055184
lea rbx, [rax + 0x18]
nop word [rax + rax]
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041a90
mov dword [rbx - 8], edi
mov qword [rbx], rdi
add rbx, 0x20
dec r13d
jns 0x180055160
mov qword [r12 + 0x200], rdi
jmp 0x180055187
mov r12, rdi
lea rdx, [rbp + 0x120]
mov rcx, r12
mov qword [r12 + 0x18], r14
call fcn.180042fa0
mov dword [r12 + 0x10], 0x97c92fff
mov qword [rsi + 0x200], r12
jmp 0x1800551d1
movsxd rbx, r8d
lea rdx, [rbp + 0x120]
shl rbx, 5
add rbx, rsi
mov rcx, rbx
mov qword [rbx + 0x18], r14
call fcn.180042fa0
mov dword [rbx + 0x10], 0x97c92fff
test r14, r14
je 0x1800551f9
mov edx, 0x957f1d41
mov rcx, r14
call fcn.180048a60
mov r9, qword [rbp + 0x550]
test rax, rax
je 0x1800551f9
mov rcx, r9
call rax
jmp 0x180055818
xor eax, eax
jmp 0x180055818
call fcn.180049150
mov r11, qword [0x180096dd0]
cmp dword [r11], 0
jne 0x18005580f
mov r8, qword [0x180096dc0]
xor edi, edi
movabs rax, 0xdbf06daf303fac65
cmp r8, rax
cmove r8, rdi
mov qword [0x180096dc0], r8
test r8, r8
je 0x18005528a
nop dword [rax]
mov edx, edi
mov rcx, rdi
lea rax, [r8 + 0x10]
nop dword [rax]
cmp dword [rax], 0x13f66f02
je 0x180055275
inc rcx
inc edx
add rax, 0x28
cmp rcx, 0x10
jl 0x180055250
mov r8, qword [r8 + 0x280]
test r8, r8
jne 0x180055240
jmp 0x18005528a
movsxd rax, edx
lea rcx, [rax + rax*4]
mov rax, qword [r8 + rcx*8 + 0x20]
test rax, rax
jne 0x1800557f9
mov r8, qword [0x180096db8]
movabs r15, 0xd79a16697bb981ec
mov r13d, 0xf
cmp r8, r15
cmove r8, rdi
mov qword [0x180096db8], r8
test r8, r8
je 0x1800552f7
nop word [rax + rax]
mov edx, edi
mov rcx, rdi
lea rax, [r8 + 0x10]
nop dword [rax]
cmp dword [rax], 0x97c92fff
je 0x1800553c7
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x1800552d0
mov r8, qword [r8 + 0x200]
test r8, r8
jne 0x1800552c0
mov rax, qword gs:[0x30]
mov r14, rdi
mov rcx, qword [rax + 0x60]
mov rax, qword [rcx + 0x18]
mov rbx, qword [rax + 0x10]
mov rsi, qword [rax + 0x18]
nop word [rax + rax]
mov r10, qword [rbx + 0x60]
mov r11d, edi
mov edx, edi
cmp di, word [rbx + 0x58]
ja 0x18005535e
lea rax, [rbp + 0x2a0]
mov r8, r10
lea rcx, [rbp + 0x2a0]
sub r8, rax
movzx eax, word [r8 + rcx]
mov word [rcx], ax
cmp di, ax
je 0x18005535e
movzx eax, word [rbx + 0x58]
inc edx
add rcx, 2
cmp edx, eax
jle 0x180055343
mov r9d, edi
cmp di, word [rbx + 0x58]
jae 0x18005539b
lea r8, [rbp + 0x3a0]
nop
movzx ecx, byte [r10]
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x18005537e
add cl, 0xe0
mov byte [r8], cl
test cl, cl
je 0x18005539b
movzx eax, word [rbx + 0x58]
inc r9d
inc r11d
add r10, 2
inc r8
cmp r9d, eax
jl 0x180055370
lea rcx, [rbp + 0x3a0]
mov edx, r11d
call fcn.180065760
xor eax, 0xe427ce1
cmp eax, 0x97c92fff
je 0x1800553d8
cmp rbx, rsi
je 0x180055538
mov rbx, qword [rbx]
jmp 0x180055320
movsxd rax, edx
shl rax, 5
mov r14, qword [rax + r8 + 0x18]
jmp 0x180055538
mov r14, qword [rbx + 0x30]
test r14, r14
je 0x180055541
cmp byte [0x1800970f1], dil
jne 0x180055538
mov rsi, qword [0x180096db8]
test rsi, rsi
jne 0x180055473
mov ecx, 0x208
mov byte [0x1800970f1], 1
call fcn.1800472c0
mov rsi, rax
test rax, rax
je 0x18005544a
mov r12d, r13d
lea rbx, [rax + 0x18]
nop
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041a90
mov dword [rbx - 8], edi
mov qword [rbx], rdi
add rbx, 0x20
dec r12d
jns 0x180055420
mov qword [rsi + 0x200], rdi
mov qword [0x180096db8], rsi
jmp 0x180055454
mov rsi, rdi
mov qword [0x180096db8], rdi
mov edx, 0xc489c0d7
mov ecx, 0x6e729370
call fcn.180049ad0
mov byte [0x1800970f1], dil
mov qword [0x180096db0], rax
jmp 0x18005548f
mov rax, qword [rsi + 0x200]
test rax, rax
je 0x18005548f
nop
mov rsi, rax
mov rax, qword [rax + 0x200]
test rax, rax
jne 0x180055480
mov edx, edi
mov rcx, rdi
lea rax, [rsi + 0x10]
cmp dword [rax], edi
je 0x180055514
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x180055498
mov ecx, 0x208
call fcn.1800472c0
mov r12, rax
test rax, rax
je 0x1800554eb
lea rbx, [rax + 0x18]
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041a90
mov dword [rbx - 8], edi
mov qword [rbx], rdi
add rbx, 0x20
dec r13d
jns 0x1800554c1
mov qword [r12 + 0x200], rdi
mov r13d, 0xf
jmp 0x1800554ee
mov r12, rdi
lea rdx, [rbp + 0x2a0]
mov rcx, r12
mov qword [r12 + 0x18], r14
call fcn.180042fa0
mov dword [r12 + 0x10], 0x97c92fff
mov qword [rsi + 0x200], r12
jmp 0x180055538
movsxd rbx, edx
lea rdx, [rbp + 0x2a0]
shl rbx, 5
add rbx, rsi
mov rcx, rbx
mov qword [rbx + 0x18], r14
call fcn.180042fa0
mov dword [rbx + 0x10], 0x97c92fff
test r14, r14
jne 0x1800557e7
mov ecx, 0x97c92fff
call fcn.1800497d0
test al, al
je 0x180055806
mov r8, qword [0x180096db8]
cmp r8, r15
cmove r8, rdi
mov qword [0x180096db8], r8
test r8, r8
je 0x1800555a7
nop dword [rax]
mov edx, edi
mov rcx, rdi
lea rax, [r8 + 0x10]
nop dword [rax]
cmp dword [rax], 0x97c92fff
je 0x180055675
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x180055580
mov r8, qword [r8 + 0x200]
test r8, r8
jne 0x180055570
mov rax, qword gs:[0x30]
mov r14, rdi
mov rcx, qword [rax + 0x60]
mov rax, qword [rcx + 0x18]
mov rbx, qword [rax + 0x10]
mov rsi, qword [rax + 0x18]
nop word [rax + rax]
mov r10, qword [rbx + 0x60]
mov r11d, edi
mov edx, edi
cmp di, word [rbx + 0x58]
ja 0x18005560e
lea rax, [rbp + 0x420]
mov r8, r10
lea rcx, [rbp + 0x420]
sub r8, rax
movzx eax, word [r8 + rcx]
mov word [rcx], ax
cmp di, ax
je 0x18005560e
movzx eax, word [rbx + 0x58]
inc edx
add rcx, 2
cmp edx, eax
jle 0x1800555f3
mov r9d, edi
cmp di, word [rbx + 0x58]
jae 0x18005564b
lea r8, [rsp + 0x20]
nop dword [rax]
movzx ecx, byte [r10]
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x18005562e
add cl, 0xe0
mov byte [r8], cl
test cl, cl
je 0x18005564b
movzx eax, word [rbx + 0x58]
inc r9d
inc r11d
add r10, 2
inc r8
cmp r9d, eax
jl 0x180055620
lea rcx, [rsp + 0x20]
mov edx, r11d
call fcn.180065760
xor eax, 0xe427ce1
cmp eax, 0x97c92fff
je 0x180055686
cmp rbx, rsi
je 0x1800557e2
mov rbx, qword [rbx]
jmp 0x1800555d0
movsxd rax, edx
shl rax, 5
mov r14, qword [rax + r8 + 0x18]
jmp 0x1800557e2
mov r14, qword [rbx + 0x30]
test r14, r14
je 0x180055806
cmp byte [0x1800970f1], dil
jne 0x1800557e2
mov rsi, qword [0x180096db8]
test rsi, rsi
jne 0x180055723
mov ecx, 0x208
mov byte [0x1800970f1], 1
call fcn.1800472c0
mov rsi, rax
test rax, rax
je 0x1800556fa
mov r12d, r13d
lea rbx, [rax + 0x18]
nop dword [rax]
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041a90
mov dword [rbx - 8], edi
mov qword [rbx], rdi
add rbx, 0x20
dec r12d
jns 0x1800556d0
mov qword [rsi + 0x200], rdi
mov qword [0x180096db8], rsi
jmp 0x180055704
mov rsi, rdi
mov qword [0x180096db8], rdi
mov edx, 0xc489c0d7
mov ecx, 0x6e729370
call fcn.180049ad0
mov byte [0x1800970f1], dil
mov qword [0x180096db0], rax
jmp 0x18005573f
mov rax, qword [rsi + 0x200]
test rax, rax
je 0x18005573f
nop
mov rsi, rax
mov rax, qword [rax + 0x200]
test rax, rax
jne 0x180055730
mov edx, edi
mov rcx, rdi
lea rax, [rsi + 0x10]
cmp dword [rax], edi
je 0x1800557be
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x180055748
mov ecx, 0x208
call fcn.1800472c0
mov r12, rax
test rax, rax
je 0x180055795
lea rbx, [rax + 0x18]
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041a90
mov dword [rbx - 8], edi
mov qword [rbx], rdi
add rbx, 0x20
dec r13d
jns 0x180055771
mov qword [r12 + 0x200], rdi
jmp 0x180055798
mov r12, rdi
lea rdx, [rbp + 0x420]
mov rcx, r12
mov qword [r12 + 0x18], r14
call fcn.180042fa0
mov dword [r12 + 0x10], 0x97c92fff
mov qword [rsi + 0x200], r12
jmp 0x1800557e2
movsxd rbx, edx
lea rdx, [rbp + 0x420]
shl rbx, 5
add rbx, rsi
mov rcx, rbx
mov qword [rbx + 0x18], r14
call fcn.180042fa0
mov dword [rbx + 0x10], 0x97c92fff
test r14, r14
je 0x180055806
mov edx, 0x13f66f02
mov rcx, r14
call fcn.180048a60
test rax, rax
je 0x180055806
call rax
mov rcx, qword [0x180096dd0]
mov dword [rcx], eax
jmp 0x18005580f
mov rax, qword [0x180096dd0]
mov dword [rax], edi
mov rax, qword [0x180096dd0]
mov eax, dword [rax]
lea r11, [rsp + 0x620]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret