Function at 0x180016d90
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 [0x180081168]
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 + 0x138], select
mov byte [rbp + 0x120], r13b
mov ecx, dword [0x180083538]
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 0x180017710
nop
test eax, eax
je 0x1800170b5
movzx r13d, byte [rsp + 0x30]
mov rax, qword [rbp + 0x110]
dec rax
mov r14, qword [rbp + 0x118]
cmp r14, rax
jae 0x180016ed0
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 0x180017077
cmp qword [rbp + 0x130], 0
jne 0x180017024
mov r12, qword [rbp + 0x108]
mov r15, qword [rbp + 0x138]
cmp r14, r15
ja 0x180016f23
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.18003ba60
mov byte [rdi + r14], 0
jmp 0x18001701f
cmp r14, rsi
ja 0x180017816
mov rdi, r14
or rdi, 0xf
cmp rdi, rsi
jbe 0x180016f47
mov rdi, rsi
movabs rax, 0x8000000000000027
jmp 0x180016f8c
mov rcx, r15
shr rcx, 1
mov rax, rsi
sub rax, rcx
cmp r15, rax
jbe 0x180016f67
mov rdi, rsi
movabs rax, 0x8000000000000027
jmp 0x180016f8c
lea rax, [r15 + rcx]
cmp rdi, rax
cmovb rdi, rax
lea rcx, [rdi + 1]
cmp rcx, 0x1000
jb 0x180016fab
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x18001780a
mov rcx, rax
call fcn.180039654
test rax, rax
je 0x180017810
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x180016fbc
test rcx, rcx
je 0x180016fba
call fcn.180039654
mov rsi, rax
jmp 0x180016fbc
xor esi, esi
mov qword [rbp + 0x130], r14
mov qword [rbp + 0x138], rdi
mov r8, r14
mov rdx, r12
mov rcx, rsi
call fcn.18003ba60
mov byte [rsi + r14], 0
cmp r15, 0x10
jb 0x180017018
lea rdx, [r15 + 1]
mov rcx, qword [rbp + 0x120]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180017013
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180017810
call fcn.180039690
mov qword [rbp + 0x120], rsi
mov rdi, qword [rsp + 0x40]
mov rcx, qword [rbp + 0x130]
mov rdx, qword [rbp + 0x138]
cmp rcx, rdx
jae 0x180017060
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 0x180017077
movzx r9d, r13b
xor r8d, r8d
lea edx, [r8 + 1]
lea rcx, [rbp + 0x120]
call fcn.180002a60
cmp byte [rsp + 0x30], 0xa
je 0x1800170be
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 0x180017710
movabs rsi, 0x7fffffffffffffff
jmp 0x180016e80
test rdi, rdi
je 0x180017710
mov rcx, qword [rbp + 0x118]
mov r14, qword [rbp + 0x108]
mov rsi, qword [rbp + 0x130]
test rsi, rsi
jne 0x1800170e1
lea rax, [rcx + r14]
mov rdx, rcx
jmp 0x1800170fe
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 0x180016e24
cmp byte [rax - 2], 0xd
jne 0x180016e24
cmp byte [rax - 1], 0xa
jne 0x180016e24
mov rax, rsi
test rsi, rsi
cmove rax, rcx
cmp rax, 2
je 0x18001770c
test rsi, rsi
jne 0x180017140
mov rax, r14
jmp 0x18001715a
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.180015b50
cmp rax, rdi
jae 0x18001718b
lea rdx, [rdi - 1]
movzx ecx, byte [rdx]
cmp cl, 0x20
je 0x180017183
cmp cl, 9
jne 0x18001718b
mov rdi, rdx
cmp rax, rdx
jb 0x180017172
mov ecx, 4
mov r15, qword [rsp + 0x60]
mov rax, qword [r15]
mov ecx, dword [rcx + rax]
cmp dword [0x180082ca0], ecx
jg 0x180017788
jmp 0x1800171b7
mov rsi, qword [rbp + 0x130]
mov r14, qword [rbp + 0x108]
lea r12, [0x180082c80]
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 0x18001720f
lea r14, [rbp + 0x120]
cmp qword [rbp + 0x138], 0x10
cmovae r14, qword [rbp + 0x120]
mov rdx, qword [0x180082c78]
test rdx, rdx
jne 0x180017223
xor dil, dil
jmp 0x180017442
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.180018ec0
nop
mov r8b, 1
lea rdx, [rbp - 0x80]
lea rcx, [rbp - 0x10]
call fcn.1800025b0
movzx edi, al
mov rcx, qword [rbp + 0x70]
test rcx, rcx
je 0x180017316
mov rdx, qword [rbp + 0x80]
sub rdx, rcx
and rdx, 0xfffffffffffffff0
mov rax, rcx
cmp rdx, 0x1000
jb 0x180017302
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001781c
call fcn.180039690
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x70], xmm0
mov qword [rbp + 0x80], r13
mov rcx, qword [rbp + 0x58]
test rcx, rcx
je 0x180017360
mov rdx, qword [rbp + 0x68]
sub rdx, rcx
and rdx, 0xfffffffffffffff0
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001734f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001781c
call fcn.180039690
mov qword [rbp + 0x58], r13
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x60], xmm0
mov rcx, qword [rbp + 0x38]
test rcx, rcx
je 0x1800173b2
mov rax, qword [rbp + 0x48]
sub rax, rcx
sar rax, 2
lea rdx, [rax*4]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800173a1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001781c
call fcn.180039690
mov qword [rbp + 0x38], r13
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x40], xmm0
mov rcx, qword [rbp + 0x18]
test rcx, rcx
je 0x1800173fc
mov rdx, qword [rbp + 0x28]
sub rdx, rcx
and rdx, 0xfffffffffffffff0
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800173eb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001781c
call fcn.180039690
mov qword [rbp + 0x18], r13
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x20], xmm0
mov rcx, qword [rbp - 8]
test rcx, rcx
je 0x180017442
mov rax, qword [rbp + 8]
sub rax, rcx
sar rax, 2
lea rdx, [rax*4]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001743d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001781c
call fcn.180039690
test dil, dil
je 0x180017699
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 0x180017485
lea rax, [r9 + 0x18]
cmp byte [rax + 0x10], 0
je 0x180017495
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x40], xmm0
jmp 0x18001749e
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
mov qword [rbp + 0x170], r13
mov qword [rbp + 0x178], select
mov byte [rbp + 0x160], 0
mov rdx, qword [rsp + 0x40]
mov r8, qword [rsp + 0x48]
cmp rdx, r8
je 0x1800174dd
sub r8, rdx
lea rcx, [rbp + 0x160]
call fcn.1800128c0
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 0x18001750b
lea rax, [r9 + 0x30]
cmp byte [rax + 0x10], 0
je 0x18001751b
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x40], xmm0
jmp 0x180017524
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
mov qword [rbp + 0x150], r13
mov qword [rbp + 0x158], select
mov byte [rbp + 0x140], 0
mov rdx, qword [rsp + 0x40]
mov r8, qword [rsp + 0x48]
cmp rdx, r8
je 0x18001755b
sub r8, rdx
lea rcx, [rbp + 0x140]
call fcn.1800128c0
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.180039654
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.1800060b0
nop
lea rcx, [rdi + 0x20]
lea rdx, [rbp + 0x140]
call fcn.1800060b0
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.180001f40
movups xmm1, xmmword [rax]
movsd xmm0, qword [rax + 0x10]
movsd qword [rsp + 0x50], xmm0
movabs rax, 0x2aaaaaaaaaaaaaa
cmp qword [r12 + 8], rax
je 0x18001782e
mov qword [rsp + 0x78], r13
movaps xmmword [rsp + 0x40], xmm1
mov r8, r14
lea rdx, [rsp + 0x40]
mov rcx, r12
call fcn.18000f6a0
nop
mov rdx, qword [rbp + 0x158]
cmp rdx, 0x10
jb 0x180017657
inc rdx
mov rcx, qword [rbp + 0x140]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180017651
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180017822
call fcn.180039690
nop
mov rdx, qword [rbp + 0x178]
cmp rdx, 0x10
jb 0x180017699
inc rdx
mov rcx, qword [rbp + 0x160]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180017693
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180017828
call fcn.180039690
nop
mov r8, qword [rbp - 0x70]
test r8, r8
movabs rsi, 0x7fffffffffffffff
je 0x180016e2e
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 0x1800176ff
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180017834
mov rcx, r8
call fcn.180039690
jmp 0x180016e2e
mov bl, 1
jmp 0x180017712
xor bl, bl
mov rdx, qword [rbp + 0x138]
cmp rdx, 0x10
jb 0x18001774f
inc rdx
mov rcx, qword [rbp + 0x120]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001774a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180017782
call fcn.180039690
movzx eax, bl
mov rcx, qword [rbp + 0x980]
xor rcx, rsp
call fcn.180039e30
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.18003fc9c
nop
lea rcx, [0x180082ca0]
call fcn.180039ba0
cmp dword [0x180082ca0], 0xffffffff
jne 0x1800171a9
xor r13d, r13d
mov qword [0x180082c78], r13
lea r12, [0x180082c80]
mov rcx, r12
call fcn.180006690
nop
mov byte [rsp + 0x20], bl
lea r9d, [r13 + 1]
lea r8, [0x18005d5b8]
lea rdx, str._.__:__t___._
lea rcx, [0x180082c78]
call fcn.1800031f0
nop
lea rcx, [0x18005bd20]
call fcn.180039a00
nop
lea rcx, [0x180082ca0]
call fcn.180039b40
mov rsi, qword [rbp + 0x130]
mov r14, qword [rbp + 0x108]
jmp 0x1800171be
call fcn.180011320
int3
call fcn.18003fc9c
int3
call fcn.1800118e0
nop
call fcn.18003fc9c
nop
call fcn.18003fc9c
nop
call fcn.18003fc9c
nop
call fcn.1800114a0
nop
call fcn.18003fc9c
int3