Function at 0x1000f050
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10136c12
mov eax, dword fs:[0]
push eax
sub esp, 0x68
push ebx
push esi
push edi
mov eax, dword [0x1018e600]
xor eax, esp
push eax
lea eax, [esp + 0x78]
mov dword fs:[0], eax
mov dword [esp + 0x20], ecx
xor edi, edi
xor ebx, ebx
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], edi
lea ecx, [esp + 0x34]
mov dword [esp + 0x80], edi
call sym.BootstrapLibrary.dll_public:_void___thiscall_SystemConditionItem::constructor_void_
mov eax, dword [ebp + 8]
mov byte [esp + 0x80], 1
mov esi, dword [eax + 0x58]
mov eax, dword [eax + 0x5c]
cmp esi, eax
je 0x1000f2dc
lea esp, [esp]
mov eax, dword [esi + 0x38]
mov dword [esp + 0x70], eax
mov ecx, dword [esi + 0x34]
mov dword [esp + 0x34], ecx
mov edx, dword [esi + 0x28]
mov dword [esp + 0x38], edx
mov eax, dword [esi + 0x2c]
mov dword [esp + 0x3c], eax
mov ecx, dword [esi + 0x30]
mov dword [esp + 0x40], ecx
mov edx, dword [esi + 0x3c]
mov dword [esp + 0x44], edx
mov eax, dword [esi + 0x40]
mov dword [esp + 0x48], eax
lea ecx, [esi + 0x18]
mov dword [esp + 0x4c], ecx
mov edx, dword [esi + 4]
mov dword [esp + 0x50], edx
mov eax, dword [esi + 8]
mov dword [esp + 0x54], eax
mov ecx, dword [esi + 0x10]
mov dword [esp + 0x58], ecx
mov edx, dword [esi + 0xc]
mov dword [esp + 0x5c], edx
mov eax, dword [esi + 0x20]
mov dword [esp + 0x64], eax
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x68], ecx
mov edi, dword [esi]
push ecx
mov ecx, dword [edi - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
sub edi, 0x10
mov dword [esp + 0x1c], esp
mov dword [esp + 0x1c], esp
call eax
cmp dword [edi + 0xc], 0
lea ecx, [edi + 0xc]
jl 0x1000f152
cmp eax, dword [edi]
jne 0x1000f152
mov edx, 1
lock xadd dword [ecx], edx
jmp 0x1000f193
mov ecx, dword [edi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov dword [esp + 0x18], eax
test eax, eax
je 0x1000f384
mov ecx, dword [edi + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edi + 4]
lea edx, [ecx + ecx + 2]
push edx
add edi, 0x10
push edi
lea ecx, [ecx + ecx + 2]
push ecx
add eax, 0x10
push eax
call fcn.1010e352
mov edi, dword [esp + 0x28]
add esp, 0x10
mov edx, dword [esp + 0x1c]
lea eax, [esp + 0x20]
add edi, 0x10
push eax
lea ecx, [esp + 0x3c]
mov dword [edx], edi
call sym.BootstrapLibrary.dll_public:_class_ATL::CStringT_wchar_t__class_StrTraitMFC_wchar_t__class_ATL::ChTraitsCRT_wchar_t______thiscall_SystemConditionItem::setName_class_ATL::CStringT_wchar_t__class_StrTraitMFC_wchar_t__class_ATL::ChTraitsCRT_wchar_t____
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x1000f1ca
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [esp + 0x24]
lea ecx, [esp + 0x34]
cmp ecx, ebx
jae 0x1000f24d
mov eax, ecx
cmp edx, eax
ja 0x1000f24d
mov edi, ecx
mov ecx, dword [esp + 0x2c]
sub edi, edx
cmp ebx, ecx
jne 0x1000f231
mov eax, ebx
sub eax, edx
sar eax, 6
cmp eax, 0x3fffffe
ja 0x1000f389
sub ecx, edx
inc eax
sar ecx, 6
cmp eax, ecx
jbe 0x1000f231
mov edx, ecx
shr edx, 1
mov ebx, 0x3ffffff
sub ebx, edx
cmp ebx, ecx
jae 0x1000f217
xor ecx, ecx
jmp 0x1000f219
add ecx, edx
cmp ecx, eax
jae 0x1000f21f
mov ecx, eax
push ecx
lea ecx, [esp + 0x28]
call fcn.1000ddd0
mov ebx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
and edi, 0xffffffc0
add edi, edx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], ebx
mov byte [esp + 0x80], 2
test ebx, ebx
je 0x1000f2ba
push edi
jmp 0x1000f2b3
mov ecx, dword [esp + 0x2c]
cmp ebx, ecx
jne 0x1000f29a
mov eax, ebx
sub eax, edx
sar eax, 6
cmp eax, 0x3fffffe
ja 0x1000f389
sub ecx, edx
inc eax
sar ecx, 6
cmp eax, ecx
jbe 0x1000f29a
mov edx, ecx
shr edx, 1
mov edi, 0x3ffffff
sub edi, edx
cmp edi, ecx
jae 0x1000f284
xor ecx, ecx
jmp 0x1000f286
add ecx, edx
cmp ecx, eax
jae 0x1000f28c
mov ecx, eax
push ecx
lea ecx, [esp + 0x28]
call fcn.1000ddd0
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], ebx
mov byte [esp + 0x80], 3
test ebx, ebx
je 0x1000f2ba
lea ecx, [esp + 0x34]
push ecx
mov ecx, ebx
call sym.BootstrapLibrary.dll_public:_void___thiscall_SystemConditionItem::constructor_class_SystemConditionItem_const__
mov edx, dword [ebp + 8]
mov byte [esp + 0x80], 1
add ebx, 0x40
add esi, 0x48
mov dword [esp + 0x28], ebx
cmp esi, dword [edx + 0x5c]
jne 0x1000f0c0
mov edi, dword [esp + 0x24]
sub esp, 0x10
mov eax, esp
mov dword [esp + 0x28], esp
push eax
lea ecx, [esp + 0x38]
call fcn.10006e40
mov ecx, dword [esp + 0x30]
add ecx, 0xf0
call sym.BootstrapLibrary.dll_public:_void___thiscall_ConditionChecker::AddConditions_class_std::vector_class_SystemConditionItem__class_std::allocator_class_SystemConditionItem___
mov byte [esp + 0x80], 0
mov eax, dword [esp + 0x6c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x1000f326
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x80], 0xffffffff
test edi, edi
je 0x1000f36f
mov esi, edi
cmp edi, ebx
je 0x1000f366
jmp 0x1000f340
mov eax, dword [esi + 0x38]
sub eax, 0x10
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x1000f35f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
add esi, 0x40
cmp esi, ebx
jne 0x1000f340
push edi
call fcn.1001ee85
add esp, 4
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
call fcn.10004d10
push str.vector_T__too_long
call fcn.10128ccb
int3