Function at 0x534d60
Capabilities:
Check os version

Disassembly:
lea r12, [rsp - 0x128]
cmp r12, qword [r14 + 0x10]
jbe 0x535648
push rbp
mov rbp, rsp
sub rsp, 0x1a0
mov qword [rsp + 0x1b8], rbx
mov qword [rsp + 0x1b0], rax
movups xmmword [rsp + 0x21], xmm15
movups xmmword [rsp + 0x2e], xmm15
mov byte [rsp + 0x21], 0x63
mov dword [rsp + 0x22], 0x69775c3a
movabs rdx, 0x79735c73776f646e
mov qword [rsp + 0x26], rdx
movabs rdx, 0x6e5c32336d657473
mov qword [rsp + 0x2e], rdx
movabs rdx, 0x6c6c642e6c6c6474
mov qword [rsp + 0x36], rdx
mov ecx, 0x1d
xor eax, eax
lea rbx, [rsp + 0x21]
nop
call sym.runtime.slicebytetostring
call sym.github.com_Binject_debug_pe.Open
test rbx, rbx
jne 0x534e18
mov qword [rsp + 0xe8], rax
call sym.github.com_Binject_debug_pe._File_.Exports
nop dword [rax]
test rdi, rdi
jne 0x534e07
jmp 0x534e40
xor eax, eax
mov rbx, rdi
mov rcx, rsi
add rsp, 0x1a0
pop rbp
ret
xor eax, eax
add rsp, 0x1a0
pop rbp
ret
mov rax, qword [rsp + 0x148]
add rax, 0x30
mov rbx, qword [rsp + 0xc8]
dec rbx
nop word [rax + rax]
test rbx, rbx
jle 0x534f09
mov qword [rsp + 0xc8], rbx
mov qword [rsp + 0x148], rax
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0xf0], xmm0
movups xmm0, xmmword [rax + 0x10]
movups xmmword [rsp + 0x100], xmm0
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rsp + 0x110], xmm0
mov rbx, qword [rsp + 0x1b8]
mov rax, qword [rsp + 0x1b0]
call sym.strings.ToLower
mov qword [rsp + 0xc0], rbx
mov qword [rsp + 0x140], rax
mov rcx, qword [rsp + 0xf8]
mov rdx, qword [rsp + 0x100]
mov rax, rcx
mov rbx, rdx
call sym.strings.ToLower
mov rcx, qword [rsp + 0xc0]
cmp rbx, rcx
jne 0x534e23
mov rbx, rax
mov rax, qword [rsp + 0x140]
call sym.runtime.memequal
nop dword [rax]
test al, al
je 0x534e23
mov ecx, dword [rsp + 0x108]
mov rax, qword [rsp + 0xe8]
mov rdx, qword [rax + 0xc8]
mov rbx, qword [rax + 0xd0]
xor esi, esi
jmp 0x534f40
lea rax, [0x00554500]
call sym.runtime.newobject
mov qword [rax + 8], 0x14
lea rcx, [0x0057c46e]
mov qword [rax], rcx
lea rbx, [0x005cb680]
mov rcx, rax
xor eax, eax
add rsp, 0x1a0
pop rbp
ret
inc rsi
nop
cmp rsi, rbx
jge 0x534f64
mov rdi, qword [rdx + rsi*8]
mov r8d, dword [rdi + 0x1c]
cmp r8, rcx
jae 0x534f3c
mov r9d, dword [rdi + 0x18]
add r9d, r8d
cmp r9, rcx
jbe 0x534f3c
sub ecx, r8d
add ecx, dword [rdi + 0x24]
mov dword [rsp + 0x44], ecx
call sym.github.com_Binject_debug_pe._File_.Bytes
test rdi, rdi
jne 0x535141
mov esi, dword [rsp + 0x44]
lea edi, [rsi + 0xa]
nop dword [rax]
cmp rcx, rdi
jb 0x53563d
cmp rsi, rdi
ja 0x535634
mov qword [rsp + 0xa0], rcx
mov qword [rsp + 0x98], rbx
mov qword [rsp + 0x128], rax
mov rdx, rcx
sub rdx, rsi
sub rdi, rsi
mov r8, rdx
neg r8
sar r8, 0x3f
and r8, rsi
mov r9, qword [0x006c1498]
lea r10, [r8 + rax]
cmp r9, rdi
jle 0x534fd5
xor r9d, r9d
jmp 0x535046
mov qword [rsp + 0x88], rdi
mov qword [rsp + 0x90], rdx
mov qword [rsp + 0xc0], r8
mov qword [rsp + 0x120], r10
mov rbx, qword [0x006c1490]
mov rax, r10
mov rcx, r9
call sym.runtime.memequal
mov rcx, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x98]
mov esi, dword [rsp + 0x44]
mov rdi, qword [rsp + 0x88]
mov r8, qword [rsp + 0xc0]
mov r10, qword [rsp + 0x120]
mov r9d, eax
mov rax, qword [rsp + 0x128]
test r9b, r9b
je 0x535062
cmp rdx, 8
jb 0x53562a
movzx edx, word [rax + r8 + 4]
xor edi, edi
xor r8d, r8d
jmp 0x535099
mov qword [rsp + 0x180], r10
mov qword [rsp + 0x188], rdi
mov qword [rsp + 0x190], rdx
mov rax, qword [rsp + 0x180]
mov rbx, rdi
mov rcx, rdx
call sym.runtime.convTslice
lea rdi, [0x005cb8a0]
mov r8, rax
xor edx, edx
mov qword [rsp + 0x58], rdi
mov word [rsp + 0x40], dx
mov qword [rsp + 0xe0], r8
lea rax, [0x00557a80]
call sym.runtime.newobject
mov qword [rsp + 0x198], rax
mov qword [rax], 0
mov rbx, qword [rsp + 0xe0]
lea rcx, [0x0054e620]
mov rdi, rax
mov rax, qword [rsp + 0x58]
nop dword [rax]
call sym.errors.As
test al, al
je 0x53512e
call sym.github.com_D3Ext_Hooka_core.GetNtdllStart.abi0
xorps xmm15, xmm15
mov r14, qword [0x00757b50]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp]
mov qword [rsp + 0x60], rax
mov rcx, qword [rsp + 8]
mov qword [rsp + 0x68], rcx
mov rdx, qword [rsp + 0x128]
mov rbx, qword [rsp + 0x98]
mov esi, dword [rsp + 0x44]
mov edi, esi
xor r8d, r8d
jmp 0x535155
movzx eax, word [rsp + 0x40]
xor ebx, ebx
xor ecx, ecx
add rsp, 0x1a0
pop rbp
nop
ret
xor eax, eax
mov rbx, rdi
mov rcx, rsi
add rsp, 0x1a0
pop rbp
ret
inc rsi
lea r9, [rcx + rax]
nop dword [rax]
cmp rsi, r9
jae 0x53537c
cmp rbx, rsi
jbe 0x53561f
movzx r9d, byte [rsi + rdx]
cmp r9b, 0xf
jne 0x535152
lea r9, [rsi + 1]
cmp rbx, r9
jbe 0x535614
movzx r9d, byte [rsi + rdx + 1]
cmp r9b, 5
jne 0x535152
lea r9, [rsi + 2]
nop word [rax + rax]
cmp rbx, r9
jbe 0x535609
movzx r9d, byte [rsi + rdx + 2]
cmp r9b, 0xc3
jne 0x535152
lea r9, [rsi + 0x16]
mov r10, qword [rsp + 0xa0]
cmp r10, r9
jb 0x5355fe
lea r11, [rsi + 0xe]
cmp r9, r11
jb 0x5355f3
mov qword [rsp + 0x78], rsi
mov qword [rsp + 0x80], r8
mov r9, r10
sub r10, rsi
add r10, 0xfffffffffffffff2
mov r12, r10
neg r10
sar r10, 0x3f
and r11, r10
mov r10, qword [0x006c1498]
lea r13, [r11 + rdx]
cmp r10, 8
jg 0x535295
cmp r10, r12
ja 0x5355e8
mov qword [rsp + 0xc0], r12
mov qword [rsp + 0xb8], r11
mov qword [rsp + 0x138], r13
mov rbx, qword [0x006c1490]
mov rax, r13
mov rcx, r10
nop
call sym.runtime.memequal
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x128]
mov rbx, qword [rsp + 0x98]
mov rsi, qword [rsp + 0x78]
mov edi, dword [rsp + 0x44]
mov r8, qword [rsp + 0x80]
mov r9, qword [rsp + 0xa0]
mov r11, qword [rsp + 0xb8]
mov r12, qword [rsp + 0xc0]
mov r13, qword [rsp + 0x138]
mov r10d, eax
mov rax, qword [rsp + 0x60]
jmp 0x535298
xor r10d, r10d
test r10b, r10b
je 0x5352b8
nop dword [rax]
cmp r12, 8
jb 0x5355db
movzx r10d, word [rdx + r11 + 4]
xor r11d, r11d
xor r12d, r12d
jmp 0x5352f6
mov qword [rsp + 0x168], r13
mov qword [rsp + 0x170], 8
mov qword [rsp + 0x178], r12
mov rax, qword [rsp + 0x168]
mov ebx, 8
mov rcx, r12
call sym.runtime.convTslice
lea r11, [0x005cb8a0]
mov r12, rax
xor r10d, r10d
mov word [rsp + 0x3e], r10w
mov qword [rsp + 0x50], r11
mov qword [rsp + 0xd8], r12
mov rax, r11
mov rbx, r12
lea rcx, [0x0054e620]
mov rdi, qword [rsp + 0x198]
nop
call sym.errors.As
mov rdx, qword [rsp + 0x80]
inc rdx
test al, al
je 0x53535f
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x98]
mov rsi, qword [rsp + 0x78]
mov edi, dword [rsp + 0x44]
mov r8, rdx
mov rdx, qword [rsp + 0x128]
jmp 0x535152
movzx eax, word [rsp + 0x3e]
sub eax, edx
mov rbx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0xd8]
add rsp, 0x1a0
pop rbp
ret
lea rsi, [rdi - 1]
mov eax, 1
jmp 0x53538a
dec rsi
test rsi, rsi
jbe 0x534e23
cmp rbx, rsi
jbe 0x5355d0
movzx r8d, byte [rsi + rdx]
cmp r8b, 0xf
jne 0x535387
lea r8, [rsi + 1]
cmp rbx, r8
jbe 0x5355c5
movzx r8d, byte [rsi + rdx + 1]
nop word [rax + rax]
cmp r8b, 5
jne 0x535387
lea r8, [rsi + 2]
cmp rbx, r8
jbe 0x5355b5
movzx r8d, byte [rsi + rdx + 2]
cmp r8b, 0xc3
jne 0x535387
lea rcx, [rsi + 0x16]
mov r8, qword [rsp + 0xa0]
cmp r8, rcx
jb 0x5355ad
lea r9, [rsi + 0xe]
nop dword [rax + rax]
cmp rcx, r9
jb 0x5355a5
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0xb0], rax
mov rcx, r8
sub rcx, rsi
add rcx, 0xfffffffffffffff2
mov r10, rcx
neg r10
sar r10, 0x3f
and r9, r10
mov r10, qword [0x006c1498]
lea r11, [r9 + rdx]
cmp r10, 8
jg 0x5354b4
nop
cmp r10, rcx
ja 0x535599
mov qword [rsp + 0xa8], rcx
mov qword [rsp + 0xc0], r9
mov qword [rsp + 0x130], r11
mov rbx, qword [0x006c1490]
mov rax, r11
mov rcx, r10
call sym.runtime.memequal
mov rcx, qword [rsp + 0xa8]
mov rdx, qword [rsp + 0x128]
mov rbx, qword [rsp + 0x98]
mov rsi, qword [rsp + 0x70]
mov r8, qword [rsp + 0xa0]
mov r9, qword [rsp + 0xc0]
mov r11, qword [rsp + 0x130]
mov edi, eax
mov rax, qword [rsp + 0xb0]
jmp 0x5354b6
xor edi, edi
test dil, dil
je 0x5354d6
nop dword [rax + rax]
cmp rcx, 8
jb 0x53558c
movzx r9d, word [rdx + r9 + 4]
xor ecx, ecx
xor edi, edi
jmp 0x535512
mov qword [rsp + 0x150], r11
mov qword [rsp + 0x158], 8
mov qword [rsp + 0x160], rcx
mov rax, qword [rsp + 0x150]
mov ebx, 8
nop
call sym.runtime.convTslice
lea rcx, [0x005cb8a0]
mov rdi, rax
xor r9d, r9d
mov qword [rsp + 0xd0], rdi
mov qword [rsp + 0x48], rcx
mov word [rsp + 0x42], r9w
mov rax, rcx
mov rbx, rdi
lea rcx, [0x0054e620]
mov rdi, qword [rsp + 0x198]
call sym.errors.As
mov rdx, qword [rsp + 0xb0]
inc rdx
test al, al
je 0x53556b
mov rbx, qword [rsp + 0x98]
mov rsi, qword [rsp + 0x70]
mov rax, rdx
mov rdx, qword [rsp + 0x128]
jmp 0x535387
movzx esi, word [rsp + 0x42]
lea eax, [rsi + rdx]
lea eax, [rax - 1]
mov rbx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0xd0]
add rsp, 0x1a0
pop rbp
ret
mov rdx, rcx
mov ecx, 8
call sym.runtime.panicSliceAcap
mov rdx, rcx
mov rcx, r10
nop
call sym.runtime.panicSliceAcap
mov rax, r9
call sym.runtime.panicSliceBU
mov rdx, r8
call sym.runtime.panicSliceAcapU
mov rax, r8
mov rcx, rbx
nop dword [rax + rax]
call sym.runtime.panicIndexU
mov rax, r8
mov rcx, rbx
call sym.runtime.panicIndexU
mov rax, rsi
mov rcx, rbx
call sym.runtime.panicIndexU
mov ecx, 8
mov rdx, r12
call sym.runtime.panicSliceAcap
mov rcx, r10
mov rdx, r12
call sym.runtime.panicSliceAcap
mov rax, r11
mov rcx, r9
call sym.runtime.panicSliceBU
mov rcx, r9
mov rdx, r10
call sym.runtime.panicSliceAcapU
mov rax, r9
mov rcx, rbx
call sym.runtime.panicIndexU
mov rax, r9
mov rcx, rbx
call sym.runtime.panicIndexU
mov rax, rsi
mov rcx, rbx
call sym.runtime.panicIndexU
mov ecx, 8
call sym.runtime.panicSliceAcap
mov eax, esi
mov ecx, edi
call sym.runtime.panicSliceB
mov rdx, rcx
mov ecx, edi
call sym.runtime.panicSliceAcap
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call sym.runtime.morestack_noctxt.abi0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp sym.github.com_D3Ext_Hooka_core.getDiskSysId