Function at 0x180053f20
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 0x180054560
mov r8, qword [0x180092db8]
xor edi, edi
movabs rax, 0x41821ee8e53ac33
cmp r8, rax
cmove r8, rdi
mov qword [0x180092db8], r8
test r8, r8
je 0x180053fca
nop
mov edx, edi
mov rcx, rdi
lea rax, [r8 + 0x10]
nop dword [rax]
cmp dword [rax], 0x8b174dc8
je 0x180053fb5
inc rcx
inc edx
add rax, 0x28
cmp rcx, 0x10
jl 0x180053f90
mov r8, qword [r8 + 0x280]
test r8, r8
jne 0x180053f80
jmp 0x180053fca
movsxd rax, edx
lea rcx, [rax + rax*4]
mov rax, qword [r8 + rcx*8 + 0x20]
test rax, rax
jne 0x18005454f
mov r8, qword [0x180092db0]
movabs r15, 0x4b873568d1e0b188
mov r13d, 0xf
cmp r8, r15
cmove r8, rdi
mov qword [0x180092db0], r8
test r8, r8
je 0x180054037
nop word [rax + rax]
mov edx, edi
mov rcx, rdi
lea rax, [r8 + 0x10]
nop dword [rax]
cmp dword [rax], 0x89a17f76
je 0x180054106
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x180054010
mov r8, qword [r8 + 0x200]
test r8, r8
jne 0x180054000
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 0x18005409b
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 0x18005409b
movzx eax, word [rbx + 0x58]
inc edx
add rcx, 2
cmp edx, eax
jle 0x180054080
mov r8d, edi
cmp di, word [rbx + 0x58]
jae 0x1800540da
lea rdx, [rbp + 0x220]
nop dword [rax + rax]
movzx ecx, byte [r9]
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x1800540be
add cl, 0xe0
mov byte [rdx], cl
test cl, cl
je 0x1800540da
movzx eax, word [rbx + 0x58]
inc r8d
inc r10d
add r9, 2
inc rdx
cmp r8d, eax
jl 0x1800540b0
lea rcx, [rbp + 0x220]
mov edx, r10d
call fcn.180063bd0
xor eax, 0x102a2c68
cmp eax, 0x89a17f76
je 0x180054117
cmp rbx, rsi
je 0x180054272
mov rbx, qword [rbx]
jmp 0x180054060
movsxd rax, edx
shl rax, 5
mov r14, qword [rax + r8 + 0x18]
jmp 0x180054272
mov r14, qword [rbx + 0x30]
test r14, r14
je 0x18005427b
cmp byte [0x1800930b0], dil
jne 0x180054272
mov rsi, qword [0x180092db0]
test rsi, rsi
jne 0x1800541b3
mov ecx, 0x208
mov byte [0x1800930b0], 1
call fcn.180046860
mov rsi, rax
test rax, rax
je 0x18005418a
mov r12d, r13d
lea rbx, [rax + 0x18]
nop dword [rax]
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041040
mov dword [rbx - 8], edi
mov qword [rbx], rdi
add rbx, 0x20
dec r12d
jns 0x180054160
mov qword [rsi + 0x200], rdi
mov qword [0x180092db0], rsi
jmp 0x180054194
mov rsi, rdi
mov qword [0x180092db0], rdi
mov edx, 0xdae1905e
mov ecx, 0x701ac3f9
call fcn.180048dc0
mov byte [0x1800930b0], dil
mov qword [0x180092da8], rax
jmp 0x1800541cf
mov rax, qword [rsi + 0x200]
test rax, rax
je 0x1800541cf
nop
mov rsi, rax
mov rax, qword [rax + 0x200]
test rax, rax
jne 0x1800541c0
mov edx, edi
mov rcx, rdi
lea rax, [rsi + 0x10]
cmp dword [rax], edi
je 0x180054251
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x1800541d8
mov ecx, 0x208
call fcn.180046860
mov r12, rax
test rax, rax
je 0x18005422b
lea rbx, [rax + 0x18]
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041040
mov dword [rbx - 8], edi
mov qword [rbx], rdi
add rbx, 0x20
dec r13d
jns 0x180054201
mov qword [r12 + 0x200], rdi
mov r13d, 0xf
jmp 0x18005422e
mov r12, rdi
lea rdx, [rbp - 0x60]
mov rcx, r12
mov qword [r12 + 0x18], r14
call fcn.180042540
mov dword [r12 + 0x10], 0x89a17f76
mov qword [rsi + 0x200], r12
jmp 0x180054272
movsxd rbx, edx
lea rdx, [rbp - 0x60]
shl rbx, 5
add rbx, rsi
mov rcx, rbx
mov qword [rbx + 0x18], r14
call fcn.180042540
mov dword [rbx + 0x10], 0x89a17f76
test r14, r14
jne 0x180054536
mov ecx, 0x89a17f76
call fcn.180048ac0
test al, al
je 0x180054559
mov r8, qword [0x180092db0]
cmp r8, r15
cmove r8, rdi
mov qword [0x180092db0], r8
test r8, r8
je 0x1800542e7
nop word [rax + rax]
mov edx, edi
mov rcx, rdi
lea rax, [r8 + 0x10]
nop dword [rax]
cmp dword [rax], 0x89a17f76
je 0x1800543b6
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x1800542c0
mov r8, qword [r8 + 0x200]
test r8, r8
jne 0x1800542b0
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 0x18005434e
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 0x18005434e
movzx eax, word [rbx + 0x58]
inc edx
add rcx, 2
cmp edx, eax
jle 0x180054333
mov r8d, edi
cmp di, word [rbx + 0x58]
jae 0x18005438a
lea rdx, [rbp + 0xa0]
nop
movzx ecx, byte [r9]
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x18005436e
add cl, 0xe0
mov byte [rdx], cl
test cl, cl
je 0x18005438a
movzx eax, word [rbx + 0x58]
inc r8d
inc r10d
add r9, 2
inc rdx
cmp r8d, eax
jl 0x180054360
lea rcx, [rbp + 0xa0]
mov edx, r10d
call fcn.180063bd0
xor eax, 0x102a2c68
cmp eax, 0x89a17f76
je 0x1800543c7
cmp rbx, rsi
je 0x180054531
mov rbx, qword [rbx]
jmp 0x180054310
movsxd rax, edx
shl rax, 5
mov r14, qword [rax + r8 + 0x18]
jmp 0x180054531
mov r14, qword [rbx + 0x30]
test r14, r14
je 0x180054559
cmp byte [0x1800930b0], dil
jne 0x180054531
mov rsi, qword [0x180092db0]
test rsi, rsi
jne 0x180054463
mov ecx, 0x208
mov byte [0x1800930b0], 1
call fcn.180046860
mov rsi, rax
test rax, rax
je 0x18005443a
mov r12d, r13d
lea rbx, [rax + 0x18]
nop dword [rax]
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041040
mov dword [rbx - 8], edi
mov qword [rbx], rdi
add rbx, 0x20
dec r12d
jns 0x180054410
mov qword [rsi + 0x200], rdi
mov qword [0x180092db0], rsi
jmp 0x180054444
mov rsi, rdi
mov qword [0x180092db0], rdi
mov edx, 0xdae1905e
mov ecx, 0x701ac3f9
call fcn.180048dc0
mov byte [0x1800930b0], dil
mov qword [0x180092da8], rax
jmp 0x18005447f
mov rax, qword [rsi + 0x200]
test rax, rax
je 0x18005447f
nop
mov rsi, rax
mov rax, qword [rax + 0x200]
test rax, rax
jne 0x180054470
mov r8d, edi
mov rdx, rdi
lea rax, [rsi + 0x10]
nop dword [rax]
cmp dword [rax], edi
je 0x18005450d
inc rdx
inc r8d
add rax, 0x20
cmp rdx, 0x10
jl 0x180054490
mov ecx, 0x208
call fcn.180046860
mov r12, rax
test rax, rax
je 0x1800544e4
lea rbx, [rax + 0x18]
nop word [rax + rax]
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041040
mov dword [rbx - 8], edi
mov qword [rbx], rdi
add rbx, 0x20
dec r13d
jns 0x1800544c0
mov qword [r12 + 0x200], rdi
jmp 0x1800544e7
mov r12, rdi
lea rdx, [rbp + 0x120]
mov rcx, r12
mov qword [r12 + 0x18], r14
call fcn.180042540
mov dword [r12 + 0x10], 0x89a17f76
mov qword [rsi + 0x200], r12
jmp 0x180054531
movsxd rbx, r8d
lea rdx, [rbp + 0x120]
shl rbx, 5
add rbx, rsi
mov rcx, rbx
mov qword [rbx + 0x18], r14
call fcn.180042540
mov dword [rbx + 0x10], 0x89a17f76
test r14, r14
je 0x180054559
mov edx, 0x8b174dc8
mov rcx, r14
call fcn.180047fb0
mov r9, qword [rbp + 0x550]
test rax, rax
je 0x180054559
mov rcx, r9
call rax
jmp 0x180054b78
xor eax, eax
jmp 0x180054b78
call fcn.1800486a0
mov r11, qword [0x180092dc8]
cmp dword [r11], 0
jne 0x180054b6f
mov r8, qword [0x180092db8]
xor edi, edi
movabs rax, 0x41821ee8e53ac33
cmp r8, rax
cmove r8, rdi
mov qword [0x180092db8], r8
test r8, r8
je 0x1800545ea
nop dword [rax]
mov edx, edi
mov rcx, rdi
lea rax, [r8 + 0x10]
nop dword [rax]
cmp dword [rax], 0xd9e3f8b
je 0x1800545d5
inc rcx
inc edx
add rax, 0x28
cmp rcx, 0x10
jl 0x1800545b0
mov r8, qword [r8 + 0x280]
test r8, r8
jne 0x1800545a0
jmp 0x1800545ea
movsxd rax, edx
lea rcx, [rax + rax*4]
mov rax, qword [r8 + rcx*8 + 0x20]
test rax, rax
jne 0x180054b59
mov r8, qword [0x180092db0]
movabs r15, 0x4b873568d1e0b188
mov r13d, 0xf
cmp r8, r15
cmove r8, rdi
mov qword [0x180092db0], r8
test r8, r8
je 0x180054657
nop word [rax + rax]
mov edx, edi
mov rcx, rdi
lea rax, [r8 + 0x10]
nop dword [rax]
cmp dword [rax], 0x89a17f76
je 0x180054727
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x180054630
mov r8, qword [r8 + 0x200]
test r8, r8
jne 0x180054620
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 0x1800546be
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 0x1800546be
movzx eax, word [rbx + 0x58]
inc edx
add rcx, 2
cmp edx, eax
jle 0x1800546a3
mov r9d, edi
cmp di, word [rbx + 0x58]
jae 0x1800546fb
lea r8, [rbp + 0x3a0]
nop
movzx ecx, byte [r10]
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x1800546de
add cl, 0xe0
mov byte [r8], cl
test cl, cl
je 0x1800546fb
movzx eax, word [rbx + 0x58]
inc r9d
inc r11d
add r10, 2
inc r8
cmp r9d, eax
jl 0x1800546d0
lea rcx, [rbp + 0x3a0]
mov edx, r11d
call fcn.180063bd0
xor eax, 0x102a2c68
cmp eax, 0x89a17f76
je 0x180054738
cmp rbx, rsi
je 0x180054898
mov rbx, qword [rbx]
jmp 0x180054680
movsxd rax, edx
shl rax, 5
mov r14, qword [rax + r8 + 0x18]
jmp 0x180054898
mov r14, qword [rbx + 0x30]
test r14, r14
je 0x1800548a1
cmp byte [0x1800930b0], dil
jne 0x180054898
mov rsi, qword [0x180092db0]
test rsi, rsi
jne 0x1800547d3
mov ecx, 0x208
mov byte [0x1800930b0], 1
call fcn.180046860
mov rsi, rax
test rax, rax
je 0x1800547aa
mov r12d, r13d
lea rbx, [rax + 0x18]
nop
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041040
mov dword [rbx - 8], edi
mov qword [rbx], rdi
add rbx, 0x20
dec r12d
jns 0x180054780
mov qword [rsi + 0x200], rdi
mov qword [0x180092db0], rsi
jmp 0x1800547b4
mov rsi, rdi
mov qword [0x180092db0], rdi
mov edx, 0xdae1905e
mov ecx, 0x701ac3f9
call fcn.180048dc0
mov byte [0x1800930b0], dil
mov qword [0x180092da8], rax
jmp 0x1800547ef
mov rax, qword [rsi + 0x200]
test rax, rax
je 0x1800547ef
nop
mov rsi, rax
mov rax, qword [rax + 0x200]
test rax, rax
jne 0x1800547e0
mov edx, edi
mov rcx, rdi
lea rax, [rsi + 0x10]
cmp dword [rax], edi
je 0x180054874
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x1800547f8
mov ecx, 0x208
call fcn.180046860
mov r12, rax
test rax, rax
je 0x18005484b
lea rbx, [rax + 0x18]
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041040
mov dword [rbx - 8], edi
mov qword [rbx], rdi
add rbx, 0x20
dec r13d
jns 0x180054821
mov qword [r12 + 0x200], rdi
mov r13d, 0xf
jmp 0x18005484e
mov r12, rdi
lea rdx, [rbp + 0x2a0]
mov rcx, r12
mov qword [r12 + 0x18], r14
call fcn.180042540
mov dword [r12 + 0x10], 0x89a17f76
mov qword [rsi + 0x200], r12
jmp 0x180054898
movsxd rbx, edx
lea rdx, [rbp + 0x2a0]
shl rbx, 5
add rbx, rsi
mov rcx, rbx
mov qword [rbx + 0x18], r14
call fcn.180042540
mov dword [rbx + 0x10], 0x89a17f76
test r14, r14
jne 0x180054b47
mov ecx, 0x89a17f76
call fcn.180048ac0
test al, al
je 0x180054b66
mov r8, qword [0x180092db0]
cmp r8, r15
cmove r8, rdi
mov qword [0x180092db0], r8
test r8, r8
je 0x180054907
nop dword [rax]
mov edx, edi
mov rcx, rdi
lea rax, [r8 + 0x10]
nop dword [rax]
cmp dword [rax], 0x89a17f76
je 0x1800549d5
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x1800548e0
mov r8, qword [r8 + 0x200]
test r8, r8
jne 0x1800548d0
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 0x18005496e
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 0x18005496e
movzx eax, word [rbx + 0x58]
inc edx
add rcx, 2
cmp edx, eax
jle 0x180054953
mov r9d, edi
cmp di, word [rbx + 0x58]
jae 0x1800549ab
lea r8, [rsp + 0x20]
nop dword [rax]
movzx ecx, byte [r10]
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x18005498e
add cl, 0xe0
mov byte [r8], cl
test cl, cl
je 0x1800549ab
movzx eax, word [rbx + 0x58]
inc r9d
inc r11d
add r10, 2
inc r8
cmp r9d, eax
jl 0x180054980
lea rcx, [rsp + 0x20]
mov edx, r11d
call fcn.180063bd0
xor eax, 0x102a2c68
cmp eax, 0x89a17f76
je 0x1800549e6
cmp rbx, rsi
je 0x180054b42
mov rbx, qword [rbx]
jmp 0x180054930
movsxd rax, edx
shl rax, 5
mov r14, qword [rax + r8 + 0x18]
jmp 0x180054b42
mov r14, qword [rbx + 0x30]
test r14, r14
je 0x180054b66
cmp byte [0x1800930b0], dil
jne 0x180054b42
mov rsi, qword [0x180092db0]
test rsi, rsi
jne 0x180054a83
mov ecx, 0x208
mov byte [0x1800930b0], 1
call fcn.180046860
mov rsi, rax
test rax, rax
je 0x180054a5a
mov r12d, r13d
lea rbx, [rax + 0x18]
nop dword [rax]
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041040
mov dword [rbx - 8], edi
mov qword [rbx], rdi
add rbx, 0x20
dec r12d
jns 0x180054a30
mov qword [rsi + 0x200], rdi
mov qword [0x180092db0], rsi
jmp 0x180054a64
mov rsi, rdi
mov qword [0x180092db0], rdi
mov edx, 0xdae1905e
mov ecx, 0x701ac3f9
call fcn.180048dc0
mov byte [0x1800930b0], dil
mov qword [0x180092da8], rax
jmp 0x180054a9f
mov rax, qword [rsi + 0x200]
test rax, rax
je 0x180054a9f
nop
mov rsi, rax
mov rax, qword [rax + 0x200]
test rax, rax
jne 0x180054a90
mov edx, edi
mov rcx, rdi
lea rax, [rsi + 0x10]
cmp dword [rax], edi
je 0x180054b1e
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x180054aa8
mov ecx, 0x208
call fcn.180046860
mov r12, rax
test rax, rax
je 0x180054af5
lea rbx, [rax + 0x18]
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041040
mov dword [rbx - 8], edi
mov qword [rbx], rdi
add rbx, 0x20
dec r13d
jns 0x180054ad1
mov qword [r12 + 0x200], rdi
jmp 0x180054af8
mov r12, rdi
lea rdx, [rbp + 0x420]
mov rcx, r12
mov qword [r12 + 0x18], r14
call fcn.180042540
mov dword [r12 + 0x10], 0x89a17f76
mov qword [rsi + 0x200], r12
jmp 0x180054b42
movsxd rbx, edx
lea rdx, [rbp + 0x420]
shl rbx, 5
add rbx, rsi
mov rcx, rbx
mov qword [rbx + 0x18], r14
call fcn.180042540
mov dword [rbx + 0x10], 0x89a17f76
test r14, r14
je 0x180054b66
mov edx, 0xd9e3f8b
mov rcx, r14
call fcn.180047fb0
test rax, rax
je 0x180054b66
call rax
mov rcx, qword [0x180092dc8]
mov dword [rcx], eax
jmp 0x180054b6f
mov rax, qword [0x180092dc8]
mov dword [rax], edi
mov rax, qword [0x180092dc8]
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