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

Disassembly:
lea r12, [rsp - 0xd0]
cmp r12, qword [r14 + 0x10]
jbe 0x4f38d4
push rbp
mov rbp, rsp
sub rsp, 0x148
mov qword [rsp + 0x158], rax
lea rax, [0x0053ef20]
call fcn.0040e6c0
mov qword [rsp + 0xf0], rax
mov rax, qword [rsp + 0x158]
call fcn.004f3da0
jmp 0x4f3095
mov rax, qword [rsp + 0x158]
call fcn.004f3da0
test cl, cl
je 0x4f316b
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0x60], rbx
mov qword [rsp], rax
mov qword [rsp + 8], rbx
mov byte [rsp + 0x10], 0x23
call fcn.00403820
xorps xmm15, xmm15
mov r14, qword [0x00759698]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rcx, qword [rsp + 0x18]
cmp rcx, 0xffffffffffffffff
je 0x4f30ea
mov rdx, qword [rsp + 0x60]
nop
cmp rdx, rcx
jae 0x4f30ef
jmp 0x4f38ce
mov rcx, qword [rsp + 0x60]
mov rax, qword [rsp + 0xc0]
jmp 0x4f318f
test rcx, rcx
je 0x4f3088
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0xe8], rax
mov qword [rsp], rax
mov qword [rsp + 8], rcx
mov byte [rsp + 0x10], 0x3a
call fcn.00403820
xorps xmm15, xmm15
mov r14, qword [0x00759698]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rcx, qword [rsp + 0x18]
nop dword [rax]
cmp rcx, 0xffffffffffffffff
je 0x4f31db
mov rdx, qword [rsp + 0x60]
cmp rdx, rcx
jb 0x4f38c9
mov rax, qword [rsp + 0xe8]
mov rbx, rcx
mov rsi, rax
jmp 0x4f3249
mov rax, qword [rsp + 0xf0]
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 0x4f31b4
movzx edx, byte [rax]
cmp dl, 0x20
je 0x4f317c
nop dword [rax]
cmp dl, 9
je 0x4f317c
cmp dl, 0xa
je 0x4f317c
cmp dl, 0xd
je 0x4f317c
jmp 0x4f31b4
dec rcx
test rcx, rcx
je 0x4f3088
movzx edx, byte [rax + rcx - 1]
cmp dl, 0x20
je 0x4f31b1
cmp dl, 9
je 0x4f31b1
cmp dl, 0xa
je 0x4f31b1
cmp dl, 0xd
je 0x4f31b1
jmp 0x4f3100
nop
lea rax, [0x00533a00]
call fcn.0040e6c0
mov qword [rax + 8], 0x10
lea rcx, [0x005566cf]
mov qword [rax], rcx
lea rcx, [0x005a1d20]
mov rdx, qword [rsp + 0xf0]
mov qword [rdx + 0x18], rcx
cmp dword [0x00759700], 0
je 0x4f3226
call fcn.0046a0e0
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 0x4f3271
movzx edi, byte [rax]
cmp dil, 0x20
je 0x4f3236
cmp dil, 9
je 0x4f3236
nop dword [rax]
cmp dil, 0xa
je 0x4f3236
cmp dil, 0xd
je 0x4f3236
jmp 0x4f3271
dec rcx
test rcx, rcx
je 0x4f3298
movzx edi, byte [rax + rcx - 1]
nop dword [rax + rax]
cmp dil, 0x20
je 0x4f326e
cmp dil, 9
je 0x4f326e
cmp dil, 0xa
je 0x4f326e
cmp dil, 0xd
je 0x4f326e
lea rdi, [rbx + 1]
nop dword [rax]
cmp rdx, rdi
jb 0x4f38be
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0xe0], rax
sub rdx, rbx
dec rdx
mov rbx, rdx
neg rdx
sar rdx, 0x3f
and rdi, rdx
lea rdx, [rsi + rdi]
jmp 0x4f3315
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 + 0xe0]
mov rcx, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x140]
jmp 0x4f36d2
test rbx, rbx
je 0x4f3088
mov qword [rsp + 0xd8], rdx
mov qword [rsp + 0x68], rbx
mov qword [rsp], rdx
mov qword [rsp + 8], rbx
mov byte [rsp + 0x10], 0x20
call fcn.00403820
xorps xmm15, xmm15
mov r14, qword [0x00759698]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rcx, qword [rsp + 0x18]
cmp rcx, 0xffffffffffffffff
je 0x4f33ad
mov rdx, qword [rsp + 0x68]
cmp rdx, rcx
jb 0x4f38b9
lea rax, [rcx + 1]
nop dword [rax + rax]
cmp rdx, rax
jb 0x4f38b1
sub rdx, rcx
dec rdx
mov rsi, rdx
neg rdx
sar rdx, 0x3f
and rax, rdx
mov rdx, qword [rsp + 0xd8]
lea r8, [rdx + rax]
jmp 0x4f3859
xor eax, eax
mov rcx, qword [rsp + 0x68]
xor edx, edx
mov qword [rsp + 0x40], rcx
nop dword [rax + rax]
test rax, rax
je 0x4f351a
cmp byte [rdx], 0x5b
je 0x4f33db
xor r8d, r8d
xor r9d, r9d
xor esi, esi
jmp 0x4f3522
mov qword [rsp + 0x90], rax
mov qword [rsp + 0xc8], rdx
mov qword [rsp], rdx
mov qword [rsp + 8], rax
mov byte [rsp + 0x10], 0x5d
call fcn.00403820
xorps xmm15, xmm15
mov r14, qword [0x00759698]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rcx, qword [rsp + 0x18]
cmp rcx, 0xffffffffffffffff
je 0x4f37d0
mov rdx, qword [rsp + 0x90]
cmp rdx, rcx
jb 0x4f3840
cmp rcx, 1
jb 0x4f3833
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0x98], 0
movups xmmword [rsp + 0xa0], xmm15
lea rbx, [rcx - 1]
mov qword [rsp + 0x70], rbx
mov rdx, rbx
neg rdx
sar rdx, 0x3f
and edx, 1
mov rsi, qword [rsp + 0xc8]
lea rax, [rsi + rdx]
mov qword [rsp + 0xd0], rax
movups xmmword [rsp + 0x120], xmm15
lea rdx, [0x004f3900]
mov qword [rsp + 0x120], rdx
lea rdi, [rsp + 0x98]
mov qword [rsp + 0x128], rdi
lea rcx, [rsp + 0x120]
call fcn.004f4560
test rax, rax
jne 0x4f3731
mov rax, qword [rsp + 0x80]
lea rdx, [rax + 1]
mov rcx, qword [rsp + 0x90]
cmp rcx, rdx
jb 0x4f382b
sub rcx, rax
lea rax, [rcx - 1]
mov rsi, rax
neg rsi
sar rsi, 0x3f
and rdx, rsi
mov rsi, qword [rsp + 0x98]
mov r8, qword [rsp + 0xa0]
mov r9, qword [rsp + 0xa8]
mov r10, qword [rsp + 0xc8]
add rdx, r10
mov rcx, qword [rsp + 0x40]
jmp 0x4f3522
xor r8d, r8d
xor r9d, r9d
xor esi, esi
mov qword [rsp + 0x140], rdx
mov qword [rsp + 0x68], rax
mov r10, qword [rsp + 0xf0]
cmp qword [r10 + 0x28], 0
jne 0x4f359e
mov qword [rsp + 0x48], r8
mov qword [rsp + 0xb0], rsi
mov qword [rsp + 0x50], r9
call fcn.0040f140
cmp dword [0x00759700], 0
jne 0x4f3568
mov rdx, qword [rsp + 0xf0]
jmp 0x4f3580
call fcn.0046a0e0
mov qword [r11], rax
mov rdx, qword [rsp + 0xf0]
mov rsi, qword [rdx + 0x28]
mov qword [r11 + 8], rsi
mov qword [rdx + 0x28], rax
mov rcx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0xb0]
mov r8, qword [rsp + 0x48]
mov r9, qword [rsp + 0x50]
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 + 0xd8]
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, [0x0052fdc0]
mov rcx, qword [rsp + 0xe0]
mov rdi, qword [rsp + 0x78]
call fcn.004135e0
mov rcx, qword [rax + 0x10]
mov rbx, qword [rax + 8]
inc rbx
mov rdx, qword [rax]
cmp rcx, rbx
jae 0x4f3665
mov qword [rsp + 0x138], rax
mov rax, rdx
mov edi, 1
lea rsi, [0x0053c6e0]
call fcn.0044eb20
mov rdx, qword [rsp + 0x138]
mov qword [rdx + 0x10], rcx
cmp dword [0x00759700], 0
je 0x4f3659
call fcn.0046a0e0
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 [0x00759700], 0
nop dword [rax]
je 0x4f32cf
mov qword [rsp + 0x88], rsi
mov qword [rsp + 0x130], rdx
lea rax, [0x0053c6e0]
lea rcx, [rsp + 0xf8]
call fcn.004142a0
mov rdx, qword [rsp + 0x130]
mov rsi, qword [rsp + 0x88]
jmp 0x4f32cf
dec rbx
mov rsi, rbx
neg rsi
sar rsi, 0x3f
and esi, 1
add rdx, rsi
test rbx, rbx
je 0x4f3700
movzx esi, byte [rdx]
nop word [rax + rax]
cmp sil, 0x20
je 0x4f36bf
cmp sil, 9
je 0x4f36bf
cmp sil, 0xa
je 0x4f36bf
cmp sil, 0xd
je 0x4f36bf
jmp 0x4f3700
dec rbx
nop dword [rax]
test rbx, rbx
je 0x4f3088
movzx esi, byte [rbx + rdx - 1]
cmp sil, 0x20
je 0x4f36fa
cmp sil, 9
je 0x4f36fa
nop word [rax + rax]
cmp sil, 0xa
je 0x4f36fa
cmp sil, 0xd
je 0x4f36fa
jmp 0x4f3320
xor eax, eax
lea rbx, [0x00556f88]
mov ecx, 0x12
mov rdi, qword [rsp + 0xd0]
mov rsi, qword [rsp + 0x70]
call fcn.00452840
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0xb8], rax
lea rax, [0x00533a00]
call fcn.0040e6c0
mov rdx, qword [rsp + 0x58]
mov qword [rax + 8], rdx
cmp dword [0x00759700], 0
jne 0x4f378e
mov rcx, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0xf0]
jmp 0x4f37b2
call fcn.0046a100
mov rcx, qword [rsp + 0xb8]
mov qword [r11], rcx
mov qword [r11 + 8], rax
mov rdx, qword [rsp + 0xf0]
mov rbx, qword [rdx + 0x20]
mov qword [r11 + 0x10], rbx
mov qword [rax], rcx
lea rcx, [0x005a1d20]
mov qword [rdx + 0x18], rcx
mov qword [rdx + 0x20], rax
mov rax, rdx
add rsp, 0x148
pop rbp
ret
nop
lea rax, [0x00533a00]
call fcn.0040e6c0
mov qword [rax + 8], 0x1a
lea rcx, [0x00559d9f]
mov qword [rax], rcx
lea rcx, [0x005a1d20]
mov rdx, qword [rsp + 0xf0]
mov qword [rdx + 0x18], rcx
cmp dword [0x00759700], 0
je 0x4f381b
call fcn.0046a0e0
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.0046a540
mov eax, 1
xor ecx, ecx
call fcn.0046a540
nop
call fcn.0046a4c0
dec rsi
mov r9, rsi
neg r9
sar r9, 0x3f
and r9d, 1
add r8, r9
test rsi, rsi
je 0x4f3880
movzx r9d, byte [r8]
cmp r9b, 0x20
je 0x4f3845
cmp r9b, 9
je 0x4f3845
cmp r9b, 0xa
je 0x4f3845
cmp r9b, 0xd
je 0x4f3845
jmp 0x4f3880
dec rsi
nop
test rsi, rsi
je 0x4f38a6
movzx r9d, byte [r8 + rsi - 1]
cmp r9b, 0x20
je 0x4f387c
cmp r9b, 9
je 0x4f387c
cmp r9b, 0xa
je 0x4f387c
nop dword [rax]
cmp r9b, 0xd
je 0x4f387c
mov rax, rsi
mov rdx, r8
jmp 0x4f33b6
mov rcx, rdx
call fcn.0046a540
call fcn.0046a4c0
mov rax, rdi
mov rcx, rdx
call fcn.0046a540
call fcn.0046a4c0
call fcn.0046a4c0
nop
mov qword [rsp + 8], rax
call fcn.004681a0
mov rax, qword [rsp + 8]
jmp fcn.004f3040