Function at 0x40cdc0
Capabilities:
Acquire debug privileges
Get system information on windows

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
mov eax, dword fs:[0]
mov ecx, 1
push 0xffffffffffffffff
push 0x491dc0
push eax
mov dword fs:[0], esp
mov edx, 0xb39858
push ebx
sub esp, 0x210
xor eax, eax
lock cmpxchg dword [edx], ecx
test eax, eax
jne 0x40d161
push str.RtlGetVersion
push str.ntdll.dll
mov dword [0xb398d0], 0x11c
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x40ce36
push 0xb398d0
call eax
mov eax, dword [0xb398d4]
test eax, eax
je 0x40cf71
shl eax, 8
or eax, dword [0xb398d8]
cmp eax, 0x602
ja 0x40ce90
je 0x40ce81
cmp eax, 0x501
je 0x40ce72
cmp eax, 0x601
jne 0x40cea2
mov dword [0xb398c8], 2
jmp 0x40cf71
mov dword [0xb398c8], 1
jmp 0x40cf71
mov dword [0xb398c8], 3
jmp 0x40cf71
cmp eax, 0x603
je 0x40cf67
cmp eax, 0xa00
je 0x40ceb1
mov dword [0xb398c8], 0
jmp 0x40cf71
mov eax, dword [0xb398dc]
cmp eax, 0x4a61
jb 0x40cecc
mov dword [0xb398c8], 0xd
jmp 0x40cf71
cmp eax, 0x47bb
jb 0x40cee2
mov dword [0xb398c8], 0xc
jmp 0x40cf71
cmp eax, 0x47ba
jb 0x40cef5
mov dword [0xb398c8], 0xb
jmp 0x40cf71
cmp eax, 0x4563
jb 0x40cf08
mov dword [0xb398c8], 0xa
jmp 0x40cf71
cmp eax, 0x42ee
jb 0x40cf1b
mov dword [0xb398c8], 9
jmp 0x40cf71
cmp eax, 0x3fab
jb 0x40cf2e
mov dword [0xb398c8], 8
jmp 0x40cf71
cmp eax, 0x3ad7
jb 0x40cf41
mov dword [0xb398c8], 7
jmp 0x40cf71
cmp eax, 0x3839
jb 0x40cf54
mov dword [0xb398c8], 6
jmp 0x40cf71
cmp eax, 0x295a
jb 0x40cf71
mov dword [0xb398c8], 5
jmp 0x40cf71
mov dword [0xb398c8], 4
call fcn.0040ca50
mov dword [0xb398cc], eax
lea ecx, [ebp - 0x30]
push 0x10
xor eax, eax
mov dword [ebp - 0x20], 0
push str.SeDebugPrivilege
mov dword [ebp - 0x1c], 7
mov word [ebp - 0x30], ax
call fcn.00402f30
lea ecx, [ebp - 0x30]
call fcn.0040d180
mov edx, dword [ebp - 0x1c]
cmp edx, 8
jb 0x40cfe0
mov ecx, dword [ebp - 0x30]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40cfd6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d174
push edx
push ecx
call fcn.0046d4cf
add esp, 8
push 0x15
xor eax, eax
mov dword [ebp - 0x20], 0
push str.SeLoadDriverPrivilege
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x1c], 7
mov word [ebp - 0x30], ax
call fcn.00402f30
lea ecx, [ebp - 0x30]
call fcn.0040d180
mov edx, dword [ebp - 0x1c]
cmp edx, 8
jb 0x40d045
mov ecx, dword [ebp - 0x30]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40d03b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d179
push edx
push ecx
call fcn.0046d4cf
add esp, 8
call fcn.0040d280
xorps xmm0, xmm0
mov word [ebp - 0x14], 0
lea eax, [ebp - 0x3c]
mov dword [ebp - 0x1c], 0
push eax
movups xmmword [ebp - 0x3c], xmm0
movups xmmword [ebp - 0x2c], xmm0
call dword [sym.imp.KERNEL32.dll_GetNativeSystemInfo]
cmp word [ebp - 0x3c], 0
jne 0x40d079
mov byte [ebp - 0x14], 1
jmp 0x40d099
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_IsWow64Process]
cmp dword [ebp - 0x18], 0
setne byte [ebp - 0x13]
lea eax, [ebp - 0x220]
push eax
lea ecx, [ebp - 0x14]
call fcn.00424760
push ecx
lea eax, [ebp - 0x130]
mov dword [ebp - 4], 0
push eax
lea eax, [ebp - 0x220]
push eax
lea ecx, [ebp - 0x14]
call fcn.00424260
push ecx
lea edx, [ebp - 0x130]
lea ecx, [ebp - 0x220]
call fcn.00435980
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x130]
call fcn.004133e0
lea ecx, [ebp - 0x220]
call fcn.004133e0
call fcn.00415190
mov ecx, dword [0xb398d4]
mov edx, eax
test ecx, ecx
je 0x40d161
cmp ecx, 0xa
jae 0x40d15a
cmp ecx, 6
ja 0x40d140
jb 0x40d161
mov eax, dword [0xb398d8]
cmp eax, 3
jae 0x40d140
cmp eax, 1
ja 0x40d126
jb 0x40d161
mov ecx, edx
call fcn.00417140
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov ecx, edx
call fcn.00416ea0
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov ecx, edx
call fcn.00416be0
mov ecx, dword [ebp - 0xc]
mov al, 1
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.00472aca
call fcn.00472aca
int3