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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xb0
mov eax, dword [0x101631e0]
xor eax, ebp
mov dword [ebp - 4], eax
fldz
mov eax, dword [ebp + 0xc]
fst dword [ebp - 0xa4]
push ebx
mov ebx, dword [ebp + 8]
fst dword [ebp - 0xa8]
push esi
fstp dword [ebp - 0xac]
push edi
lea edi, [ebx + 0x27c]
lea esi, [ebp - 0xac]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea edi, [ebx + 0x288]
lea esi, [ebp - 0xac]
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp + 0x10]
movsd dword es:[edi], dword [esi]
xor ecx, ecx
mov dword [ebp - 0x8c], eax
mov eax, dword [ebx + 0x164]
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x9c], ecx
mov dword [ebp - 0x98], ecx
cmp eax, ecx
je 0x100f20d5
mov dword [eax + 0xa0], ecx
mov esi, dword [ebp - 0x90]
mov eax, dword [esi]
push esi
call dword [eax + 0x98]
test al, al
je 0x100f2a7b
mov eax, dword [esi]
lea ecx, [ebp - 0xb0]
push ecx
push esi
call dword [eax + 0x94]
movzx eax, ax
mov dword [ebp - 0x94], eax
movzx eax, ax
mov ecx, 0x100a
cmp eax, ecx
jg 0x100f22c5
je 0x100f22ab
add ecx, 0xfffffffb
cmp eax, ecx
jg 0x100f21c9
je 0x100f21af
sub eax, 0x100
je 0x100f219d
sub eax, 0xf01
je 0x100f218b
dec eax
je 0x100f2183
dec eax
je 0x100f25b0
dec eax
jne 0x100f299c
cmp dword [ebx + 0xe8], eax
jne 0x100f2162
push 0x10
push 0x20
call sym.rt3d.dll_public:_static_class_e3_COLLECTION____stdcall_e3_COLLECTION::Create_int__int_
mov dword [ebx + 0xe8], eax
push dword [ebp - 0x8c]
mov eax, dword [esi]
push esi
call dword [eax + 0xd0]
mov ecx, dword [ebx + 0xe8]
mov edx, dword [ecx]
push eax
push ecx
call dword [edx + 0x30]
jmp 0x100f299c
lea eax, [ebx + 0x288]
jmp 0x100f2191
lea eax, [ebx + 0x27c]
push esi
push eax
call sym.rt3d.dll_public:_void___stdcall_MATRIX3D::_FromUpDir_struct_MATRIX3D___struct_POINT3D___struct_POINT3D___struct_POINT3D__
jmp 0x100f299c
push dword [ebp - 0x8c]
push esi
push ebx
call sym.rt3d.dll_public:_void___stdcall_MATRIX3D::_FromUpDir_struct_MATRIX3D___struct_POINT3D___struct_POINT3D___struct_POINT3D__
jmp 0x100f299c
push dword [ebp - 0x8c]
mov eax, dword [esi]
push esi
call dword [eax + 0xd0]
mov dword [ebx + 0xf8], eax
jmp 0x100f2298
sub eax, 0x1006
je 0x100f2283
dec eax
je 0x100f2254
dec eax
je 0x100f21fb
dec eax
jne 0x100f299c
push dword [ebp - 0x8c]
mov eax, dword [esi]
push esi
call dword [eax + 0xd0]
mov dword [ebp - 0x9c], eax
jmp 0x100f299c
push dword [ebp - 0x8c]
mov eax, dword [esi]
push esi
call dword [eax + 0xd0]
test byte [ebx + 0x15a], 1
mov edi, eax
mov eax, dword [ebx + 0xe0]
mov ecx, dword [eax]
jne 0x100f2244
push 0
push eax
call dword [ecx + 0x10]
mov ecx, dword [ebx]
push eax
push ebx
call dword [ecx + 0x2cc]
mov eax, dword [ebx + 0xe0]
push edi
push 0
mov dword [ebx + 0x170], edi
mov ecx, dword [eax]
push eax
call dword [ecx + 0x1c]
jmp 0x100f2249
push edi
push eax
call dword [ecx + 0x30]
mov eax, dword [ebx]
push ebx
call dword [eax + 0x258]
jmp 0x100f2272
push dword [ebp - 0x8c]
mov eax, dword [esi]
push esi
call dword [eax + 0xd0]
mov edi, eax
mov eax, dword [ebx + 0xe0]
mov ecx, dword [eax]
push edi
push eax
call dword [ecx + 0x30]
mov eax, dword [ebx]
push edi
push 0xbbe
push ebx
call dword [eax + 0x34]
jmp 0x100f299c
push dword [ebp - 0x8c]
mov eax, dword [esi]
push esi
call dword [eax + 0xd0]
mov dword [ebx + 0xfc], eax
test eax, eax
je 0x100f299c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x100f299c
push dword [ebp - 0x8c]
mov eax, dword [esi]
push esi
call dword [eax + 0xd0]
mov dword [ebp - 0x98], eax
jmp 0x100f299c
mov ecx, 0x100f
cmp eax, ecx
jg 0x100f2848
je 0x100f25e2
sub eax, 0x100b
je 0x100f25c4
dec eax
je 0x100f25a1
dec eax
je 0x100f25e2
dec eax
jne 0x100f299c
cmp dword [ebx + 0x164], eax
je 0x100f299c
mov eax, dword [esi]
xor edi, edi
inc edi
push edi
lea ecx, [ebp - 0x85]
push ecx
push esi
call dword [eax + 0x3c]
movzx eax, byte [ebp - 0x85]
mov ecx, dword [ebx + 0x164]
mov dword [ecx + 0x14], eax
mov eax, dword [esi]
push edi
lea ecx, [ebp - 0x85]
push ecx
push esi
call dword [eax + 0x3c]
movzx eax, byte [ebp - 0x85]
mov ecx, dword [ebx + 0x164]
mov dword [ecx + 0x1c], eax
mov eax, dword [esi]
push edi
lea ecx, [ebp - 0x85]
push ecx
push esi
call dword [eax + 0x3c]
movzx eax, byte [ebp - 0x85]
mov ecx, dword [ebx + 0x164]
mov dword [ecx + 0x20], eax
mov eax, dword [esi]
push edi
lea ecx, [ebp - 0x85]
push ecx
push esi
call dword [eax + 0x3c]
mov eax, dword [ebx + 0x164]
mov cl, byte [ebp - 0x85]
mov byte [eax + 0x2e], cl
mov eax, dword [ebx + 0x164]
and dword [eax + 0x28], 0xffffbfff
mov eax, dword [esi]
push esi
call dword [eax + 0xe0]
mov eax, dword [ebx + 0x164]
fstp dword [eax + 0x24]
mov eax, dword [esi]
push esi
call dword [eax + 0xe0]
mov eax, dword [ebx + 0x164]
fstp dword [eax + 0x50]
mov eax, dword [esi]
push esi
call dword [eax + 0xe0]
mov eax, dword [ebx + 0x164]
fstp dword [eax + 0x54]
mov eax, dword [esi]
push esi
call dword [eax + 0xe0]
mov eax, dword [ebx + 0x164]
fstp dword [eax + 0x58]
mov eax, dword [esi]
push esi
call dword [eax + 0xe0]
mov eax, dword [ebx + 0x164]
fstp dword [eax + 0x90]
mov eax, dword [esi]
push esi
call dword [eax + 0xe0]
mov eax, dword [ebx + 0x164]
fstp dword [eax + 0x94]
mov eax, dword [esi]
push esi
call dword [eax + 0xe0]
mov eax, dword [ebx + 0x164]
fstp dword [eax + 0x94]
mov ecx, dword [ebx + 0x164]
mov eax, dword [esi]
push 4
push 4
sub ecx, 0xffffff80
push ecx
push esi
call dword [eax + 0xb8]
mov ecx, dword [ebx + 0x164]
mov eax, dword [esi]
push 4
push 4
add ecx, 0x70
push ecx
push esi
call dword [eax + 0xb8]
mov eax, dword [esi]
push esi
call dword [eax + 0x6c]
mov ecx, dword [ebx + 0x164]
mov edx, dword [ecx + 0x18]
xor edx, eax
and edx, edi
xor dword [ecx + 0x18], edx
mov ecx, dword [ebx + 0x164]
mov edi, dword [ecx + 0x28]
mov edx, eax
shr edx, 1
xor edi, edx
and edi, 1
xor dword [ecx + 0x28], edi
mov ecx, dword [ebx + 0x164]
mov edi, dword [ecx + 0x28]
xor edi, edx
and edi, 2
xor dword [ecx + 0x28], edi
mov ecx, dword [ebx + 0x164]
mov edi, dword [ecx + 0x28]
xor edi, edx
and edi, 4
xor dword [ecx + 0x28], edi
mov ecx, dword [ebx + 0x164]
mov edi, dword [ecx + 0x28]
xor edi, edx
and edi, 8
xor dword [ecx + 0x28], edi
mov ecx, dword [ebx + 0x164]
mov edi, dword [ecx + 0x28]
xor edi, edx
and edi, 0x10
xor dword [ecx + 0x28], edi
mov ecx, dword [ebx + 0x164]
mov edi, dword [ecx + 0x28]
xor edi, edx
and edi, 0x20
xor dword [ecx + 0x28], edi
mov ecx, dword [ebx + 0x164]
mov edi, dword [ecx + 0x28]
xor edi, edx
and edi, 0x40
xor dword [ecx + 0x28], edi
mov ecx, dword [ebx + 0x164]
mov edi, dword [ecx + 0x28]
xor edi, edx
and edi, 0x80
xor dword [ecx + 0x28], edi
mov ecx, dword [ebx + 0x164]
mov edi, dword [ecx + 0x28]
xor edi, edx
and edi, 0x100
xor dword [ecx + 0x28], edi
mov ecx, dword [ebx + 0x164]
mov edi, dword [ecx + 0x28]
xor edi, edx
and edi, 0x200
xor dword [ecx + 0x28], edi
mov ecx, dword [ebx + 0x164]
mov edx, eax
shl edx, 5
xor edx, dword [ecx + 0x28]
and edx, 0x10000
xor dword [ecx + 0x28], edx
mov ecx, dword [ebx + 0x164]
mov edx, eax
mov eax, dword [ecx + 0x28]
shr edx, 2
xor eax, edx
and eax, 0x400
xor dword [ecx + 0x28], eax
mov eax, dword [ebx + 0x164]
mov ecx, dword [eax + 0x28]
xor ecx, edx
and ecx, 0x800
xor dword [eax + 0x28], ecx
mov eax, dword [ebx + 0x164]
mov dword [eax + 0xa0], 1
jmp 0x100f258f
mov eax, dword [esi]
push 0
push esi
call dword [eax + 0x94]
mov ecx, 0x1024
cmp ax, cx
jne 0x100f2586
mov eax, dword [esi]
push esi
call dword [eax + 0x64]
mov ecx, dword [ebx + 0x164]
mov byte [ecx + 0x60], al
mov eax, dword [esi]
push esi
call dword [eax + 0xa4]
mov eax, dword [esi]
push esi
call dword [eax + 0x98]
test al, al
jne 0x100f2562
jmp 0x100f299c
mov eax, dword [ebx]
push 1
push 0
push 0x3f2
push ebx
call dword [eax + 0x18]
mov eax, dword [esi]
push esi
call dword [eax + 0xe0]
fstp dword [ebx + 0x294]
jmp 0x100f299c
push dword [ebp - 0x8c]
mov eax, dword [esi]
mov edi, dword [ebx]
push esi
call dword [eax + 0xd0]
push eax
push ebx
call dword [edi + 0x334]
jmp 0x100f299c
xor edi, edi
jmp 0x100f2832
mov eax, dword [esi]
push 0
push esi
call dword [eax + 0x94]
movzx eax, ax
add eax, 0xffffeff7
cmp eax, 0x1f
ja case.0x100f260c.4107
movzx eax, byte [eax + 0x100f2aea]
jmp dword [eax*4 + 0x100f2a96]
mov eax, dword [edi]
push 0xffffffffffffffff
push edi
call dword [eax + 0x3c]
mov dword [ebp - 0x90], eax
jmp 0x100f2662
mov eax, dword [esi]
push 0
push esi
call dword [eax + 0x94]
mov ecx, 0x1029
cmp ax, cx
jne 0x100f2659
push dword [ebp - 0x8c]
mov eax, dword [esi]
push esi
call dword [eax + 0xd0]
mov ecx, dword [ebp - 0x90]
mov dword [ecx], eax
test eax, eax
je 0x100f2659
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esi]
push esi
call dword [eax + 0xa4]
mov eax, dword [esi]
push esi
call dword [eax + 0x98]
test al, al
jne 0x100f2623
jmp case.0x100f260c.4107
push dword [ebp - 0x8c]
mov eax, dword [esi]
push esi
call dword [eax + 0xd0]
mov dword [edi + 0x2c], eax
jmp case.0x100f260c.4107
mov dword [edi + 0x7c], 2
jmp case.0x100f260c.4107
mov dword [edi + 0x7c], 1
jmp case.0x100f260c.4107
push dword [ebp - 0x8c]
mov eax, dword [esi]
push esi
call dword [eax + 0xd0]
mov ecx, dword [ebx + 0x10c]
push 0
push 0x20
push 0x20
push eax
mov dword [ebp - 0xa0], ecx
mov ecx, dword [ebx]
push ebx
mov dword [ebp - 0x90], eax
call dword [ecx + 0x314]
mov edi, eax
mov eax, dword [ebp - 0x90]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0xa0]
mov dword [ebx + 0x10c], eax
test edi, edi
je 0x100f2a8f
mov eax, 0x100f
cmp word [ebp - 0x94], ax
jne 0x100f2717
test byte [ebx + 0x15a], 1
jne 0x100f2717
mov eax, dword [ebx]
push edi
push ebx
call dword [eax + 0x31c]
mov eax, dword [ebp - 0x90]
cmp dword [eax + 0x4c], 0
jne case.0x100f260c.4107
push dword [ebp - 0x90]
mov eax, dword [ebx]
push ebx
call dword [eax + 0xb8]
jmp case.0x100f260c.4107
push esi
lea eax, [edi + 0x24]
push eax
call sym.rt3d.dll_public:_void___stdcall_MATRIX3D::_FromUpDir_struct_MATRIX3D___struct_POINT3D___struct_POINT3D___struct_POINT3D__
jmp case.0x100f260c.4107
push dword [ebp - 0x8c]
mov eax, dword [esi]
push esi
call dword [eax + 0xd0]
mov dword [edi + 0x18], eax
jmp case.0x100f260c.4107
push dword [ebp - 0x8c]
mov eax, dword [esi]
push esi
call dword [eax + 0xd0]
mov dword [edi + 0x10], eax
cmp dword [eax + 0x4c], 0
jne case.0x100f260c.4107
mov ecx, dword [ebx]
push eax
push ebx
call dword [ecx + 0xb8]
jmp case.0x100f260c.4107
mov eax, dword [esi]
push esi
call dword [eax + 0x6c]
mov dword [edi + 0x6c], eax
mov eax, dword [esi]
push esi
call dword [eax + 0x6c]
mov dword [edi + 0x70], eax
mov eax, dword [esi]
push esi
call dword [eax + 0x6c]
mov dword [edi + 0x74], eax
mov eax, dword [esi]
push esi
call dword [eax + 0x6c]
mov dword [edi + 0x78], eax
jmp case.0x100f260c.4107
mov eax, dword [esi]
push esi
call dword [eax + 0x6c]
mov dword [edi + 0x40], eax
jmp case.0x100f260c.4107
mov eax, dword [esi]
push esi
call dword [eax + 0x6c]
mov dword [edi + 0x38], eax
jmp case.0x100f260c.4107
mov eax, dword [esi]
push esi
call dword [eax + 0x6c]
mov dword [edi + 0x44], eax
jmp case.0x100f260c.4107
mov eax, dword [esi]
push esi
call dword [eax + 0x6c]
mov dword [edi + 0x48], eax
jmp case.0x100f260c.4107
mov eax, dword [esi]
push esi
call dword [eax + 0x6c]
mov dword [edi + 0x4c], eax
jmp case.0x100f260c.4107
mov eax, dword [esi]
push esi
call dword [eax + 0x6c]
mov dword [edi + 0x50], eax
jmp case.0x100f260c.4107
mov eax, dword [esi]
push esi
call dword [eax + 0x6c]
mov dword [edi + 0x54], eax
jmp case.0x100f260c.4107
mov eax, dword [esi]
push esi
call dword [eax + 0x6c]
mov dword [edi + 0x58], eax
jmp case.0x100f260c.4107
mov eax, dword [esi]
push esi
call dword [eax + 0x6c]
mov dword [edi + 0x5c], eax
jmp case.0x100f260c.4107
mov eax, dword [esi]
push esi
call dword [eax + 0x6c]
mov dword [edi + 0x60], eax
jmp case.0x100f260c.4107
mov eax, dword [esi]
push esi
call dword [eax + 0x6c]
mov dword [edi + 0x64], eax
mov eax, dword [esi]
push esi
call dword [eax + 0xa4]
mov eax, dword [esi]
push esi
call dword [eax + 0x98]
test al, al
jne 0x100f25e9
jmp 0x100f299c
sub eax, 0x101d
je 0x100f2987
dec eax
dec eax
je 0x100f2979
dec eax
je 0x100f28a1
sub eax, 0xa
jne 0x100f299c
test byte [ebx + 0x15a], 1
jne 0x100f299c
mov eax, dword [esi]
push 4
push 3
lea ecx, [ebx + 0x118]
push ecx
push esi
call dword [eax + 0xb8]
mov eax, dword [esi]
push 4
push 3
lea ecx, [ebx + 0x124]
push ecx
push esi
call dword [eax + 0xb8]
jmp 0x100f299c
mov eax, dword [ebx + 0x164]
or dword [eax + 0x28], 0x4000
mov eax, dword [ebx]
push 1
push ebx
call dword [eax + 0x2f8]
jmp 0x100f2966
mov eax, dword [esi]
push 0
push esi
call dword [eax + 0x94]
movzx eax, ax
sub eax, 0x1021
je 0x100f2938
dec eax
jne 0x100f295d
mov eax, dword [ebx + 0x2a8]
mov edi, dword [eax + 0x70]
mov eax, dword [esi]
push esi
call dword [eax + 0xe0]
fstp dword [ebp - 0x94]
fld dword [ebp - 0x94]
mov eax, dword [edi + 0x62]
fld st(0)
fchs
fstp dword [ebp - 0x94]
fld dword [ebp - 0x94]
fst dword [eax]
fxch st(1)
fst dword [eax + 4]
mov eax, dword [edi + 0x62]
fst dword [eax + 0xc]
mov eax, dword [edi + 0x62]
fst dword [eax + 0x10]
mov eax, dword [edi + 0x62]
fstp dword [eax + 0x18]
mov eax, dword [edi + 0x62]
fst dword [eax + 0x1c]
mov eax, dword [edi + 0x62]
fst dword [eax + 0x24]
mov eax, dword [edi + 0x62]
fstp dword [eax + 0x28]
jmp 0x100f295d
push esi
lea eax, [ebp - 0x84]
push eax
call sym.rt3d.dll_public:_void___stdcall_MATRIX3D::_FromUpDir_struct_MATRIX3D___struct_POINT3D___struct_POINT3D___struct_POINT3D__
mov eax, dword [ebx + 0x2a8]
mov ecx, dword [eax]
push 0
lea edx, [ebp - 0x84]
push edx
push eax
call dword [ecx + 0x94]
mov eax, dword [esi]
push esi
call dword [eax + 0xa4]
mov eax, dword [esi]
push esi
call dword [eax + 0x98]
test al, al
jne 0x100f28be
jmp 0x100f299c
mov eax, dword [esi]
push esi
call dword [eax + 0x64]
mov byte [ebx + 0x349], al
jmp 0x100f299c
test byte [ebx + 0x15a], 1
jne 0x100f299c
mov eax, dword [esi]
push esi
call dword [eax + 0x64]
mov byte [ebx + 0x348], al
mov eax, dword [esi]
push esi
call dword [eax + 0xa4]
mov eax, dword [esi]
push esi
call dword [eax + 0x98]
test al, al
jne 0x100f20ec
mov edi, dword [ebp - 0x9c]
mov esi, dword [ebp - 0x98]
test edi, edi
jne 0x100f29ce
test esi, esi
je 0x100f2a7b
mov eax, dword [ebx + 0x28]
cmp dword [eax + 0x10c], 0
jne 0x100f2a67
mov ecx, dword [ebp - 0x8c]
call fcn.10099853
test al, al
je 0x100f2a67
test edi, edi
je 0x100f2a03
cmp dword [edi + 0x28], 0
jne 0x100f2a03
push dword [ebx + 0x28]
mov eax, dword [edi]
push edi
call dword [eax + 0x84]
test esi, esi
je 0x100f2a19
cmp dword [esi + 0x28], 0
jne 0x100f2a19
push dword [ebx + 0x28]
mov eax, dword [esi]
push esi
call dword [eax + 0x84]
test edi, edi
je 0x100f2a2d
cmp dword [edi + 0x4c], 0
jne 0x100f2a2d
mov eax, dword [ebx]
push edi
push ebx
call dword [eax + 0xb8]
test esi, esi
je 0x100f2a41
cmp dword [esi + 0x4c], 0
jne 0x100f2a41
mov eax, dword [ebx]
push esi
push ebx
call dword [eax + 0xb8]
mov ebx, dword [ebx + 0x28]
mov eax, dword [ebx]
push 0
push 0xf0
push 0x140
push edi
push ebx
call dword [eax + 0x314]
test esi, esi
je 0x100f2a67
mov dword [eax + 0x10], esi
mov eax, dword [esi]
push esi
call dword [eax + 4]
test edi, edi
je 0x100f2a71
mov eax, dword [edi]
push edi
call dword [eax + 8]
test esi, esi
je 0x100f2a7b
mov eax, dword [esi]
push esi
call dword [eax + 8]
xor eax, eax
inc eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10113450
leave
ret 0xc
push 0xfffffffffffffff4
pop eax
jmp 0x100f2a7e