Function at 0x180055840
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 r8, qword [0x180096dc0]
xor edi, edi
mov r9, rcx
movabs rax, 0xdbf06daf303fac65
test rcx, rcx
je 0x180055e81
cmp r8, rax
cmove r8, rdi
mov qword [0x180096dc0], r8
test r8, r8
je 0x1800558ea
nop
mov edx, edi
mov rcx, rdi
lea rax, [r8 + 0x10]
nop dword [rax]
cmp dword [rax], 0xd91a9552
je 0x1800558d5
inc rcx
inc edx
add rax, 0x28
cmp rcx, 0x10
jl 0x1800558b0
mov r8, qword [r8 + 0x280]
test r8, r8
jne 0x1800558a0
jmp 0x1800558ea
movsxd rax, edx
lea rcx, [rax + rax*4]
mov rax, qword [r8 + rcx*8 + 0x20]
test rax, rax
jne 0x180055e77
mov r8, qword [0x180096db8]
movabs r15, 0xd79a16697bb981ec
mov r13d, 0xf
cmp r8, r15
cmove r8, rdi
mov qword [0x180096db8], r8
test r8, r8
je 0x180055957
nop word [rax + rax]
mov edx, edi
mov rcx, rdi
lea rax, [r8 + 0x10]
nop dword [rax]
cmp dword [rax], 0x97c92fff
je 0x180055a26
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x180055930
mov r8, qword [r8 + 0x200]
test r8, r8
jne 0x180055920
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 0x1800559bb
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 0x1800559bb
movzx eax, word [rbx + 0x58]
inc edx
add rcx, 2
cmp edx, eax
jle 0x1800559a0
mov r8d, edi
cmp di, word [rbx + 0x58]
jae 0x1800559fa
lea rdx, [rbp + 0x220]
nop dword [rax + rax]
movzx ecx, byte [r9]
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x1800559de
add cl, 0xe0
mov byte [rdx], cl
test cl, cl
je 0x1800559fa
movzx eax, word [rbx + 0x58]
inc r8d
inc r10d
add r9, 2
inc rdx
cmp r8d, eax
jl 0x1800559d0
lea rcx, [rbp + 0x220]
mov edx, r10d
call fcn.180065760
xor eax, 0xe427ce1
cmp eax, 0x97c92fff
je 0x180055a37
cmp rbx, rsi
je 0x180055b92
mov rbx, qword [rbx]
jmp 0x180055980
movsxd rax, edx
shl rax, 5
mov r14, qword [rax + r8 + 0x18]
jmp 0x180055b92
mov r14, qword [rbx + 0x30]
test r14, r14
je 0x180055b9b
cmp byte [0x1800970f1], dil
jne 0x180055b92
mov rsi, qword [0x180096db8]
test rsi, rsi
jne 0x180055ad3
mov ecx, 0x208
mov byte [0x1800970f1], 1
call fcn.1800472c0
mov rsi, rax
test rax, rax
je 0x180055aaa
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 0x180055a80
mov qword [rsi + 0x200], rdi
mov qword [0x180096db8], rsi
jmp 0x180055ab4
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 0x180055aef
mov rax, qword [rsi + 0x200]
test rax, rax
je 0x180055aef
nop
mov rsi, rax
mov rax, qword [rax + 0x200]
test rax, rax
jne 0x180055ae0
mov edx, edi
mov rcx, rdi
lea rax, [rsi + 0x10]
cmp dword [rax], edi
je 0x180055b71
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x180055af8
mov ecx, 0x208
call fcn.1800472c0
mov r12, rax
test rax, rax
je 0x180055b4b
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 0x180055b21
mov qword [r12 + 0x200], rdi
mov r13d, 0xf
jmp 0x180055b4e
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 0x180055b92
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 0x180055e5a
mov ecx, 0x97c92fff
call fcn.1800497d0
test al, al
je 0x18005645d
mov r8, qword [0x180096db8]
cmp r8, r15
cmove r8, rdi
mov qword [0x180096db8], r8
test r8, r8
je 0x180055c07
nop word [rax + rax]
mov edx, edi
mov rcx, rdi
lea rax, [r8 + 0x10]
nop dword [rax]
cmp dword [rax], 0x97c92fff
je 0x180055cd6
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x180055be0
mov r8, qword [r8 + 0x200]
test r8, r8
jne 0x180055bd0
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 0x180055c6e
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 0x180055c6e
movzx eax, word [rbx + 0x58]
inc edx
add rcx, 2
cmp edx, eax
jle 0x180055c53
mov r8d, edi
cmp di, word [rbx + 0x58]
jae 0x180055caa
lea rdx, [rbp + 0xa0]
nop
movzx ecx, byte [r9]
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x180055c8e
add cl, 0xe0
mov byte [rdx], cl
test cl, cl
je 0x180055caa
movzx eax, word [rbx + 0x58]
inc r8d
inc r10d
add r9, 2
inc rdx
cmp r8d, eax
jl 0x180055c80
lea rcx, [rbp + 0xa0]
mov edx, r10d
call fcn.180065760
xor eax, 0xe427ce1
cmp eax, 0x97c92fff
je 0x180055ce7
cmp rbx, rsi
je 0x180055e51
mov rbx, qword [rbx]
jmp 0x180055c30
movsxd rax, edx
shl rax, 5
mov r14, qword [rax + r8 + 0x18]
jmp 0x180055e51
mov r14, qword [rbx + 0x30]
test r14, r14
je 0x18005645d
cmp byte [0x1800970f1], dil
jne 0x180055e51
mov rsi, qword [0x180096db8]
test rsi, rsi
jne 0x180055d83
mov ecx, 0x208
mov byte [0x1800970f1], 1
call fcn.1800472c0
mov rsi, rax
test rax, rax
je 0x180055d5a
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 0x180055d30
mov qword [rsi + 0x200], rdi
mov qword [0x180096db8], rsi
jmp 0x180055d64
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 0x180055d9f
mov rax, qword [rsi + 0x200]
test rax, rax
je 0x180055d9f
nop
mov rsi, rax
mov rax, qword [rax + 0x200]
test rax, rax
jne 0x180055d90
mov r8d, edi
mov rdx, rdi
lea rax, [rsi + 0x10]
nop dword [rax]
cmp dword [rax], edi
je 0x180055e2d
inc rdx
inc r8d
add rax, 0x20
cmp rdx, 0x10
jl 0x180055db0
mov ecx, 0x208
call fcn.1800472c0
mov r12, rax
test rax, rax
je 0x180055e04
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 0x180055de0
mov qword [r12 + 0x200], rdi
jmp 0x180055e07
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 0x180055e51
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 0x18005645d
mov edx, 0xd91a9552
mov rcx, r14
call fcn.180048a60
mov r9, qword [rbp + 0x550]
test rax, rax
je 0x18005645d
mov rcx, r9
call rax
jmp 0x18005645f
cmp r8, rax
cmove r8, rdi
mov qword [0x180096dc0], r8
test r8, r8
je 0x180055eea
nop word [rax + rax]
mov edx, edi
mov rcx, rdi
lea rax, [r8 + 0x10]
nop dword [rax]
cmp dword [rax], 0x83ba0282
je 0x180055ed5
inc rcx
inc edx
add rax, 0x28
cmp rcx, 0x10
jl 0x180055eb0
mov r8, qword [r8 + 0x280]
test r8, r8
jne 0x180055ea0
jmp 0x180055eea
movsxd rax, edx
lea rcx, [rax + rax*4]
mov rax, qword [r8 + rcx*8 + 0x20]
test rax, rax
jne 0x180056459
mov r8, qword [0x180096db8]
movabs r15, 0xd79a16697bb981ec
mov r13d, 0xf
cmp r8, r15
cmove r8, rdi
mov qword [0x180096db8], r8
test r8, r8
je 0x180055f57
nop word [rax + rax]
mov edx, edi
mov rcx, rdi
lea rax, [r8 + 0x10]
nop dword [rax]
cmp dword [rax], 0x97c92fff
je 0x180056027
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x180055f30
mov r8, qword [r8 + 0x200]
test r8, r8
jne 0x180055f20
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 0x180055fbe
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 0x180055fbe
movzx eax, word [rbx + 0x58]
inc edx
add rcx, 2
cmp edx, eax
jle 0x180055fa3
mov r9d, edi
cmp di, word [rbx + 0x58]
jae 0x180055ffb
lea r8, [rbp + 0x3a0]
nop
movzx ecx, byte [r10]
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x180055fde
add cl, 0xe0
mov byte [r8], cl
test cl, cl
je 0x180055ffb
movzx eax, word [rbx + 0x58]
inc r9d
inc r11d
add r10, 2
inc r8
cmp r9d, eax
jl 0x180055fd0
lea rcx, [rbp + 0x3a0]
mov edx, r11d
call fcn.180065760
xor eax, 0xe427ce1
cmp eax, 0x97c92fff
je 0x180056038
cmp rbx, rsi
je 0x180056198
mov rbx, qword [rbx]
jmp 0x180055f80
movsxd rax, edx
shl rax, 5
mov r14, qword [rax + r8 + 0x18]
jmp 0x180056198
mov r14, qword [rbx + 0x30]
test r14, r14
je 0x1800561a1
cmp byte [0x1800970f1], dil
jne 0x180056198
mov rsi, qword [0x180096db8]
test rsi, rsi
jne 0x1800560d3
mov ecx, 0x208
mov byte [0x1800970f1], 1
call fcn.1800472c0
mov rsi, rax
test rax, rax
je 0x1800560aa
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 0x180056080
mov qword [rsi + 0x200], rdi
mov qword [0x180096db8], rsi
jmp 0x1800560b4
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 0x1800560ef
mov rax, qword [rsi + 0x200]
test rax, rax
je 0x1800560ef
nop
mov rsi, rax
mov rax, qword [rax + 0x200]
test rax, rax
jne 0x1800560e0
mov edx, edi
mov rcx, rdi
lea rax, [rsi + 0x10]
cmp dword [rax], edi
je 0x180056174
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x1800560f8
mov ecx, 0x208
call fcn.1800472c0
mov r12, rax
test rax, rax
je 0x18005614b
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 0x180056121
mov qword [r12 + 0x200], rdi
mov r13d, 0xf
jmp 0x18005614e
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 0x180056198
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 0x180056447
mov ecx, 0x97c92fff
call fcn.1800497d0
test al, al
je 0x18005645d
mov r8, qword [0x180096db8]
cmp r8, r15
cmove r8, rdi
mov qword [0x180096db8], r8
test r8, r8
je 0x180056207
nop dword [rax]
mov edx, edi
mov rcx, rdi
lea rax, [r8 + 0x10]
nop dword [rax]
cmp dword [rax], 0x97c92fff
je 0x1800562d5
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x1800561e0
mov r8, qword [r8 + 0x200]
test r8, r8
jne 0x1800561d0
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 0x18005626e
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 0x18005626e
movzx eax, word [rbx + 0x58]
inc edx
add rcx, 2
cmp edx, eax
jle 0x180056253
mov r9d, edi
cmp di, word [rbx + 0x58]
jae 0x1800562ab
lea r8, [rsp + 0x20]
nop dword [rax]
movzx ecx, byte [r10]
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x18005628e
add cl, 0xe0
mov byte [r8], cl
test cl, cl
je 0x1800562ab
movzx eax, word [rbx + 0x58]
inc r9d
inc r11d
add r10, 2
inc r8
cmp r9d, eax
jl 0x180056280
lea rcx, [rsp + 0x20]
mov edx, r11d
call fcn.180065760
xor eax, 0xe427ce1
cmp eax, 0x97c92fff
je 0x1800562e6
cmp rbx, rsi
je 0x180056442
mov rbx, qword [rbx]
jmp 0x180056230
movsxd rax, edx
shl rax, 5
mov r14, qword [rax + r8 + 0x18]
jmp 0x180056442
mov r14, qword [rbx + 0x30]
test r14, r14
je 0x18005645d
cmp byte [0x1800970f1], dil
jne 0x180056442
mov rsi, qword [0x180096db8]
test rsi, rsi
jne 0x180056383
mov ecx, 0x208
mov byte [0x1800970f1], 1
call fcn.1800472c0
mov rsi, rax
test rax, rax
je 0x18005635a
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 0x180056330
mov qword [rsi + 0x200], rdi
mov qword [0x180096db8], rsi
jmp 0x180056364
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 0x18005639f
mov rax, qword [rsi + 0x200]
test rax, rax
je 0x18005639f
nop
mov rsi, rax
mov rax, qword [rax + 0x200]
test rax, rax
jne 0x180056390
mov edx, edi
mov rcx, rdi
lea rax, [rsi + 0x10]
cmp dword [rax], edi
je 0x18005641e
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x1800563a8
mov ecx, 0x208
call fcn.1800472c0
mov r12, rax
test rax, rax
je 0x1800563f5
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 0x1800563d1
mov qword [r12 + 0x200], rdi
jmp 0x1800563f8
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 0x180056442
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 0x18005645d
mov edx, 0x83ba0282
mov rcx, r14
call fcn.180048a60
test rax, rax
je 0x18005645d
call rax
jmp 0x18005645f
xor eax, eax
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