Function at 0x4fec80
Capabilities:
Access peb ldr_data
Check os version

Disassembly:
lea r12, [rsp - 0xd0]
cmp r12, qword [r14 + 0x10]
jbe 0x4ff514
push rbp
mov rbp, rsp
sub rsp, 0x148
mov qword [rsp + 0x158], rax
lea rax, [0x0069dac0]
call fcn.0040ea40
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0x158]
call fcn.004ff9e0
jmp 0x4fecd5
mov rax, qword [rsp + 0x158]
call fcn.004ff9e0
test cl, cl
je 0x4fedab
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0x60], rbx
mov qword [rsp], rax
mov qword [rsp + 8], rbx
mov byte [rsp + 0x10], 0x23
call fcn.00403b00
xorps xmm15, xmm15
mov r14, qword [0x00a202e0]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rcx, qword [rsp + 0x18]
cmp rcx, 0xffffffffffffffff
je 0x4fed2a
mov rdx, qword [rsp + 0x60]
nop
cmp rdx, rcx
jae 0x4fed2f
jmp 0x4ff50e
mov rcx, qword [rsp + 0x60]
mov rax, qword [rsp + 0xa0]
jmp 0x4fedcf
test rcx, rcx
je 0x4fecc8
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0xf0], rax
mov qword [rsp], rax
mov qword [rsp + 8], rcx
mov byte [rsp + 0x10], 0x3a
call fcn.00403b00
xorps xmm15, xmm15
mov r14, qword [0x00a202e0]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rcx, qword [rsp + 0x18]
nop dword [rax]
cmp rcx, 0xffffffffffffffff
je 0x4fee1b
mov rdx, qword [rsp + 0x60]
cmp rdx, rcx
jb 0x4ff509
mov rax, qword [rsp + 0xf0]
mov rbx, rcx
mov rsi, rax
jmp 0x4fee89
mov rax, qword [rsp + 0xa8]
add rsp, 0x148
pop rbp
ret
dec rcx
mov rdx, rcx
neg rdx
sar rdx, 0x3f
and edx, 1
add rax, rdx
test rcx, rcx
je 0x4fedf4
movzx edx, byte [rax]
cmp dl, 0x20
je 0x4fedbc
nop dword [rax]
cmp dl, 9
je 0x4fedbc
cmp dl, 0xa
je 0x4fedbc
cmp dl, 0xd
je 0x4fedbc
jmp 0x4fedf4
dec rcx
test rcx, rcx
je 0x4fecc8
movzx edx, byte [rax + rcx - 1]
cmp dl, 0x20
je 0x4fedf1
cmp dl, 9
je 0x4fedf1
cmp dl, 0xa
je 0x4fedf1
cmp dl, 0xd
je 0x4fedf1
jmp 0x4fed40
nop
lea rax, [0x0068a5a0]
call fcn.0040ea40
mov qword [rax + 8], 0x10
lea rcx, [0x006cb8a5]
mov qword [rax], rcx
lea rcx, [0x00744940]
mov rdx, qword [rsp + 0xa8]
mov qword [rdx + 0x18], rcx
cmp dword [0x00a204b0], 0
je 0x4fee66
call fcn.0046c2a0
mov qword [r11], rax
mov rcx, qword [rdx + 0x20]
mov qword [r11 + 8], rcx
mov qword [rdx + 0x20], rax
mov rax, rdx
add rsp, 0x148
pop rbp
ret
dec rcx
mov rdi, rcx
neg rdi
sar rdi, 0x3f
and edi, 1
add rax, rdi
test rcx, rcx
je 0x4feeb1
movzx edi, byte [rax]
cmp dil, 0x20
je 0x4fee76
cmp dil, 9
je 0x4fee76
nop dword [rax]
cmp dil, 0xa
je 0x4fee76
cmp dil, 0xd
je 0x4fee76
jmp 0x4feeb1
dec rcx
test rcx, rcx
je 0x4feed8
movzx edi, byte [rax + rcx - 1]
nop dword [rax + rax]
cmp dil, 0x20
je 0x4feeae
cmp dil, 9
je 0x4feeae
cmp dil, 0xa
je 0x4feeae
cmp dil, 0xd
je 0x4feeae
lea rdi, [rbx + 1]
nop dword [rax]
cmp rdx, rdi
jb 0x4ff4fe
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0xe8], rax
sub rdx, rbx
dec rdx
mov rbx, rdx
neg rdx
sar rdx, 0x3f
and rdi, rdx
lea rdx, [rsi + rdi]
jmp 0x4fef5b
lea rdi, [rdx + rsi*8]
lea rdi, [rdi - 0x20]
mov r8, qword [rsp + 0xf8]
mov qword [rdx + rsi*8 - 0x28], r8
movups xmm0, xmmword [rsp + 0x100]
movups xmmword [rdi], xmm0
movups xmm0, xmmword [rsp + 0x110]
movups xmmword [rdi + 0x10], xmm0
mov rax, qword [rsp + 0xe8]
mov rcx, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x140]
nop dword [rax + rax]
jmp 0x4ff312
test rbx, rbx
je 0x4fecc8
mov qword [rsp + 0xe0], rdx
mov qword [rsp + 0x70], rbx
mov qword [rsp], rdx
mov qword [rsp + 8], rbx
mov byte [rsp + 0x10], 0x20
call fcn.00403b00
xorps xmm15, xmm15
mov r14, qword [0x00a202e0]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rcx, qword [rsp + 0x18]
cmp rcx, 0xffffffffffffffff
je 0x4fefed
mov rdx, qword [rsp + 0x70]
cmp rdx, rcx
jb 0x4ff4f9
lea rax, [rcx + 1]
nop dword [rax]
cmp rdx, rax
jb 0x4ff4f1
sub rdx, rcx
dec rdx
mov rsi, rdx
neg rdx
sar rdx, 0x3f
and rax, rdx
mov rdx, qword [rsp + 0xe0]
lea r8, [rdx + rax]
jmp 0x4ff499
xor eax, eax
mov rcx, qword [rsp + 0x70]
xor edx, edx
mov qword [rsp + 0x58], rcx
nop dword [rax + rax]
test rax, rax
je 0x4ff154
cmp byte [rdx], 0x5b
je 0x4ff01b
xor r8d, r8d
xor r9d, r9d
xor esi, esi
jmp 0x4ff15c
mov qword [rsp + 0x90], rax
mov qword [rsp + 0xd0], rdx
mov qword [rsp], rdx
mov qword [rsp + 8], rax
mov byte [rsp + 0x10], 0x5d
call fcn.00403b00
xorps xmm15, xmm15
mov r14, qword [0x00a202e0]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rcx, qword [rsp + 0x18]
cmp rcx, 0xffffffffffffffff
je 0x4ff410
mov rdx, qword [rsp + 0x90]
cmp rdx, rcx
jb 0x4ff480
cmp rcx, 1
jb 0x4ff473
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0xb0], 0
movups xmmword [rsp + 0xb8], xmm15
lea rbx, [rcx - 1]
mov qword [rsp + 0x78], rbx
mov rdx, rbx
neg rdx
sar rdx, 0x3f
and edx, 1
mov rsi, qword [rsp + 0xd0]
lea rax, [rsi + rdx]
mov qword [rsp + 0xd8], rax
movups xmmword [rsp + 0x120], xmm15
lea rdx, [0x004ff540]
mov qword [rsp + 0x120], rdx
lea rdi, [rsp + 0xb0]
mov qword [rsp + 0x128], rdi
lea rcx, [rsp + 0x120]
call fcn.005001a0
test rax, rax
jne 0x4ff371
mov rax, qword [rsp + 0x50]
lea rdx, [rax + 1]
mov rcx, qword [rsp + 0x90]
cmp rcx, rdx
jb 0x4ff46b
sub rcx, rax
lea rax, [rcx - 1]
mov rsi, rax
neg rsi
sar rsi, 0x3f
and rdx, rsi
mov rsi, qword [rsp + 0xb0]
mov r8, qword [rsp + 0xb8]
mov r9, qword [rsp + 0xc0]
mov r10, qword [rsp + 0xd0]
add rdx, r10
mov rcx, qword [rsp + 0x58]
jmp 0x4ff15c
xor r8d, r8d
xor r9d, r9d
xor esi, esi
mov qword [rsp + 0x140], rdx
mov qword [rsp + 0x70], rax
mov r10, qword [rsp + 0xa8]
cmp qword [r10 + 0x28], 0
jne 0x4ff1d8
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x98], rsi
mov qword [rsp + 0x48], r9
call fcn.0040f4c0
cmp dword [0x00a204b0], 0
jne 0x4ff1a2
mov rdx, qword [rsp + 0xa8]
jmp 0x4ff1ba
call fcn.0046c2a0
mov qword [r11], rax
mov rdx, qword [rsp + 0xa8]
mov rsi, qword [rdx + 0x28]
mov qword [r11 + 8], rsi
mov qword [rdx + 0x28], rax
mov rcx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x98]
mov r8, qword [rsp + 0x40]
mov r9, qword [rsp + 0x48]
mov r10, rdx
mov rbx, qword [r10 + 0x28]
movups xmmword [rsp + 0xf8], xmm15
movups xmmword [rsp + 0x100], xmm15
movups xmmword [rsp + 0x110], xmm15
mov rdx, qword [rsp + 0xe0]
mov qword [rsp + 0xf8], rdx
mov qword [rsp + 0x100], rcx
mov qword [rsp + 0x108], rsi
mov qword [rsp + 0x110], r8
mov qword [rsp + 0x118], r9
lea rax, [0x0067ff00]
mov rcx, qword [rsp + 0xe8]
mov rdi, qword [rsp + 0x80]
nop
call fcn.00413f00
mov rcx, qword [rax + 0x10]
mov rbx, qword [rax + 8]
inc rbx
mov rdx, qword [rax]
cmp rcx, rbx
jae 0x4ff2a4
mov qword [rsp + 0x138], rax
mov rax, rdx
mov edi, 1
lea rsi, [0x00699ce0]
call fcn.0044f6e0
mov rdx, qword [rsp + 0x138]
mov qword [rdx + 0x10], rcx
cmp dword [0x00a204b0], 0
je 0x4ff298
call fcn.0046c2a0
mov qword [r11], rax
mov rsi, qword [rdx]
mov qword [r11 + 8], rsi
mov qword [rdx], rax
mov rcx, rax
mov rax, rdx
mov rdx, rcx
mov qword [rax + 8], rbx
lea rsi, [rbx + rbx*4]
lea rbx, [rdx + rsi*8]
lea rbx, [rbx - 0x28]
cmp dword [0x00a204b0], 0
nop dword [rax + rax]
je 0x4fef12
mov qword [rsp + 0x88], rsi
mov qword [rsp + 0x130], rdx
lea rax, [0x00699ce0]
lea rcx, [rsp + 0xf8]
call fcn.00414bc0
mov rdx, qword [rsp + 0x130]
mov rsi, qword [rsp + 0x88]
jmp 0x4fef12
dec rbx
mov rsi, rbx
neg rsi
sar rsi, 0x3f
and esi, 1
add rdx, rsi
test rbx, rbx
je 0x4ff340
movzx esi, byte [rdx]
nop word [rax + rax]
cmp sil, 0x20
je 0x4ff2ff
cmp sil, 9
je 0x4ff2ff
cmp sil, 0xa
je 0x4ff2ff
cmp sil, 0xd
je 0x4ff2ff
jmp 0x4ff340
dec rbx
nop dword [rax]
test rbx, rbx
je 0x4fecc8
movzx esi, byte [rbx + rdx - 1]
cmp sil, 0x20
je 0x4ff33a
cmp sil, 9
je 0x4ff33a
nop word [rax + rax]
cmp sil, 0xa
je 0x4ff33a
cmp sil, 0xd
je 0x4ff33a
jmp 0x4fef65
xor eax, eax
lea rbx, [0x006cc5e1]
mov ecx, 0x12
mov rdi, qword [rsp + 0xd8]
mov rsi, qword [rsp + 0x78]
call fcn.004534c0
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0xc8], rax
lea rax, [0x0068a5a0]
call fcn.0040ea40
mov rdx, qword [rsp + 0x68]
mov qword [rax + 8], rdx
cmp dword [0x00a204b0], 0
jne 0x4ff3ce
mov rcx, qword [rsp + 0xc8]
mov rdx, qword [rsp + 0xa8]
jmp 0x4ff3f2
call fcn.0046c2c0
mov rcx, qword [rsp + 0xc8]
mov qword [r11], rcx
mov qword [r11 + 8], rax
mov rdx, qword [rsp + 0xa8]
mov rbx, qword [rdx + 0x20]
mov qword [r11 + 0x10], rbx
mov qword [rax], rcx
lea rcx, [0x00744940]
mov qword [rdx + 0x18], rcx
mov qword [rdx + 0x20], rax
mov rax, rdx
add rsp, 0x148
pop rbp
ret
nop
lea rax, [0x0068a5a0]
call fcn.0040ea40
mov qword [rax + 8], 0x1a
lea rcx, [0x006d05b6]
mov qword [rax], rcx
lea rcx, [0x00744940]
mov rdx, qword [rsp + 0xa8]
mov qword [rdx + 0x18], rcx
cmp dword [0x00a204b0], 0
je 0x4ff45b
call fcn.0046c2a0
mov qword [r11], rax
mov rcx, qword [rdx + 0x20]
mov qword [r11 + 8], rcx
mov qword [rdx + 0x20], rax
mov rax, rdx
add rsp, 0x148
pop rbp
ret
mov rax, rdx
call fcn.0046c700
mov eax, 1
xor ecx, ecx
call fcn.0046c700
nop
call fcn.0046c680
dec rsi
mov r9, rsi
neg r9
sar r9, 0x3f
and r9d, 1
add r8, r9
test rsi, rsi
je 0x4ff4c0
movzx r9d, byte [r8]
cmp r9b, 0x20
je 0x4ff485
cmp r9b, 9
je 0x4ff485
cmp r9b, 0xa
je 0x4ff485
cmp r9b, 0xd
je 0x4ff485
jmp 0x4ff4c0
dec rsi
nop
test rsi, rsi
je 0x4ff4e6
movzx r9d, byte [r8 + rsi - 1]
cmp r9b, 0x20
je 0x4ff4bc
cmp r9b, 9
je 0x4ff4bc
cmp r9b, 0xa
je 0x4ff4bc
nop dword [rax]
cmp r9b, 0xd
je 0x4ff4bc
mov rax, rsi
mov rdx, r8
jmp 0x4feff6
mov rcx, rdx
call fcn.0046c700
call fcn.0046c680
mov rax, rdi
mov rcx, rdx
call fcn.0046c700
call fcn.0046c680
call fcn.0046c680
nop
mov qword [rsp + 8], rax
call fcn.0046a360
mov rax, qword [rsp + 8]
jmp fcn.004fec80