Function at 0x1400c21f0
Capabilities:
Check os version

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xe0
mov rax, qword [0x14012bc80]
xor rax, rsp
mov qword [rbp + 0x2f], rax
mov rax, qword [rcx + 0x178]
xor r14d, r14d
mov qword [rbp - 0x49], rcx
mov esi, r14d
mov dword [rbp - 0x65], r14d
mov word [rbp - 0x69], r14w
mov qword [rbp - 0x51], rax
mov ebx, r14d
mov r15d, r14d
mov edi, r14d
mov r12d, r14d
call qword [sym.imp.KERNEL32.dll_GetVersion]
movzx r8d, al
mov ecx, eax
shr ax, 8
movzx edx, al
lea r13d, [r14 + 1]
cmp r8d, 4
jne 0x1400c227c
cmp edx, 0x5a
jne 0x1400c2276
mov r15d, r13d
mov r12d, r13d
jmp 0x1400c227c
test al, al
cmove edi, r13d
cmp ecx, 0x80000000
jae 0x1400c2289
shr ecx, 0x10
jmp 0x1400c2296
cmp r8d, 4
jae 0x1400c229e
shr ecx, 0x10
btr ecx, 0xf
cmp ecx, 0x565
ja 0x1400c22a1
mov ebx, r13d
mov rcx, qword [rbp - 0x49]
mov rax, qword [rcx + 0xf8]
cmp word [rax + 0x1158], si
je 0x1400c22bb
mov dword [rbp - 0x61], r13d
jmp 0x1400c22d7
lea r8, [rbp - 0x69]
mov edx, 0x211
call fcn.140064970
mov eax, r14d
cmp word [rbp - 0x69], ax
cmovne eax, r13d
mov dword [rbp - 0x61], eax
cmp dword [0x14013deb0], esi
jne 0x1400c22e4
call fcn.1400c26f0
cmp qword [0x14013dea8], rsi
je 0x1400c2346
cmp edi, r13d
cmove ebx, r13d
cmp r12d, r13d
cmove ebx, r14d
cmp r15d, r13d
je 0x1400c2304
test ebx, ebx
jne 0x1400c2346
mov ebx, dword [rbp - 0x61]
lea rdx, [rbp + 0x1f]
mov ecx, 5
test ebx, ebx
je 0x1400c2319
mov r8d, r13d
jmp 0x1400c231c
xor r8d, r8d
call fcn.1400c1e00
xor r9d, r9d
lea rdx, [0x140143060]
lea r8d, [r9 + 0x3c]
lea rcx, [rbp - 0x29]
call fcn.14002a480
mov esi, dword [0x140143040]
mov dword [rbp - 0x65], esi
jmp 0x1400c2596
lea rcx, str.NETAPI32.Dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rdi, rax
mov qword [rbp - 0x41], rax
test rax, rax
je 0x1400c26b3
lea rdx, str.NetWkstaTransportEnum
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.NetApiBufferFree
mov rcx, rdi
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbp - 0x39], rax
test rbx, rbx
je 0x1400c26aa
test rax, rax
je 0x1400c26aa
lea rax, [rbp - 0x31]
mov qword [rsp + 0x30], r14
lea r8, [rbp - 0x59]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x5d]
mov r9d, 0x1000
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], rax
call rbx
test eax, eax
jne 0x1400c26aa
mov r15d, r14d
cmp dword [rbp - 0x5d], esi
jbe 0x1400c2583
mov r12, qword [rbp - 0x59]
add r12, 0x10
nop
mov rdx, qword [r12]
mov rcx, r14
nop word [rax + rax]
movzx eax, byte [rdx + rcx*2]
inc rcx
mov byte [rbp + rcx + 0x1e], al
cmp rcx, 0xc
jl 0x1400c23f0
mov rdi, r14
movsx ecx, byte [rbp + rdi*2 + 0x1f]
call fcn.14006e240
movsx ebx, byte [rbp + rdi*2 + 0x1f]
test eax, eax
je 0x1400c241c
sub ebx, 0x30
jmp 0x1400c241f
sub ebx, 0x37
movsx ecx, byte [rbp + rdi*2 + 0x20]
call fcn.14006e240
test eax, eax
movsx eax, byte [rbp + rdi*2 + 0x20]
je 0x1400c2437
sub eax, 0x30
jmp 0x1400c243a
sub eax, 0x37
shl bl, 4
inc rdi
add bl, al
mov byte [rbp + rdi + 0x16], bl
cmp rdi, 6
jl 0x1400c2404
movzx eax, byte [rbp + 0x17]
mov ebx, r14d
test al, al
je 0x1400c2480
xor r9d, r9d
lea rdx, [rbp + 0x17]
lea rcx, str.DEST
lea r8d, [r9 + 4]
call fcn.14002abb0
test eax, eax
je 0x1400c256b
movzx eax, byte [rbp + 0x17]
test al, al
cmovne ebx, r13d
movzx r10d, byte [rbp + 0x18]
movzx r11d, byte [rbp + 0x19]
movzx edx, byte [rbp + 0x1a]
movzx r8d, byte [rbp + 0x1b]
movzx r9d, byte [rbp + 0x1c]
test r10b, r10b
cmovne ebx, r13d
test r11b, r11b
cmovne ebx, r13d
test dl, dl
cmovne ebx, r13d
test r8b, r8b
cmovne ebx, r13d
test r9b, r9b
jne 0x1400c24c0
test ebx, ebx
je 0x1400c256b
test dl, dl
mov ecx, r14d
cmovne ecx, r13d
test r8b, r8b
cmovne ecx, r13d
test r9b, r9b
jne 0x1400c24dd
test ecx, ecx
je 0x1400c256b
cmp al, 0x20
jne 0x1400c24fd
cmp r10b, 0x4c
jne 0x1400c24fd
cmp r11b, 0x4f
jne 0x1400c24fd
cmp dl, r11b
jne 0x1400c24fd
cmp r8b, 0x50
jne 0x1400c24fd
cmp r9b, al
je 0x1400c256b
test esi, esi
jne 0x1400c251a
lea r8d, [rsi + 6]
lea rdx, [rbp + 0x17]
lea rcx, [rbp - 0x29]
xor r9d, r9d
call fcn.14002a480
mov esi, r13d
jmp 0x1400c256b
mov ebx, r14d
test esi, esi
jle 0x1400c254a
movsxd rax, ebx
xor r9d, r9d
lea rdx, [rbp + 0x17]
lea rcx, [rax + rax*2]
lea rax, [rbp - 0x29]
lea r8d, [r9 + 6]
lea rcx, [rax + rcx*2]
call fcn.14002a3c0
test eax, eax
je 0x1400c256b
inc ebx
cmp ebx, esi
jl 0x1400c2521
movsxd rax, esi
lea rdx, [rbp - 0x29]
xor r9d, r9d
lea rcx, [rax + rax*2]
lea r8d, [r9 + 6]
lea rcx, [rdx + rcx*2]
lea rdx, [rbp + 0x17]
call fcn.14002a480
inc esi
inc r15d
add r12, 0x20
cmp r15d, dword [rbp - 0x5d]
jb 0x1400c23e0
mov rdi, qword [rbp - 0x41]
mov dword [rbp - 0x65], esi
mov rcx, qword [rbp - 0x59]
call qword [rbp - 0x39]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov ebx, dword [rbp - 0x61]
test esi, esi
je 0x1400c26a1
movsxd r15, ebx
mov edi, esi
mov rsi, qword [rbp - 0x49]
lea rbx, [rbp - 0x29]
mov r12d, 2
test r13d, r13d
je 0x1400c25e8
mov rcx, qword [rsi + 0x178]
xor r9d, r9d
mov rdx, rbx
lea r8d, [r9 + 6]
add rcx, 8
mov r13d, r14d
call fcn.14002a480
mov rax, qword [rsi + 0x178]
cmp word [rax + 2], 0x67
je 0x1400c2630
mov word [rax + 2], r12w
jmp 0x1400c2630
call fcn.140063830
mov rcx, rax
mov rax, qword [rsi + 0x178]
cmp word [rax + 2], 0x67
jne 0x1400c2609
mov eax, 0x67
mov word [rcx + 2], ax
jmp 0x1400c260e
mov word [rcx + 2], r12w
mov rax, qword [rbp - 0x51]
xor r9d, r9d
mov qword [rbp - 0x51], rcx
mov qword [rax + 0x488], rcx
lea r8d, [r9 + 6]
add rcx, 8
mov rdx, rbx
call fcn.14002a480
xor r9d, r9d
mov rdx, rbx
lea r8d, [r9 + 6]
test r15, r15
je 0x1400c2668
mov eax, dword [0x14013c6ac]
lea rcx, [rax + rax*2]
lea rax, [0x140000000]
lea rcx, [rcx*2 + 0x143340]
add rcx, rax
call fcn.14002a480
inc dword [0x14013c6ac]
jmp 0x1400c268f
mov eax, dword [0x14013c6b0]
lea rcx, [rax + rax*2]
lea rax, [0x140000000]
lea rcx, [rcx*2 + 0x143320]
add rcx, rax
call fcn.14002a480
inc dword [0x14013c6b0]
add rbx, 6
dec rdi
jne 0x1400c25b1
mov esi, dword [rbp - 0x65]
test esi, esi
setne r14b
mov eax, r14d
jmp 0x1400c26b6
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
or eax, 0xffffffff
mov rcx, qword [rbp + 0x2f]
xor rcx, rsp
call fcn.14000c9f0
lea r11, [rsp + 0xe0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret