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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1019db92
mov eax, dword fs:[0]
push eax
sub esp, 0x134
push ebx
push ebp
push esi
push edi
mov eax, dword [0x10218460]
xor eax, esp
push eax
lea eax, [esp + 0x148]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [esp + 0x30], ebx
mov ecx, dword [ebx + 0x4c]
test ecx, ecx
jne 0x100ab465
push str.void_vfr_VbfFaceFinder::inProcess___const
push str._s:_ndetector_is_missing
lea eax, [esp + 0x40]
call fcn.100595b0
add esp, 8
push 0x102051a0
lea eax, [esp + 0x3c]
push eax
call fcn.1017d044
mov edx, dword [ecx]
mov eax, dword [edx + 8]
call eax
mov ecx, 0x10223588
call fcn.10062a30
test al, al
jne 0x100ab4ad
mov ecx, dword [ebx + 0x4c]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
call eax
mov ecx, dword [eax + 4]
push ecx
push str.void_vfr_VbfFaceFinder::inProcess___const
push str._s:_nincorrect_detector_attached___s___must_inherit_vbf_Detector_nYou_might_want_to_use_vfr_VdeFaceFinder_instead_of_this_class_n
lea eax, [esp + 0x44]
call fcn.100595b0
add esp, 0xc
push 0x102051a0
lea edx, [esp + 0x3c]
push edx
call fcn.1017d044
mov eax, dword [ebx + 0x24]
push eax
lea esi, [ebx + 0x204]
push esi
call fcn.10065090
mov eax, 0xb001
mov ecx, esi
call fcn.10064d10
mov eax, dword [eax + 8]
test eax, eax
je 0x100ab4d9
add eax, 0xffffffe4
mov dword [esp + 0x34], eax
jmp 0x100ab4e1
mov dword [esp + 0x34], 0
cmp dword [ebx + 0x58], 1
mov ebp, dword [ebx + 0x4c]
jge 0x100ab52d
mov ecx, dword [esp + 0x34]
mov edx, dword [ebp]
mov edx, dword [edx + 0x60]
lea eax, [ebx + 0x170]
push eax
lea eax, [ebx + 0x1b8]
push eax
push ecx
mov ecx, ebp
call edx
mov eax, dword [ebx + 0x178]
push 0
lea esi, [ebx + 0x194]
push eax
call fcn.10009380
fldz
push ecx
fstp dword [esp]
mov eax, esi
call fcn.10061260
jmp 0x100ab9c7
mov eax, dword [ebx + 0x248]
mov edx, dword [eax + 0x4c]
mov edi, dword [ebx + 0x58]
lea esi, [ebx + 0x248]
mov ecx, esi
call edx
cmp eax, edi
je 0x100ab55c
lea ecx, [ebx + 0x250]
call fcn.10038410
push 0x10220f10
call fcn.1006c150
fld dword [ebx + 0x50]
xor edi, edi
cmp dword [ebx + 0x58], edi
fld qword [0x101e9400]
fmul st(1), st(0)
mov dword [esp + 0x1c], edi
fld qword [0x101e97f8]
mov dword [esp + 0x24], edi
fdiv st(2), st(0)
fxch st(2)
fstp dword [esp + 0x38]
fmul dword [ebx + 0x54]
fdivrp st(1)
fstp dword [esp + 0x40]
jle 0x100ab86b
mov dword [esp + 0x28], edi
jmp 0x100ab5a0
fild dword [esp + 0x24]
mov eax, dword [ebx + 0x254]
mov ecx, dword [esp + 0x28]
mov esi, dword [ecx + eax + 8]
fmul dword [esp + 0x40]
mov edi, 0x10220768
xor ecx, ecx
mov eax, esi
fadd dword [esp + 0x38]
fstp dword [esp + 0x18]
call fcn.10065560
test eax, eax
je 0x100ab5d9
add eax, 0xffffffec
mov dword [esp + 0x20], eax
jmp 0x100ab5e1
mov dword [esp + 0x20], 0
mov edi, 0x10220cb8
mov ecx, 1
mov eax, esi
call fcn.10065560
test eax, eax
je 0x100ab5ff
add eax, 0xffffffec
mov dword [esp + 0x2c], eax
jmp 0x100ab607
mov dword [esp + 0x2c], 0
lea esi, [esp + 0xcc]
call fcn.10050ae0
mov dword [esp + 0x150], 0
fldz
fld dword [esp + 0x18]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x100ab635
fst dword [esp + 0x18]
jmp 0x100ab63d
fld st(0)
fchs
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fcomp qword [0x101e94c0]
fnstsw ax
test ah, 5
jp 0x100ab68b
lea eax, [esp + 0xcc]
fstp st(0)
call fcn.10051040
mov eax, dword [esp + 0x34]
test eax, eax
je 0x100ab678
add ebx, 0x5c
mov edx, dword [ebx + 0x1c]
add eax, 0x1c
lea ecx, [ebx + 0x1c]
push eax
mov eax, dword [edx + 0x28]
call eax
jmp 0x100ab6c2
add ebx, 0x5c
mov edx, dword [ebx + 0x1c]
xor eax, eax
lea ecx, [ebx + 0x1c]
push eax
mov eax, dword [edx + 0x28]
call eax
jmp 0x100ab6c2
push ecx
mov ecx, dword [esp + 0x38]
fstp dword [esp]
add ebx, 0x5c
push ebx
push ecx
lea edx, [esp + 0x114]
push edx
call fcn.10099470
add esp, 0x10
mov esi, eax
lea edx, [esp + 0xcc]
call fcn.10050d40
lea ecx, [esp + 0x13c]
call fcn.10050d00
lea ebx, [esp + 0x90]
lea eax, [esp + 0xcc]
call fcn.1002d160
mov eax, dword [esp + 0x2c]
mov esi, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x34]
mov byte [esp + 0x154], 1
mov edx, dword [ebp]
mov edx, dword [edx + 0x60]
push esi
add eax, 0x5c
push eax
mov ecx, ebp
call edx
xor edi, edi
cmp dword [esi + 8], edi
jle 0x100ab80f
mov dword [esp + 0x18], edi
jmp 0x100ab714
mov esi, dword [esp + 0x20]
mov eax, dword [ebp]
mov ebx, dword [esi + 4]
mov edx, dword [eax + 0x30]
add ebx, dword [esp + 0x18]
mov ecx, ebp
call edx
mov esi, eax
mov eax, dword [ebp]
mov edx, dword [eax + 0x2c]
mov ecx, ebp
call edx
mov ecx, esi
mov edx, eax
mov esi, ebx
lea eax, [esp + 0x48]
call fcn.100ab3d0
lea eax, [esp + 0x68]
lea ecx, [esp + 0x48]
call fcn.10009a30
push eax
mov byte [esp + 0x154], 3
mov edx, dword [esp + 0x94]
lea eax, [esp + 0x78]
push eax
mov eax, dword [edx + 0x2c]
lea ecx, [esp + 0x98]
call eax
mov ecx, eax
lea eax, [esp + 0x58]
call fcn.1004b410
lea ecx, [esp + 0x74]
call fcn.10048a00
lea ecx, [esp + 0x68]
mov byte [esp + 0x150], 5
call fcn.10048a00
fld dword [esp + 0x5c]
mov edx, dword [ebp]
fstp dword [esp + 0x4c]
fld dword [esp + 0x60]
mov eax, dword [edx + 0x30]
mov ecx, ebp
fstp dword [esp + 0x50]
call eax
mov edx, dword [ebp]
mov esi, eax
mov eax, dword [edx + 0x2c]
mov ecx, ebp
call eax
mov ecx, esi
mov edx, eax
lea esi, [esp + 0x48]
lea eax, [esp + 0x80]
call fcn.100ab3e0
mov ecx, eax
mov eax, ebx
call fcn.1004b480
lea ecx, [esp + 0x80]
call fcn.1004b470
lea ecx, [esp + 0x58]
call fcn.1004b470
mov ecx, esi
mov byte [esp + 0x150], 1
call fcn.1004b470
mov ecx, dword [esp + 0x20]
add dword [esp + 0x18], 0x10
add edi, 1
cmp edi, dword [ecx + 8]
jl 0x100ab710
mov edx, dword [esp + 0x2c]
mov eax, dword [edx + 8]
add dword [esp + 0x1c], eax
lea ecx, [esp + 0xc4]
call fcn.10050d00
lea ecx, [esp + 0x100]
mov dword [esp + 0xc4], vtable.ert_RefCounter.0
mov dword [esp + 0x150], 0xffffffff
call fcn.10050d00
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x30]
add dword [esp + 0x28], 0xc
add eax, 1
cmp eax, dword [ecx + 0x58]
mov dword [esp + 0x24], eax
mov ebx, ecx
jl 0x100ab5a0
mov edi, dword [esp + 0x1c]
lea ecx, [ebx + 0x1b8]
call fcn.1000ec40
push 0
lea esi, [ebx + 0x170]
push edi
call fcn.10009380
push 0
lea esi, [ebx + 0x194]
push edi
call fcn.10009380
xor esi, esi
cmp dword [ebx + 0x58], esi
mov dword [esp + 0x24], esi
jle 0x100ab988
mov dword [esp + 0x28], esi
fild dword [esp + 0x24]
mov edx, dword [ebx + 0x254]
mov eax, dword [esp + 0x28]
mov eax, dword [eax + edx + 8]
fmul dword [esp + 0x40]
mov edi, 0x10220768
xor ecx, ecx
mov dword [esp + 0x1c], eax
fadd dword [esp + 0x38]
fstp dword [esp + 0x18]
call fcn.10065560
test eax, eax
je 0x100ab8e0
add eax, 0xffffffec
mov dword [esp + 0x20], eax
jmp 0x100ab8e8
mov dword [esp + 0x20], 0
mov eax, dword [esp + 0x1c]
mov edi, 0x10220cb8
mov ecx, 1
call fcn.10065560
xor edx, edx
cmp eax, edx
je 0x100ab90a
add eax, 0xffffffec
mov dword [esp + 0x2c], eax
jmp 0x100ab90e
mov dword [esp + 0x2c], edx
mov ecx, dword [esp + 0x20]
cmp dword [ecx + 8], edx
jle 0x100ab96f
mov edi, esi
shl edi, 4
mov dword [esp + 0x1c], edx
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 4]
mov eax, dword [ebx + 0x1bc]
add ecx, dword [esp + 0x1c]
add eax, edi
call fcn.1004b480
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx + 4]
fld dword [eax + edx*4]
mov ecx, dword [ebx + 0x174]
add dword [esp + 0x1c], 0x10
fstp dword [ecx + esi*4]
mov eax, dword [ebx + 0x198]
fld dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
fstp dword [eax + esi*4]
add edx, 1
add esi, 1
add edi, 0x10
cmp edx, dword [ecx + 8]
jl 0x100ab920
mov eax, dword [esp + 0x24]
add dword [esp + 0x28], 0xc
add eax, 1
cmp eax, dword [ebx + 0x58]
mov dword [esp + 0x24], eax
jl 0x100ab8a5
mov edx, dword [ebp]
mov eax, dword [edx + 0x30]
mov ecx, ebp
call eax
mov edx, dword [ebp]
mov esi, eax
mov eax, dword [edx + 0x2c]
mov ecx, ebp
call eax
fld dword [0x101e92b0]
lea ecx, [ebx + 0x194]
push ecx
lea ecx, [ebx + 0x170]
push ecx
lea ecx, [ebx + 0x1b8]
push ecx
push esi
push eax
push ecx
fstp dword [esp]
call fcn.100f6e30
add esp, 0x18
push 1
lea ecx, [esp + 0x94]
push ecx
lea eax, [ebx + 0x170]
push eax
call fcn.100064b0
lea edi, [ebx + 0x1dc]
mov ebx, eax
mov dword [esp + 0x150], 6
call fcn.1005ef00
lea edx, [esp + 0x90]
push edx
mov dword [esp + 0x154], 0xffffffff
call fcn.10001b50
fldz
mov esi, dword [esp + 0x30]
mov eax, dword [esi + 0x1e8]
mov edx, dword [esi + 0x174]
xor ebx, ebx
mov byte [esi + 0x1f4], bl
mov ecx, dword [eax]
fcomp dword [edx + ecx*4]
fnstsw ax
test ah, 0x41
jne 0x100abaef
mov eax, dword [esi + 0x1f0]
cmp eax, 1
jl 0x100aba50
je 0x100abae5
cmp bl, bl
je 0x100abae5
cmp byte [esi + 0x1f5], bl
je 0x100aba6b
mov eax, dword [esi + 0x1e8]
cmp eax, ebx
je 0x100aba6b
push eax
call fcn.10178e5d
add esp, 4
xor ecx, ecx
mov eax, 1
mov edx, 4
mul edx
seto cl
mov dword [esi + 0x1e8], ebx
mov dword [esi + 0x1ec], ebx
mov dword [esi + 0x1f0], ebx
mov byte [esi + 0x1f5], bl
neg ecx
or ecx, eax
push ecx
call fcn.101790d8
add esp, 4
cmp eax, ebx
jne 0x100abace
push 4
push 1
push str.void_ert_TmplArr_Type_::size__int32_sizeA__
push str._s:_nFailed_to_allocate__i_untits_of__i_bytes_n
lea eax, [esp + 0x50]
call fcn.100595b0
add esp, 0x10
push 0x102051a0
lea eax, [esp + 0x44]
push eax
call fcn.1017d044
mov dword [esi + 0x1e8], eax
mov dword [esi + 0x1f0], 1
mov byte [esi + 0x1f5], 1
mov dword [esi + 0x1ec], 1
mov dword [esi + 0x200], ebx
mov ecx, dword [esp + 0x148]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret