Function at 0x100b13e0
Capabilities:
Create thread
Get system information on windows

Disassembly:
sub esp, 0x40
push ebx
push ebp
mov ebx, ecx
mov dword [esp + 0x10], 0
push esi
push edi
mov edi, edx
mov dword [esp + 0x14], ebx
mov edx, dword [ebx + 0xa48]
test edx, edx
jne 0x100b1420
lea eax, [esp + 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [esp + 0x40]
mov edx, 1
test eax, eax
cmovg edx, eax
mov dword [ebx + 0xa48], edx
cmp edx, 1
ja 0x100b1444
push 0x32
lea eax, [esp + 0x58]
mov edx, edi
push 0xb
push eax
mov ecx, ebx
call fcn.100b0dc0
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret
mov esi, dword [method.std::basic_streambuf_char__struct_std::char_traits_char__.virtual_52]
mov ecx, esi
push 0x497
push str.D:DevelopmentMillennium_vendor_vcpkg_buildtreeslibgit2_src_v1.4.2_3f39c3e750.clean_srcpack_objects.c
push 0x4c
push edx
call dword [0x101182f8]
call esi
mov edx, eax
add esp, 0x10
mov dword [esp + 0x20], edx
test edx, edx
je 0x100b1682
mov ecx, ebx
xor eax, eax
mov dword [esp + 0x1c], eax
mov ebp, dword [ecx + 0xa48]
test ebp, ebp
je 0x100b151f
mov ebx, dword [esp + 0x54]
lea esi, [edx + 0x3c]
nop
mov ecx, ebp
xor edx, edx
sub ecx, eax
mov eax, ebx
div ecx
mov edx, eax
cmp edx, 0x16
jae 0x100b14ad
mov ecx, dword [esp + 0x1c]
xor eax, eax
inc ecx
cmp ecx, ebp
cmovb edx, eax
mov ecx, dword [esp + 0x14]
mov dword [esi - 0x2c], ecx
mov dword [esi], 0xb
mov dword [esi + 4], 0x32
mov dword [esi + 8], 1
mov dword [esi + 0xc], 0
test edx, edx
je 0x100b14f3
cmp edx, ebx
jae 0x100b14ef
mov eax, dword [edi + edx*4]
mov ecx, dword [eax + 0x24]
test ecx, ecx
je 0x100b14ef
mov eax, dword [edi + edx*4 - 4]
cmp ecx, dword [eax + 0x24]
jne 0x100b14ef
add edx, 1
jne 0x100b14d3
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
sub ebx, edx
mov dword [esi - 0x28], edi
inc eax
mov dword [esi - 8], edx
lea edi, [edi + edx*4]
mov dword [esi - 4], edx
add esi, 0x4c
mov ebp, dword [ecx + 0xa48]
mov dword [esp + 0x1c], eax
cmp eax, ebp
jb 0x100b1490
mov edx, dword [esp + 0x20]
xor ebx, ebx
test ebp, ebp
je 0x100b1810
lea edi, [edx + 0x1c]
nop dword [eax]
cmp dword [edi + 0x18], 0
je 0x100b15ac
push edi
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov dword [edi - 4], eax
test eax, eax
jne 0x100b156b
push str.cond
push str.unrecoverable_internal_error
push 0x1013afe8
push 0x23
call fcn.10028180
add esp, 0x10
push 0
push 0
lea esi, [edi - 0x1c]
mov dword [edi - 0x10], 0
push esi
push 0x10079110
push 0
push 0
mov dword [edi - 0x14], esi
mov dword [edi - 0x18], 0x100b12d0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [esi], eax
test eax, eax
je 0x100b1673
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
inc eax
mov dword [esp + 0x18], eax
jmp 0x100b15b0
mov eax, dword [esp + 0x18]
inc ebx
add edi, 0x4c
cmp ebx, dword [ecx + 0xa48]
jb 0x100b1530
test eax, eax
je 0x100b1810
xor ebx, ebx
xor esi, esi
mov dword [esp + 0x1c], ebx
lea ebx, [ecx + 0xa18]
push ebx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ebp, dword [esp + 0x14]
mov edi, dword [esp + 0x20]
xor ecx, ecx
mov edx, dword [ebp + 0xa48]
mov eax, edi
nop
cmp ecx, edx
jae 0x100b168d
cmp dword [eax + 0x44], 0
cmove esi, eax
inc ecx
add eax, 0x4c
test esi, esi
je 0x100b15f0
mov ebx, dword [esp + 0x1c]
mov ebp, ebx
test edx, edx
je 0x100b16f8
mov eax, edi
mov ecx, dword [eax + 0x38]
cmp ecx, 0x16
jbe 0x100b162a
test ebx, ebx
je 0x100b1628
cmp dword [ebx + 0x38], ecx
jae 0x100b162a
mov ebx, eax
add eax, 0x4c
sub edx, 1
jne 0x100b1617
test ebx, ebx
je 0x100b16f8
mov ebp, dword [ebx + 0x38]
mov ecx, dword [ebx + 0x34]
mov eax, dword [ebx + 0x14]
shr ebp, 1
sub ecx, ebp
mov edi, ebp
lea ecx, [eax + ecx*4]
test ebp, ebp
je 0x100b16e6
mov eax, dword [ecx]
mov edx, dword [eax + 0x24]
test edx, edx
je 0x100b16ef
mov eax, dword [ecx - 4]
cmp edx, dword [eax + 0x24]
jne 0x100b16e2
add ecx, 4
sub ebp, 1
jne 0x100b1654
jmp 0x100b16e6
push str.unable_to_create_thread
push 0x12
call fcn.10028180
add esp, 8
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret
lea edi, [ebp + 0xa30]
test edi, edi
je 0x100b15e1
test ebx, ebx
je 0x100b15e1
push ebx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push 0xffffffffffffffff
push dword [edi]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x100b16d6
push str.____DWORD__0x00000000L_____0____wait_result
push str.unrecoverable_internal_error
push 0x1013afe8
push 0x23
call fcn.10028180
add esp, 0x10
jmp 0x100b15e1
push ebx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
jmp 0x100b15e1
test ebp, ebp
jne 0x100b16ef
mov ebp, edi
mov eax, ebp
neg eax
lea ecx, [ecx + eax*4]
mov dword [esi + 0x14], ecx
sub dword [ebx + 0x34], ebp
sub dword [ebx + 0x38], ebp
mov eax, dword [esp + 0x14]
add eax, 0xa18
mov dword [esi + 0x34], ebp
push eax
mov dword [esi + 0x38], ebp
mov dword [esi + 0x44], 1
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea ebx, [esi + 0x1c]
push ebx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea edi, [esi + 0x18]
mov dword [esi + 0x48], 1
test edi, edi
je 0x100b1752
push dword [edi]
call dword [sym.imp.KERNEL32.dll_SetEvent]
test eax, eax
jne 0x100b1752
push str.signaled
push str.unrecoverable_internal_error
push 0x1013afe8
push 0x23
call fcn.10028180
add esp, 0x10
push ebx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test ebp, ebp
jne 0x100b1800
push 0xffffffffffffffff
push dword [esi]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x100b17ad
lea eax, [esp + 0x28]
push eax
push dword [esi]
call dword [sym.imp.KERNEL32.dll_GetExitCodeThread]
test eax, eax
je 0x100b17a5
cmp dword [esp + 0x28], 0x6f012842
je 0x100b17a5
push str.exit__0x6F012842
push str.unrecoverable_internal_error
push 0x1013afe8
push 0x23
call fcn.10028180
add esp, 0x10
jmp 0x100b17ad
push dword [esi]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test edi, edi
je 0x100b17ee
push dword [edi]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
jne 0x100b17e8
push str.closed
push str.unrecoverable_internal_error
push 0x1013afe8
push 0x23
call fcn.10028180
add esp, 0x10
push ebx
call dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
mov eax, dword [esp + 0x18]
dec eax
mov dword [esp + 0x18], eax
jmp 0x100b1804
mov dword [edi], 0
push ebx
call dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
mov eax, dword [esp + 0x18]
dec eax
mov dword [esp + 0x18], eax
jmp 0x100b1804
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
test eax, eax
jne 0x100b15c8
push dword [esp + 0x20]
mov esi, dword [method.std::basic_streambuf_char__struct_std::char_traits_char__.virtual_4]
mov ecx, esi
call dword [0x101182f8]
call esi
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret