Function at 0x100da3f0
Capabilities:
Check os version
Get system information on windows

Disassembly:
sub esp, 0xbc
mov eax, dword [0x1022d400]
xor eax, esp
mov dword [esp + 0xb8], eax
push ebx
push ebp
push esi
push edi
push 0x20
push str.Windows
call fcn.100d4af0
push 0x20
push str.Windows
mov dword [0x10283708], eax
call fcn.100d4af0
push 0x20
mov dword [0x1028370c], eax
call fcn.100d28d0
push 0x90
mov esi, eax
lea eax, [esp + 0x50]
push 0
push eax
call fcn.100a13a0
add esp, 0x20
mov dword [esp + 0x34], 0x94
lea eax, [esp + 0x34]
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
test eax, eax
je 0x100da47c
push dword [esp + 0x40]
push dword [esp + 0x40]
push dword [esp + 0x40]
push str._lu._lu___lu_
push 0x20
push esi
call fcn.100d43c0
add esp, 0x18
jmp 0x100da49f
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Error_with_GetVersionEx__:__lu
push str.mongoc
push 2
call fcn.100db4d0
push esi
call fcn.100d28c0
add esp, 0x14
xor esi, esi
lea eax, [esp + 0x10]
mov dword [0x10283710], esi
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
movzx eax, word [esp + 0x10]
cmp eax, 6
ja 0x100da4da
je 0x100da4d3
test eax, eax
je 0x100da4cc
cmp eax, 5
jne 0x100da4e6
mov eax, 0x1016aac4
jmp 0x100da4f9
mov eax, 0x1016aad0
jmp 0x100da4f9
mov eax, str.IA64
jmp 0x100da4f9
cmp eax, 9
je 0x100da4f4
cmp eax, 0xffff
je 0x100da4ed
mov eax, str.Other
jmp 0x100da4f9
mov eax, str.Unknown
jmp 0x100da4f9
mov eax, str.x86_64
push 0x20
push eax
call fcn.100d4af0
push 0x40
push str.mongoc
mov dword [0x10283714], eax
call fcn.100d4af0
push 0x20
push str.1.26.1
mov dword [0x10283718], eax
call fcn.100d4af0
push 0x102193d8
mov dword [0x1028371c], eax
call fcn.100d4910
push 0
push eax
call fcn.100d48c0
push 0x10283708
mov dword [0x10283720], eax
call fcn.100d8a20
push 0x102193d8
call fcn.100d4910
push 5
mov ebp, eax
call fcn.100d2910
mov edi, eax
push 0x10156ddc
movzx ecx, byte [edi + 4]
bts ecx, 1
movzx ecx, cl
bts ecx, 1
movzx ecx, cl
bts ecx, 6
movzx eax, cl
bts eax, 0
movzx eax, al
bts eax, 5
mov byte [edi + 4], al
movzx eax, byte [edi + 3]
bts eax, 5
mov byte [edi + 3], al
movzx eax, byte [edi + 2]
bts eax, 0
movzx eax, al
bts eax, 1
movzx eax, al
bts eax, 2
movzx eax, al
bts eax, 4
mov byte [edi + 2], al
movzx eax, byte [edi + 1]
bts eax, 2
mov byte [edi + 1], al
movzx eax, byte [edi]
bts eax, 1
movzx eax, al
bts eax, 2
mov byte [edi], al
call fcn.100d4910
add esp, 0x34
mov ebx, eax
xor esi, esi
nop dword [eax]
movzx ecx, byte [edi + esi]
push ecx
push str._02x
push ebx
call fcn.100d4750
inc esi
add esp, 0xc
cmp esi, 5
jb 0x100da5e0
push edi
call fcn.100d28c0
push 0
push ebx
call fcn.100d48c0
mov esi, eax
push esi
push str.cfg_s
push ebp
call fcn.100d4750
push esi
call fcn.100d28c0
push str.MSVC
push str._CC_s
push ebp
call fcn.100d4750
push str.1939
push 0x1016ac14
push ebp
call fcn.100d4750
push 0
push ebp
call fcn.100d48c0
push 0x102193d8
mov dword [0x10283724], eax
call fcn.100d4910
add esp, 0x40
mov esi, eax
push str.___nologo__DWIN32__D_WINDOWS__W3__utf_8__MP__
push str._CFLAGS_s
push esi
call fcn.100d4750
push str.__machine:X86_
push str._LDFLAGS_s
push esi
call fcn.100d4750
push 0
push esi
call fcn.100d48c0
add esp, 0x20
mov dword [0x10283728], eax
mov byte [0x10283744], 0
push 0x10283748
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov ecx, dword [esp + 0xc8]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1009f33b
add esp, 0xbc
ret