Function at 0x180024a60
Capabilities:
Check os version

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rdi
push r14
push r15
sub rsp, 0x50
mov rax, qword [0x18009a918]
xor rax, rsp
mov qword [rsp + 0x48], rax
mov r15, rdx
mov r14, rcx
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
xor ebx, ebx
mov qword [rsp + 0x30], rbx
call qword [sym.imp.KERNEL32.dll_GetVersion]
cmp al, 6
jb 0x180024ab3
call qword [sym.imp.KERNEL32.dll_GetVersion]
and eax, 0xff00
cmp eax, 0x200
jae 0x180024ac1
call qword [sym.imp.KERNEL32.dll_GetVersion]
cmp al, 6
jbe 0x180024cb3
mov rax, qword [0x18009ce20]
test rax, rax
je 0x180024cb3
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, r15
call qword [0x18007d538]
mov esi, eax
test eax, eax
jne 0x180024b38
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
lea rdx, [0x18009b358]
mov rcx, qword [0x18009b358]
cmp rcx, rdx
je 0x180024b2d
test byte [rcx + 0x1c], 1
je 0x180024b2d
cmp byte [rcx + 0x19], 2
jb 0x180024b2d
lea edx, [rsi + 0xf]
mov dword [rsp + 0x20], eax
lea r9, str.GetFinalPathNameByHandleW_first_call
lea r8, str.IrD
mov rcx, qword [rcx + 0x10]
call fcn.1800012d0
add ebx, 0xe8f00000
jmp 0x180024cb3
add eax, eax
cmp byte [0x18009b380], 0
je 0x180024b72
mov ecx, 0x23a
lea rdi, str.E:_buildsARK23181_2_trufos_dllmiscCommon.c
mov qword [rsp + 0x28], rdi
mov word [rsp + 0x20], cx
xor r9d, r9d
mov r8d, 0x4843573a
mov edx, eax
lea rcx, [0x18009cc40]
call fcn.18004b960
jmp 0x180024b92
mov r8d, eax
xor edx, edx
mov rcx, qword [0x18009ccf0]
mov rax, qword [0x18009b430]
call qword [0x18007d538]
lea rdi, str.E:_buildsARK23181_2_trufos_dllmiscCommon.c
mov qword [rsp + 0x30], rax
test rax, rax
jne 0x180024ba6
mov ebx, 0xc000009a
jmp 0x180024cba
xor r9d, r9d
mov r8d, esi
mov rdx, rax
mov rcx, r15
mov rax, qword [0x18009ce20]
call qword [0x18007d538]
mov ecx, eax
test eax, eax
jne 0x180024c17
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
lea rdx, [0x18009b358]
mov rcx, qword [0x18009b358]
cmp rcx, rdx
je 0x180024c0c
test byte [rcx + 0x1c], 1
je 0x180024c0c
cmp byte [rcx + 0x19], 2
jb 0x180024c0c
mov edx, 0x10
mov dword [rsp + 0x20], eax
lea r9, str.GetFinalPathNameByHandleW_second_call
lea r8, str.IrD
mov rcx, qword [rcx + 0x10]
call fcn.1800012d0
add ebx, 0xe8f00000
jmp 0x180024cba
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x40], rax
add cx, cx
mov word [rsp + 0x3a], cx
mov word [rsp + 0x38], cx
cmp cx, 8
ja 0x180024c3b
mov ebx, 0xe8000102
jmp 0x180024cba
mov qword [rsp + 0x20], rbx
mov r9d, 4
mov r8b, 1
lea rdx, [0x1800915a8]
mov rcx, qword [rsp + 0x30]
call fcn.18004ad10
cmp eax, 0x68000008
je 0x180024c68
mov ebx, 0xe8000102
jmp 0x180024cba
movzx eax, word [rsp + 0x38]
sub ax, 8
mov word [rsp + 0x38], ax
add qword [rsp + 0x40], 8
cmp ax, word [r14]
je 0x180024c89
mov ebx, 0xc0000033
jmp 0x180024cba
movzx r9d, ax
shr r9d, 1
mov qword [rsp + 0x20], rbx
mov r8b, 1
mov rdx, r14
lea rcx, [rsp + 0x38]
call fcn.18004a130
cmp eax, 0x68000008
je 0x180024cba
mov ebx, 0xc0000033
jmp 0x180024cba
lea rdi, str.E:_buildsARK23181_2_trufos_dllmiscCommon.c
cmp qword [rsp + 0x30], 0
je 0x180024d2d
cmp byte [0x18009b380], 0
je 0x180024d12
mov r9d, 0x273
mov qword [rsp + 0x20], rdi
mov r8d, 0x4843573a
lea rdx, [rsp + 0x30]
lea rcx, [0x18009cc40]
call fcn.18004be40
mov eax, ebx
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.18005e1d0
lea r11, [rsp + 0x50]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rdi
ret
mov r8, qword [rsp + 0x30]
xor edx, edx
mov rcx, qword [0x18009ccf0]
mov rax, qword [0x18009b440]
call qword [0x18007d538]
mov eax, ebx
jmp 0x180024cef