Function at 0x1800166a0
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x990]
sub rsp, 0xa90
mov rax, qword [0x18007d1d8]
xor rax, rsp
mov qword [rbp + 0x980], rax
mov qword [rsp + 0x68], rdx
xor r13d, r13d
mov dword [rsp + 0x34], r13d
mov qword [rbp + 0x100], rcx
lea rax, [rbp + 0x180]
mov qword [rbp + 0x108], rax
mov qword [rbp + 0x110], 0x800
mov qword [rbp + 0x120], r13
mov qword [rbp + 0x138], 0xf
mov byte [rbp + 0x120], r13b
mov ecx, dword [0x18007f418]
mov rax, qword gs:[0x58]
lea rdx, [rax + rcx*8]
mov qword [rsp + 0x60], rdx
movzx ebx, byte [rsp + 0x30]
movabs rsi, 0x7fffffffffffffff
mov qword [rbp + 0x118], r13
lea rax, [rbp + 0x120]
cmp qword [rbp + 0x138], 0x10
cmovae rax, qword [rbp + 0x120]
mov qword [rbp + 0x130], r13
mov byte [rax], 0
mov rdi, r13
mov qword [rsp + 0x40], r13
mov rcx, qword [rbp + 0x100]
mov rax, qword [rcx]
mov r8d, 1
lea rdx, [rsp + 0x30]
call qword [rax + 0x18]
test eax, eax
js 0x18001703c
test eax, eax
je 0x1800169ca
movzx r13d, byte [rsp + 0x30]
mov rax, qword [rbp + 0x110]
dec rax
mov r14, qword [rbp + 0x118]
cmp r14, rax
jae 0x1800167e5
mov rax, qword [rbp + 0x108]
mov byte [r14 + rax], r13b
mov rcx, qword [rbp + 0x118]
inc rcx
mov qword [rbp + 0x118], rcx
mov rax, qword [rbp + 0x108]
mov byte [rcx + rax], 0
jmp 0x18001698c
cmp qword [rbp + 0x130], 0
jne 0x180016939
mov r12, qword [rbp + 0x108]
mov r15, qword [rbp + 0x138]
cmp r14, r15
ja 0x180016838
lea rdi, [rbp + 0x120]
cmp r15, 0x10
cmovae rdi, qword [rbp + 0x120]
mov qword [rbp + 0x130], r14
mov r8, r14
mov rdx, r12
mov rcx, rdi
call fcn.18003abc0
mov byte [rdi + r14], 0
jmp 0x180016934
cmp r14, rsi
ja 0x180017142
mov rdi, r14
or rdi, 0xf
cmp rdi, rsi
jbe 0x18001685c
mov rdi, rsi
movabs rax, 0x8000000000000027
jmp 0x1800168a1
mov rcx, r15
shr rcx, 1
mov rax, rsi
sub rax, rcx
cmp r15, rax
jbe 0x18001687c
mov rdi, rsi
movabs rax, 0x8000000000000027
jmp 0x1800168a1
lea rax, [r15 + rcx]
cmp rdi, rax
cmovb rdi, rax
lea rcx, [rdi + 1]
cmp rcx, 0x1000
jb 0x1800168c0
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x180017136
mov rcx, rax
call fcn.1800387c0
test rax, rax
je 0x18001713c
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x1800168d1
test rcx, rcx
je 0x1800168cf
call fcn.1800387c0
mov rsi, rax
jmp 0x1800168d1
xor esi, esi
mov qword [rbp + 0x130], r14
mov qword [rbp + 0x138], rdi
mov r8, r14
mov rdx, r12
mov rcx, rsi
call fcn.18003abc0
mov byte [rsi + r14], 0
cmp r15, 0x10
jb 0x18001692d
lea rdx, [r15 + 1]
mov rcx, qword [rbp + 0x120]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180016928
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001713c
call fcn.1800387fc
mov qword [rbp + 0x120], rsi
mov rdi, qword [rsp + 0x40]
mov rcx, qword [rbp + 0x130]
mov rdx, qword [rbp + 0x138]
cmp rcx, rdx
jae 0x180016975
lea rax, [rcx + 1]
mov qword [rbp + 0x130], rax
lea rax, [rbp + 0x120]
cmp rdx, 0x10
cmovae rax, qword [rbp + 0x120]
mov byte [rax + rcx], r13b
mov byte [rax + rcx + 1], 0
jmp 0x18001698c
movzx r9d, r13b
xor r8d, r8d
lea edx, [r8 + 1]
lea rcx, [rbp + 0x120]
call fcn.180002ae0
cmp byte [rsp + 0x30], 0xa
je 0x1800169d3
inc rdi
mov qword [rsp + 0x40], rdi
mov rcx, qword [rbp + 0x100]
mov rax, qword [rcx]
mov r8d, 1
lea rdx, [rsp + 0x30]
call qword [rax + 0x18]
test eax, eax
js 0x18001703c
movabs rsi, 0x7fffffffffffffff
jmp 0x180016795
test rdi, rdi
je 0x18001703c
mov rcx, qword [rbp + 0x118]
mov r14, qword [rbp + 0x108]
mov rsi, qword [rbp + 0x130]
test rsi, rsi
jne 0x1800169f6
lea rax, [rcx + r14]
mov rdx, rcx
jmp 0x180016a13
lea rax, [rbp + 0x120]
cmp qword [rbp + 0x138], 0x10
cmovae rax, qword [rbp + 0x120]
add rax, rsi
mov rdx, rsi
cmp rdx, 2
mov r13d, 0
jb 0x18001673b
cmp byte [rax - 2], 0xd
jne 0x18001673b
cmp byte [rax - 1], 0xa
jne 0x18001673b
mov rax, rsi
test rsi, rsi
cmove rax, rcx
cmp rax, 2
je 0x180017038
test rsi, rsi
jne 0x180016a55
mov rax, r14
jmp 0x180016a6f
lea rax, [rbp + 0x120]
cmp qword [rbp + 0x138], 0x10
cmovae rax, qword [rbp + 0x120]
mov rcx, rsi
lea rdi, [rax - 2]
add rdi, rcx
lea rcx, [rbp + 0x100]
call fcn.180015450
cmp rax, rdi
jae 0x180016aa9
nop word [rax + rax]
lea rdx, [rdi - 1]
movzx ecx, byte [rdx]
cmp cl, 0x20
je 0x180016aa1
cmp cl, 9
jne 0x180016aa9
mov rdi, rdx
cmp rax, rdx
jb 0x180016a90
mov ecx, 4
mov r15, qword [rsp + 0x60]
mov rax, qword [r15]
mov ecx, dword [rcx + rax]
cmp dword [0x18007ed20], ecx
jg 0x1800170b4
jmp 0x180016ad5
mov rsi, qword [rbp + 0x130]
mov r14, qword [rbp + 0x108]
lea r12, [0x18007ed00]
mov qword [rbp - 0x80], r13
mov byte [rbp - 0x78], 0
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x70], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp - 0x60], xmm1
mov qword [rbp - 0x50], r13
mov byte [rbp - 0x48], 0
movdqa xmmword [rbp - 0x40], xmm0
mov byte [rbp - 0x30], 0
mov qword [rbp - 0x28], r13
mov qword [rbp - 0x20], r13
mov byte [rbp - 0x18], 0
test rsi, rsi
je 0x180016b2d
lea r14, [rbp + 0x120]
cmp qword [rbp + 0x138], 0x10
cmovae r14, qword [rbp + 0x120]
mov rdx, qword [0x18007ecf8]
test rdx, rdx
jne 0x180016b41
xor dil, dil
jmp 0x180016d60
mov eax, dword [rdx + 0x20]
mov ecx, dword [rdx + 0x28]
mov qword [rbp - 8], r13
movdqa xmmword [rbp], xmm0
mov qword [rbp + 0x10], r13
mov qword [rbp + 0x18], r13
movdqa xmmword [rbp + 0x20], xmm0
mov qword [rbp + 0x38], r13
movdqa xmmword [rbp + 0x40], xmm0
mov qword [rbp + 0x50], r13
mov qword [rbp + 0x58], r13
movdqa xmmword [rbp + 0x60], xmm0
movdqa xmmword [rbp + 0x70], xmm0
mov qword [rbp + 0x80], r13
mov qword [rbp + 0x90], rdi
mov qword [rbp + 0x98], r14
mov qword [rbp + 0xa0], rdx
mov dword [rbp + 0xa8], eax
mov dword [rbp + 0xac], r13d
mov byte [rbp + 0xb0], 0
mov dword [rbp + 0xb4], ecx
movzx eax, byte [rdx + 0xc]
shr al, 3
and al, 1
mov byte [rbp + 0xb8], al
mov qword [rbp + 0xc0], r12
mov edx, dword [rdx + 0x24]
lea rcx, [rbp + 0x70]
call fcn.1800187f0
nop
mov r8b, 1
lea rdx, [rbp - 0x80]
lea rcx, [rbp - 0x10]
call fcn.180002630
movzx edi, al
mov rcx, qword [rbp + 0x70]
test rcx, rcx
je 0x180016c34
mov rdx, qword [rbp + 0x80]
sub rdx, rcx
and rdx, 0xfffffffffffffff0
mov rax, rcx
cmp rdx, 0x1000
jb 0x180016c20
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180017148
call fcn.1800387fc
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x70], xmm0
mov qword [rbp + 0x80], r13
mov rcx, qword [rbp + 0x58]
test rcx, rcx
je 0x180016c7e
mov rdx, qword [rbp + 0x68]
sub rdx, rcx
and rdx, 0xfffffffffffffff0
mov rax, rcx
cmp rdx, 0x1000
jb 0x180016c6d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180017148
call fcn.1800387fc
mov qword [rbp + 0x58], r13
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x60], xmm0
mov rcx, qword [rbp + 0x38]
test rcx, rcx
je 0x180016cd0
mov rax, qword [rbp + 0x48]
sub rax, rcx
sar rax, 2
lea rdx, [rax*4]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180016cbf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180017148
call fcn.1800387fc
mov qword [rbp + 0x38], r13
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x40], xmm0
mov rcx, qword [rbp + 0x18]
test rcx, rcx
je 0x180016d1a
mov rdx, qword [rbp + 0x28]
sub rdx, rcx
and rdx, 0xfffffffffffffff0
mov rax, rcx
cmp rdx, 0x1000
jb 0x180016d09
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180017148
call fcn.1800387fc
mov qword [rbp + 0x18], r13
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x20], xmm0
mov rcx, qword [rbp - 8]
test rcx, rcx
je 0x180016d60
mov rax, qword [rbp + 8]
sub rax, rcx
sar rax, 2
lea rdx, [rax*4]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180016d5b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180017148
call fcn.1800387fc
test dil, dil
je 0x180016fc5
mov r10, qword [rbp - 0x68]
mov rcx, r10
mov r9, qword [rbp - 0x70]
sub rcx, r9
movabs r12, 0x2aaaaaaaaaaaaaab
mov rax, r12
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdx, 1
lea rax, [rbp - 0x28]
jbe 0x180016da3
lea rax, [r9 + 0x18]
cmp byte [rax + 0x10], 0
je 0x180016db3
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x40], xmm0
jmp 0x180016dbc
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
mov qword [rbp + 0x160], r13
mov qword [rbp + 0x170], r13
mov qword [rbp + 0x178], 0xf
mov byte [rbp + 0x160], 0
mov rdx, qword [rsp + 0x40]
mov r8, qword [rsp + 0x48]
cmp rdx, r8
je 0x180016e02
sub r8, rdx
lea rcx, [rbp + 0x160]
call fcn.1800122e0
mov r10, qword [rbp - 0x68]
mov r9, qword [rbp - 0x70]
mov r15d, dword [rsp + 0x34]
or r15d, 3
sub r10, r9
mov rax, r12
imul r10
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdx, 2
lea rax, [rbp - 0x28]
jbe 0x180016e30
lea rax, [r9 + 0x30]
cmp byte [rax + 0x10], 0
je 0x180016e40
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x40], xmm0
jmp 0x180016e49
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
mov qword [rbp + 0x140], r13
mov qword [rbp + 0x150], r13
mov qword [rbp + 0x158], 0xf
mov byte [rbp + 0x140], 0
mov rdx, qword [rsp + 0x40]
mov r8, qword [rsp + 0x48]
cmp rdx, r8
je 0x180016e87
sub r8, rdx
lea rcx, [rbp + 0x140]
call fcn.1800122e0
or r15d, 0xc
mov dword [rsp + 0x34], r15d
mov r12, qword [rsp + 0x68]
mov rsi, qword [r12]
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x78], r13
mov ecx, 0x60
call fcn.1800387c0
mov r14, rax
mov qword [rsp + 0x78], rax
lea rdi, [rax + 0x20]
mov qword [rsp + 0x40], rdi
lea rdx, [rbp + 0x160]
mov rcx, rdi
call fcn.180006310
nop
lea rcx, [rdi + 0x20]
lea rdx, [rbp + 0x140]
call fcn.180006310
nop
mov qword [r14], rsi
mov qword [r14 + 8], rsi
mov qword [r14 + 0x10], rsi
mov word [r14 + 0x18], 0
mov r8, rdi
lea rdx, [rbp + 0xe0]
mov rcx, r12
call fcn.180002020
movups xmm1, xmmword [rax]
movsd xmm0, qword [rax + 0x10]
movsd qword [rsp + 0x50], xmm0
movabs rax, 0x2aaaaaaaaaaaaaa
cmp qword [r12 + 8], rax
je 0x18001715a
mov qword [rsp + 0x78], r13
movaps xmmword [rsp + 0x40], xmm1
mov r8, r14
lea rdx, [rsp + 0x40]
mov rcx, r12
call fcn.18000f130
nop
mov rdx, qword [rbp + 0x158]
cmp rdx, 0x10
jb 0x180016f83
inc rdx
mov rcx, qword [rbp + 0x140]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180016f7d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001714e
call fcn.1800387fc
nop
mov rdx, qword [rbp + 0x178]
cmp rdx, 0x10
jb 0x180016fc5
inc rdx
mov rcx, qword [rbp + 0x160]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180016fbf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180017154
call fcn.1800387fc
nop
mov r8, qword [rbp - 0x70]
test r8, r8
movabs rsi, 0x7fffffffffffffff
je 0x180016745
mov rcx, qword [rbp - 0x60]
sub rcx, r8
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rdx, [rdx + rdx*2]
shl rdx, 3
mov rax, r8
cmp rdx, 0x1000
jb 0x18001702b
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180017160
mov rcx, r8
call fcn.1800387fc
jmp 0x180016745
mov bl, 1
jmp 0x18001703e
xor bl, bl
mov rdx, qword [rbp + 0x138]
cmp rdx, 0x10
jb 0x18001707b
inc rdx
mov rcx, qword [rbp + 0x120]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180017076
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800170ae
call fcn.1800387fc
movzx eax, bl
mov rcx, qword [rbp + 0x980]
xor rcx, rsp
call fcn.180038f90
lea r11, [rsp + 0xa90]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.18003f05c
nop
lea rcx, [0x18007ed20]
call fcn.180038d0c
cmp dword [0x18007ed20], 0xffffffff
jne 0x180016ac7
xor r13d, r13d
mov qword [0x18007ecf8], r13
lea r12, [0x18007ed00]
mov rcx, r12
call fcn.180006900
nop
mov byte [rsp + 0x20], bl
lea r9d, [r13 + 1]
lea r8, [0x18005d5b8]
lea rdx, str._.__:__t___._
lea rcx, [0x18007ecf8]
call fcn.180003270
nop
lea rcx, [0x18005b150]
call fcn.180038b6c
nop
lea rcx, [0x18007ed20]
call fcn.180038cac
mov rsi, qword [rbp + 0x130]
mov r14, qword [rbp + 0x108]
jmp 0x180016adc
call fcn.180010d80
int3
call fcn.18003f05c
int3
call fcn.180011340
nop
call fcn.18003f05c
nop
call fcn.18003f05c
nop
call fcn.18003f05c
nop
call fcn.180010f00
nop
call fcn.18003f05c
int3