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

Disassembly:
sub esp, 0xbc
mov eax, dword [0x101c6040]
xor eax, esp
mov dword [esp + 0xb8], eax
push ebx
push ebp
push esi
push edi
push 0x20
push str.Windows
call fcn.10078bc0
push 0x20
push str.Windows
mov dword [0x101d0560], eax
call fcn.10078bc0
push 0x20
mov dword [0x101d0564], eax
call fcn.100769a0
push 0x90
mov esi, eax
lea eax, [esp + 0x50]
push 0
push eax
call fcn.10048bd0
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 0x1007e58c
push dword [esp + 0x40]
push dword [esp + 0x40]
push dword [esp + 0x40]
push str._lu._lu___lu_
push 0x20
push esi
call fcn.10078490
add esp, 0x18
jmp 0x1007e5af
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Error_with_GetVersionEx__:__lu
push str.mongoc
push 2
call fcn.1007f5d0
push esi
call fcn.10076990
add esp, 0x14
xor esi, esi
lea eax, [esp + 0x10]
mov dword [0x101d0568], esi
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
movzx eax, word [esp + 0x10]
cmp eax, 6
ja 0x1007e5ea
je 0x1007e5e3
test eax, eax
je 0x1007e5dc
cmp eax, 5
jne 0x1007e5f6
mov eax, 0x10101678
jmp 0x1007e609
mov eax, 0x10101684
jmp 0x1007e609
mov eax, str.IA64
jmp 0x1007e609
cmp eax, 9
je 0x1007e604
cmp eax, 0xffff
je 0x1007e5fd
mov eax, str.Other
jmp 0x1007e609
mov eax, str.Unknown
jmp 0x1007e609
mov eax, str.x86_64
push 0x20
push eax
call fcn.10078bc0
push 0x40
push str.mongoc
mov dword [0x101d056c], eax
call fcn.10078bc0
push 0x20
push str.1.26.1
mov dword [0x101d0570], eax
call fcn.10078bc0
push 0x101b3b48
mov dword [0x101d0574], eax
call fcn.100789e0
push 0
push eax
call fcn.10078990
push 0x101d0560
mov dword [0x101d0578], eax
call fcn.1007caf0
push 0x101b3b48
call fcn.100789e0
push 5
mov ebp, eax
call fcn.100769e0
mov edi, eax
push 0x1010166c
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.100789e0
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.10078820
inc esi
add esp, 0xc
cmp esi, 5
jb 0x1007e6f0
push edi
call fcn.10076990
push 0
push ebx
call fcn.10078990
mov esi, eax
push esi
push str.cfg_s
push ebp
call fcn.10078820
push esi
call fcn.10076990
push str.MSVC
push str._CC_s
push ebp
call fcn.10078820
push str.1939
push 0x101017c8
push ebp
call fcn.10078820
push 0
push ebp
call fcn.10078990
push 0x101b3b48
mov dword [0x101d057c], eax
call fcn.100789e0
add esp, 0x40
mov esi, eax
push str.___nologo__DWIN32__D_WINDOWS__W3__utf_8__MP__
push str._CFLAGS_s
push esi
call fcn.10078820
push str.__machine:X86_
push str._LDFLAGS_s
push esi
call fcn.10078820
push 0
push esi
call fcn.10078990
add esp, 0x20
mov dword [0x101d0580], eax
mov byte [0x101d059c], 0
push 0x101d05a0
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.10046e60
add esp, 0xbc
ret