Function at 0x14004e9d0
Capabilities:
Execute anti-debugging instructions

Disassembly:
mov r11, rsp
push rbp
lea rbp, [r11 - 0x418]
sub rsp, 0x510
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp + 0x400], rax
mov eax, dword [0x14051ed30]
mov qword [r11 + 8], rbx
mov qword [r11 + 0x18], rdi
test eax, eax
jne 0x14004ea1d
call fcn.140085840
mov rax, qword [0x14051f7a8]
test rax, rax
je 0x14004ea1d
mov ecx, 1
call rax
lea rcx, [rbp + 0x190]
call qword [0x14051eed0]
mov ecx, dword [0x14024e138]
mov eax, dword [rbp + 0x1b0]
mov dword [0x1401a9ae8], eax
test ecx, ecx
jne 0x14004ea4b
call fcn.140091610
mov ecx, dword [0x14024e138]
call fcn.140076d00
xor edi, edi
sub eax, 1
je 0x14004eae9
sub eax, 1
je 0x14004eaa9
cmp eax, 2
jne 0x14004eb20
mov r8d, edi
lea rcx, str.Windows
mov eax, edi
mov edx, 0x690057
mov ebx, edi
nop dword [rax]
mov dword [rbp + rbx + 0x200], edx
lea rax, [rax + 1]
lea rbx, [rax*4]
inc r8d
mov edx, dword [rbx + rcx]
test edx, edx
jne 0x14004ea80
movsxd rax, r8d
mov dword [rbp + rax*4 + 0x200], edi
jmp 0x14004eb20
mov r8d, edi
lea rcx, str.Windows
mov rax, rdi
mov edx, 0x57
mov rbx, rdi
nop
mov word [rbp + rbx + 0x200], dx
lea rax, [rax + 1]
lea rbx, [rax + rax]
inc r8d
movzx edx, word [rbx + rcx]
test dx, dx
jne 0x14004eac0
movsxd rax, r8d
mov word [rbp + rax*2 + 0x200], di
jmp 0x14004eb20
mov ebx, edi
lea rcx, str.Windows
mov dl, 0x57
mov rax, rdi
nop word [rax + rax]
mov byte [rbp + rax + 0x200], dl
lea rax, [rax + 1]
movzx edx, byte [rax + rcx]
inc ebx
test dl, dl
jne 0x14004eb00
movsxd rax, ebx
mov byte [rbp + rax + 0x200], dil
xor edx, edx
lea rax, [rbp + 0x70]
xorps xmm0, xmm0
lea ecx, [rdx + 2]
nop dword [rax]
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x30], xmm0
movups xmmword [rax + 0x40], xmm0
movups xmmword [rax + 0x50], xmm0
movups xmmword [rax + 0x60], xmm0
lea rax, [rax + 0x80]
movups xmmword [rax - 0x10], xmm0
sub rcx, 1
jne 0x14004eb30
movups xmmword [rax], xmm0
mov dword [rax + 0x10], edx
lea rcx, [rbp + 0x70]
mov dword [rbp + 0x70], 0x114
call fcn.140088ea0
mov eax, dword [rbp + 0x80]
test eax, eax
je 0x14004f2a7
sub eax, 1
je 0x14004f17b
cmp eax, 1
jne 0x14004f2db
mov ecx, dword [rbp + 0x74]
mov eax, dword [rbp + 0x78]
cmp ecx, 6
jb 0x14004ef64
cmp eax, 2
jb 0x14004ef64
cmp qword [0x14051edd8], rdi
mov rdx, qword [0x14051f718]
mov rbx, qword [0x14051ede0]
je 0x14004ebc6
test rbx, rbx
jne 0x14004ebcf
test rdx, rdx
je 0x14004ef64
xor r8d, r8d
lea rax, [rsp + 0x50]
xorps xmm0, xmm0
lea ecx, [r8 + 2]
nop
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x30], xmm0
movups xmmword [rax + 0x40], xmm0
movups xmmword [rax + 0x50], xmm0
movups xmmword [rax + 0x60], xmm0
lea rax, [rax + 0x80]
movups xmmword [rax - 0x10], xmm0
sub rcx, 1
jne 0x14004ebe0
movups xmmword [rax], xmm0
mov qword [rax + 0x10], r8
mov dword [rax + 0x18], r8d
mov dword [rsp + 0x50], 0x11c
test rdx, rdx
je 0x14004ee06
lea rcx, [rsp + 0x50]
call rdx
mov ebx, dword [0x14024e138]
test ebx, ebx
jne 0x14004ec44
call fcn.140091610
mov ebx, dword [0x14024e138]
lea r8, [rsp + 0x64]
mov ecx, ebx
lea rdx, [rbp + 0x84]
call fcn.14007c120
mov eax, dword [rsp + 0x54]
mov edx, dword [rsp + 0x5c]
mov dword [rbp + 0x7c], edx
cmp eax, 6
je 0x14004ecf8
cmp eax, 0xa
jne 0x14004f2db
cmp dword [rsp + 0x58], edi
jne 0x14004f2db
cmp edx, 0x55f0
jb 0x14004ecbf
test ebx, ebx
jne 0x14004ec95
call fcn.140091610
mov ebx, dword [0x14024e138]
lea r9, [0x14012f688]
mov r8d, 0x200
lea rdx, [rbp + 0x200]
mov ecx, ebx
call fcn.14007c560
mov dword [0x1401b8468], 0x10d
jmp 0x14004f2db
test ebx, ebx
jne 0x14004ecce
call fcn.140091610
mov ebx, dword [0x14024e138]
lea r9, [0x14012f680]
mov r8d, 0x200
lea rdx, [rbp + 0x200]
mov ecx, ebx
call fcn.14007c560
mov dword [0x1401b8468], 0x10c
jmp 0x14004f2db
mov eax, dword [rsp + 0x58]
test eax, eax
je 0x14004edcd
sub eax, 1
je 0x14004ed94
sub eax, 1
je 0x14004ed5b
sub eax, 1
je 0x14004ed22
cmp eax, 1
jne 0x14004f2db
jmp 0x14004ecbf
test ebx, ebx
jne 0x14004ed31
call fcn.140091610
mov ebx, dword [0x14024e138]
lea r9, [0x14012f678]
mov r8d, 0x200
lea rdx, [rbp + 0x200]
mov ecx, ebx
call fcn.14007c560
mov dword [0x1401b8468], 0x10b
jmp 0x14004f2db
test ebx, ebx
jne 0x14004ed6a
call fcn.140091610
mov ebx, dword [0x14024e138]
lea r9, [0x14012f670]
mov r8d, 0x200
lea rdx, [rbp + 0x200]
mov ecx, ebx
call fcn.14007c560
mov dword [0x1401b8468], 0x10a
jmp 0x14004f2db
test ebx, ebx
jne 0x14004eda3
call fcn.140091610
mov ebx, dword [0x14024e138]
lea r9, [0x14012f66c]
mov r8d, 0x200
lea rdx, [rbp + 0x200]
mov ecx, ebx
call fcn.14007c560
mov dword [0x1401b8468], 0x109
jmp 0x14004f2db
test ebx, ebx
jne 0x14004eddc
call fcn.140091610
mov ebx, dword [0x14024e138]
lea r9, str.Vista
mov r8d, 0x200
lea rdx, [rbp + 0x200]
mov ecx, ebx
call fcn.14007c560
mov dword [0x1401b8468], 0x108
jmp 0x14004f2db
mov r8b, 2
mov dword [rbp + 0x7c], edi
mov edx, 2
mov word [rbp + 0x84], di
xor ecx, ecx
call rbx
mov r8b, 2
mov edx, 1
mov rcx, rax
call qword [0x14051ede0]
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x54], 0xa
mov r8, rax
call fcn.140088d60
test eax, eax
je 0x14004ee68
mov ecx, dword [0x14024e138]
test ecx, ecx
jne 0x14004ee5c
call fcn.140091610
mov ecx, dword [0x14024e138]
lea r9, str.10_After
jmp 0x14004efb1
mov r8b, 3
mov edx, 2
xor ecx, ecx
call qword [0x14051ede0]
mov r8b, 3
mov edx, 1
mov rcx, rax
call qword [0x14051ede0]
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x54], 0xa
mov r8, rax
mov rbx, rax
call fcn.140088d60
test eax, eax
jne 0x14004ef95
mov r8, rbx
mov dword [rsp + 0x54], 6
lea rcx, [rsp + 0x50]
mov dword [rsp + 0x58], 4
call fcn.140088d60
test eax, eax
jne 0x14004ef95
mov r8, rbx
mov dword [rsp + 0x54], 6
lea rcx, [rsp + 0x50]
mov dword [rsp + 0x58], 3
call fcn.140088d60
mov ecx, dword [0x14024e138]
test eax, eax
je 0x14004ef2d
test ecx, ecx
jne 0x14004ef05
call fcn.140091610
mov ecx, dword [0x14024e138]
lea r9, [0x14012f678]
mov r8d, 0x200
lea rdx, [rbp + 0x200]
call fcn.14007c560
mov dword [0x1401b8468], 0x10b
jmp 0x14004f2db
test ecx, ecx
jne 0x14004ef3c
call fcn.140091610
mov ecx, dword [0x14024e138]
lea r9, [0x14012f670]
mov r8d, 0x200
lea rdx, [rbp + 0x200]
call fcn.14007c560
mov dword [0x1401b8468], 0x10a
jmp 0x14004f2db
sub ecx, 3
je 0x14004f13e
sub ecx, 1
je 0x14004f101
sub ecx, 1
je 0x14004f07a
sub ecx, 1
je 0x14004efd2
cmp ecx, 4
jne 0x14004f2db
test eax, eax
jne 0x14004f2db
mov ecx, dword [0x14024e138]
test ecx, ecx
jne 0x14004efaa
call fcn.140091610
mov ecx, dword [0x14024e138]
lea r9, [0x14012f680]
mov r8d, 0x200
lea rdx, [rbp + 0x200]
call fcn.14007c560
mov dword [0x1401b8468], 0x10c
jmp 0x14004f2db
test eax, eax
je 0x14004f03d
sub eax, 1
je 0x14004f000
sub eax, 1
je 0x14004eff5
sub eax, 1
je 0x14004efea
cmp eax, 1
jmp 0x14004ef8f
mov ecx, dword [0x14024e138]
jmp 0x14004eef6
mov ecx, dword [0x14024e138]
jmp 0x14004ef2d
mov ecx, dword [0x14024e138]
test ecx, ecx
jne 0x14004f015
call fcn.140091610
mov ecx, dword [0x14024e138]
lea r9, [0x14012f66c]
mov r8d, 0x200
lea rdx, [rbp + 0x200]
call fcn.14007c560
mov dword [0x1401b8468], 0x109
jmp 0x14004f2db
mov ecx, dword [0x14024e138]
test ecx, ecx
jne 0x14004f052
call fcn.140091610
mov ecx, dword [0x14024e138]
lea r9, str.Vista
mov r8d, 0x200
lea rdx, [rbp + 0x200]
call fcn.14007c560
mov dword [0x1401b8468], 0x108
jmp 0x14004f2db
test eax, eax
je 0x14004f0c4
cmp eax, 1
jne 0x14004f2db
mov ecx, dword [0x14024e138]
test ecx, ecx
jne 0x14004f09c
call fcn.140091610
mov ecx, dword [0x14024e138]
lea r9, [0x14012f6cc]
mov r8d, 0x200
lea rdx, [rbp + 0x200]
call fcn.14007c560
mov dword [0x1401b8468], 0x107
jmp 0x14004f2db
mov ecx, dword [0x14024e138]
test ecx, ecx
jne 0x14004f0d9
call fcn.140091610
mov ecx, dword [0x14024e138]
lea r9, str.2000
mov r8d, 0x200
lea rdx, [rbp + 0x200]
call fcn.14007c560
mov dword [0x1401b8468], 0x106
jmp 0x14004f2db
mov ecx, dword [0x14024e138]
test ecx, ecx
jne 0x14004f116
call fcn.140091610
mov ecx, dword [0x14024e138]
lea r9, [0x14012f6b8]
mov r8d, 0x200
lea rdx, [rbp + 0x200]
call fcn.14007c560
mov dword [0x1401b8468], 0x105
jmp 0x14004f2db
mov ecx, dword [0x14024e138]
test ecx, ecx
jne 0x14004f153
call fcn.140091610
mov ecx, dword [0x14024e138]
lea r9, str.NT_3.51
mov r8d, 0x200
lea rdx, [rbp + 0x200]
call fcn.14007c560
mov dword [0x1401b8468], 0x104
jmp 0x14004f2db
mov eax, dword [rbp + 0x78]
test eax, eax
je 0x14004f235
cmp eax, 0xa
je 0x14004f1d1
cmp eax, 0x5a
jne 0x14004f2db
mov ecx, dword [0x14024e138]
test ecx, ecx
jne 0x14004f1a9
call fcn.140091610
mov ecx, dword [0x14024e138]
lea r9, [0x14012f654]
mov r8d, 0x200
lea rdx, [rbp + 0x200]
call fcn.14007c560
mov dword [0x1401b8468], 3
jmp 0x14004f2db
mov ecx, dword [0x14024e138]
test ecx, ecx
jne 0x14004f1e6
call fcn.140091610
mov ecx, dword [0x14024e138]
lea r9, [0x14012f644]
mov r8d, 0x200
lea rdx, [rbp + 0x200]
call fcn.14007c560
cmp word [rbp + 0x84], 0x41
mov dword [0x1401b8468], 2
jne 0x14004f2db
mov ecx, dword [0x14024e138]
test ecx, ecx
jne 0x14004f22c
call fcn.140091610
mov ecx, dword [0x14024e138]
lea r9, [0x14012f64c]
jmp 0x14004f293
mov ecx, dword [0x14024e138]
test ecx, ecx
jne 0x14004f24a
call fcn.140091610
mov ecx, dword [0x14024e138]
lea r9, [0x14012f630]
mov r8d, 0x200
lea rdx, [rbp + 0x200]
call fcn.14007c560
cmp word [rbp + 0x84], 0x43
mov dword [0x1401b8468], 1
jne 0x14004f2db
mov ecx, dword [0x14024e138]
test ecx, ecx
jne 0x14004f28c
call fcn.140091610
mov ecx, dword [0x14024e138]
lea r9, str.OSR2
mov r8d, 0x200
lea rdx, [rbp + 0x200]
call fcn.14007c560
jmp 0x14004f2db
mov ecx, dword [0x14024e138]
test ecx, ecx
jne 0x14004f2bc
call fcn.140091610
mov ecx, dword [0x14024e138]
lea r9, [0x14012f628]
mov r8d, 0x200
lea rdx, [rbp + 0x200]
call fcn.14007c560
mov dword [0x1401b8468], edi
mov eax, dword [rbp + 0x7c]
lea r9, [rbp + 0x200]
mov edx, 0x100
test eax, eax
je 0x14004f313
lea rcx, [rbp + 0x84]
mov qword [rsp + 0x28], rcx
lea r8, str._s___Build__d__s__
lea rcx, [0x1401a90b0]
mov dword [rsp + 0x20], eax
call fcn.140075060
jmp 0x14004f326
lea r8, [0x14012f700]
lea rcx, [0x1401a90b0]
call fcn.140075060
mov edx, 8
mov dword [0x1401b8464], 0x70000
lea rcx, [rsp + 0x48]
call qword [0x14051ed68]
mov ecx, dword [rsp + 0x48]
call qword [0x14051ed50]
xor eax, eax
mov byte [rbp + 0x1f0], dil
xor ecx, ecx
mov dword [0x1401b846c], edi
cpuid
xor ecx, ecx
mov edi, 1
xor r9b, r9b
mov eax, edi
cpuid
mov r8d, edx
mov dword [rsp + 0x30], eax
shr r8d, 4
xor ecx, ecx
mov eax, 0x80000000
mov byte [rbp + 0x1c0], r9b
cpuid
and r8d, edi
mov dword [rsp + 0x34], ebx
mov dword [rsp + 0x38], ecx
mov dword [rsp + 0x3c], edx
cmp eax, 0x80000004
jb 0x14004f410
xor ecx, ecx
mov eax, 0x80000002
cpuid
mov dword [rsp + 0x30], eax
mov eax, 0x80000003
mov dword [rsp + 0x38], ecx
xor ecx, ecx
mov dword [rsp + 0x34], ebx
mov dword [rsp + 0x3c], edx
movups xmm1, xmmword [rsp + 0x30]
cpuid
mov dword [rsp + 0x30], eax
mov eax, 0x80000004
mov dword [rsp + 0x38], ecx
xor ecx, ecx
mov dword [rsp + 0x34], ebx
mov dword [rsp + 0x3c], edx
movups xmm0, xmmword [rsp + 0x30]
cpuid
mov dword [rsp + 0x30], eax
movups xmmword [rbp + 0x1d0], xmm0
mov dword [rsp + 0x34], ebx
mov dword [rsp + 0x38], ecx
mov dword [rsp + 0x3c], edx
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rbp + 0x1c0], xmm1
movups xmmword [rbp + 0x1e0], xmm0
movd r9d, xmm1
xor ecx, ecx
mov eax, edi
cpuid
bt edx, 0x17
jae 0x14004f438
mov edi, 3
bt edx, 0x19
jae 0x14004f438
bt edx, 0x1a
mov edi, 4
mov eax, 5
cmovb edi, eax
mov dword [0x1401b8478], r8d
test r8d, r8d
je 0x14004f563
mov qword [rsp + 0x528], rsi
rdtsc
mov ecx, dword [0x14051ed30]
shl rdx, 0x20
or rax, rdx
mov rsi, rax
test ecx, ecx
jne 0x14004f47e
call fcn.140085840
mov rdx, qword [0x14051f7a8]
test rdx, rdx
je 0x14004f47e
mov ecx, 1
call rdx
cmp qword [0x14051ed38], 0
jne 0x14004f49e
call fcn.140085840
cmp qword [0x14051ed38], 0
jne 0x14004f49e
mov ebx, 0xffffffff
jmp 0x14004f4b0
call qword [0x14051ed60]
mov ebx, eax
btr ebx, 0x1f
nop word [rax + rax]
mov ecx, dword [0x14051ed30]
test ecx, ecx
jne 0x14004f4d2
call fcn.140085840
mov rdx, qword [0x14051f7a8]
test rdx, rdx
je 0x14004f4d2
mov ecx, 1
call rdx
cmp qword [0x14051ed38], 0
jne 0x14004f4f2
call fcn.140085840
cmp qword [0x14051ed38], 0
jne 0x14004f4f2
mov eax, 0xffffffff
jmp 0x14004f4fc
call qword [0x14051ed60]
btr eax, 0x1f
sub eax, ebx
cmp eax, 0x64
jl 0x14004f4b0
rdtsc
shl rdx, 0x20
xorps xmm0, xmm0
or rdx, rax
sub rdx, rsi
mov rsi, qword [rsp + 0x528]
lea rcx, [rdx + rdx*4]
add rcx, rcx
mov qword [0x1401b8480], rcx
test rdx, rdx
js 0x14004f534
cvtsi2sd xmm0, rdx
jmp 0x14004f549
mov rax, rdx
and edx, 1
shr rax, 1
or rax, rdx
cvtsi2sd xmm0, rax
addsd xmm0, xmm0
divsd xmm0, qword [0x14013bf80]
movzx r9d, byte [rbp + 0x1c0]
cvttsd2si eax, xmm0
mov dword [0x1401a96b0], eax
mov rbx, qword [rsp + 0x520]
sub edi, 3
je 0x14004f58a
sub edi, 1
je 0x14004f580
cmp edi, 1
jne 0x14004f594
mov dword [0x1401b8474], edi
mov dword [0x1401b8470], 1
mov dword [0x1401b846c], 1
mov rdi, qword [rsp + 0x530]
test r9b, r9b
je 0x14004f5e1
mov eax, dword [0x14024e138]
test eax, eax
jne 0x14004f5b6
call fcn.140091610
mov eax, dword [0x14024e138]
mov dword [rsp + 0x28], eax
lea r9, [0x1401a94b0]
mov edx, 0xffffffff
mov qword [rsp + 0x20], 0x200
mov r8d, 0x7ffd
lea rcx, [rbp + 0x1c0]
call fcn.14007aa30
cmp dword [0x1401b8464], 0x70000
jge 0x14004f5f8
mov ecx, 0xffffffff
call qword [0x14051f008]
xor eax, eax
mov rcx, qword [rbp + 0x400]
xor rcx, rsp
call fcn.140107200
add rsp, 0x510
pop rbp
ret