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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
push ebx
push esi
push edi
mov edi, dword [ebp + 0x10]
xor ebx, ebx
push ebx
push 0x10143fa0
push ebx
mov eax, dword [edi]
push edi
mov dword [ebp - 0xc], ebx
call dword [eax + 0x24]
mov esi, dword [ebp + 8]
xor ecx, ecx
inc ecx
test eax, eax
jne 0x100f6d1d
mov eax, dword [esi]
push ecx
push ebx
push 0x3f2
push esi
call dword [eax + 0x1c]
xor ecx, ecx
mov byte [ebp - 1], bl
inc ecx
test eax, eax
je 0x100f6d20
mov byte [ebp - 1], cl
mov eax, dword [esi + 0xe0]
mov edx, ecx
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 8], ecx
cmp dword [eax + 0x24], ecx
jle 0x100f6d62
mov eax, dword [esi + 0xe0]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x10]
mov ecx, dword [ebx]
push 0x1007
push edi
push eax
push ebx
call dword [ecx + 0xcc]
mov edx, dword [ebp - 8]
mov eax, dword [esi + 0xe0]
inc edx
mov dword [ebp - 8], edx
cmp edx, dword [eax + 0x24]
jl 0x100f6d33
mov eax, dword [ebx]
push 0x100
push ebx
call dword [eax + 0xa0]
push edi
push ebx
push esi
call sym.rt3d.dll_public_virtual:_enum_E3RESULT___stdcall_e3_NODE::Save_class_e3_STREAM___class_e3_CONTEXT__
mov eax, dword [ebx]
push ebx
call dword [eax + 0xa4]
cmp byte [ebp - 1], 0
je 0x100f6da6
mov eax, dword [ebx]
push 0x100c
push ebx
call dword [eax + 0xa0]
mov eax, dword [ebx]
push 0xa
push ebx
call dword [eax + 0x68]
mov eax, dword [ebx]
push ebx
call dword [eax + 0xa4]
cmp byte [esi + 0x349], 0
je 0x100f6dd4
mov eax, dword [ebx]
push 0x101f
push ebx
call dword [eax + 0xa0]
movzx eax, byte [esi + 0x349]
mov ecx, dword [ebx]
push eax
push ebx
call dword [ecx + 0x60]
mov eax, dword [ebx]
push ebx
call dword [eax + 0xa4]
lea edi, [esi + 0x118]
movss xmm0, dword [edi]
comiss xmm0, dword [edi + 0xc]
ja 0x100f6e1d
mov eax, dword [ebx]
push 0x102a
push ebx
call dword [eax + 0xa0]
mov eax, dword [ebx]
push 4
push 3
push edi
push ebx
call dword [eax + 0xbc]
mov ecx, dword [ebx]
lea eax, [esi + 0x124]
push 4
push 3
push eax
push ebx
call dword [ecx + 0xbc]
mov eax, dword [ebx]
push ebx
call dword [eax + 0xa4]
mov eax, dword [esi]
lea ecx, [ebp - 0x1c]
push 5
push ecx
push 0x3ec
push esi
call dword [eax + 0x1c]
and dword [ebp - 0x20], 0
lea eax, [ebp - 0x28]
and dword [ebp - 0x24], 0
and dword [ebp - 0x28], 0
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.1001e6e3
pop ecx
pop ecx
test al, al
je 0x100f6e5c
push 0x1001
push ebx
lea eax, [ebp - 0x1c]
push eax
call sym.rt3d.dll_public:_enum_E3RESULT___stdcall_POINT3D::Save_class_e3_STREAM___unsigned_short_int_
mov eax, dword [esi + 0x28]
lea edx, [ebp - 0x28]
push 5
push edx
push 0x405
mov ecx, dword [eax]
push eax
call dword [ecx + 0x1c]
lea esi, [ebp - 0x28]
lea edi, [ebp - 0x1c]
movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x1c]
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
and dword [ebp - 0x20], 0
and dword [ebp - 0x24], 0
and dword [ebp - 0x28], 0
call fcn.1001e6e3
pop ecx
pop ecx
test al, al
je 0x100f6ea7
push 0x1002
push ebx
lea eax, [ebp - 0x1c]
push eax
call sym.rt3d.dll_public:_enum_E3RESULT___stdcall_POINT3D::Save_class_e3_STREAM___unsigned_short_int_
mov esi, dword [ebp + 0x10]
xor ecx, ecx
push ecx
push str.viewports
push ecx
mov eax, dword [esi]
push esi
call dword [eax + 0x24]
mov edi, dword [ebp + 8]
test eax, eax
je 0x100f71c7
cmp dword [edi + 0x164], 0
je 0x100f71c7
xor eax, eax
inc eax
mov byte [ebp - 1], al
mov al, byte [edi + 0x348]
test al, al
je 0x100f6f0a
cmp al, 0xff
je 0x100f6f0a
mov eax, dword [ebx]
push 0x101d
push ebx
call dword [eax + 0xa0]
movzx eax, byte [edi + 0x348]
mov ecx, dword [ebx]
push eax
push ebx
call dword [ecx + 0x60]
mov eax, dword [ebx]
push ebx
call dword [eax + 0xa4]
mov eax, dword [ebx]
push 0x100e
push ebx
call dword [eax + 0xa0]
mov eax, dword [edi + 0x164]
lea ecx, [ebp + 0xf]
xor edx, edx
inc edx
push edx
mov al, byte [eax + 0x14]
mov byte [ebp + 0xf], al
mov eax, dword [ebx]
push ecx
push ebx
call dword [eax + 0x40]
mov eax, dword [edi + 0x164]
xor ecx, ecx
inc ecx
push ecx
lea ecx, [ebp + 0xf]
mov al, byte [eax + 0x1c]
mov byte [ebp + 0xf], al
mov eax, dword [ebx]
push ecx
push ebx
call dword [eax + 0x40]
mov eax, dword [edi + 0x164]
xor ecx, ecx
inc ecx
push ecx
lea ecx, [ebp + 0xf]
mov al, byte [eax + 0x20]
mov byte [ebp + 0xf], al
mov eax, dword [ebx]
push ecx
push ebx
call dword [eax + 0x40]
mov eax, dword [edi + 0x164]
xor ecx, ecx
inc ecx
push ecx
lea ecx, [ebp + 0xf]
mov al, byte [eax + 0x2e]
mov byte [ebp + 0xf], al
mov eax, dword [ebx]
push ecx
push ebx
call dword [eax + 0x40]
mov eax, dword [edi + 0x164]
mov ecx, dword [ebx]
push ecx
movss xmm0, dword [eax + 0x24]
movss dword [esp], xmm0
push ebx
call dword [ecx + 0xdc]
mov eax, dword [edi + 0x164]
mov ecx, dword [ebx]
push ecx
movss xmm0, dword [eax + 0x50]
movss dword [esp], xmm0
push ebx
call dword [ecx + 0xdc]
mov eax, dword [edi + 0x164]
mov ecx, dword [ebx]
push ecx
movss xmm0, dword [eax + 0x54]
movss dword [esp], xmm0
push ebx
call dword [ecx + 0xdc]
mov eax, dword [edi + 0x164]
mov ecx, dword [ebx]
push ecx
movss xmm0, dword [eax + 0x58]
movss dword [esp], xmm0
push ebx
call dword [ecx + 0xdc]
mov eax, dword [edi + 0x164]
mov ecx, dword [ebx]
push ecx
movss xmm0, dword [eax + 0x90]
movss dword [esp], xmm0
push ebx
call dword [ecx + 0xdc]
mov eax, dword [edi + 0x164]
mov ecx, dword [ebx]
push ecx
movss xmm0, dword [eax + 0x94]
movss dword [esp], xmm0
push ebx
call dword [ecx + 0xdc]
mov eax, dword [edi + 0x164]
mov ecx, dword [ebx]
push ecx
movss xmm0, dword [eax + 0x94]
movss dword [esp], xmm0
push ebx
call dword [ecx + 0xdc]
mov eax, dword [edi + 0x164]
mov ecx, dword [ebx]
sub eax, 0xffffff80
push 4
push 4
push eax
push ebx
call dword [ecx + 0xbc]
mov eax, dword [edi + 0x164]
mov ecx, dword [ebx]
add eax, 0x70
push 4
push 4
push eax
push ebx
call dword [ecx + 0xbc]
mov eax, dword [edi + 0x164]
push 0
pop ecx
push 1
test byte [eax + 0x18], 1
mov eax, dword [eax + 0x28]
pop edx
cmovne ecx, edx
test dl, al
je 0x100f708a
or ecx, 2
test al, 2
je 0x100f7091
or ecx, 4
test al, 4
je 0x100f7098
or ecx, 8
test al, 8
je 0x100f709f
or ecx, 0x10
test al, 0x10
je 0x100f70a6
or ecx, 0x20
test al, 0x20
je 0x100f70ad
or ecx, 0x40
test al, 0x40
je 0x100f70b7
or ecx, 0x80
test al, al
jns 0x100f70c1
or ecx, 0x100
mov edx, 0x200
test eax, 0x100
je 0x100f70cf
or ecx, edx
test edx, eax
je 0x100f70d9
or ecx, 0x400
mov edx, 0x800
test eax, 0x10000
je 0x100f70e7
or ecx, edx
test eax, 0x400
je 0x100f70f4
or ecx, 0x1000
test edx, eax
je 0x100f70fe
or ecx, 0x2000
mov eax, dword [ebx]
push ecx
push ebx
call dword [eax + 0x68]
mov eax, dword [edi + 0x164]
cmp byte [eax + 0x60], 0
je 0x100f7139
mov eax, dword [ebx]
push 0x1024
push ebx
call dword [eax + 0xa0]
mov eax, dword [edi + 0x164]
mov ecx, dword [ebx]
movzx eax, byte [eax + 0x60]
push eax
push ebx
call dword [ecx + 0x60]
mov eax, dword [ebx]
push ebx
call dword [eax + 0xa4]
mov eax, dword [ebx]
push ebx
call dword [eax + 0xa4]
mov eax, dword [edi + 0x164]
test dword [eax + 0x28], 0x4000
je 0x100f71cb
cmp dword [edi + 0x2a8], 0
je 0x100f71cb
mov eax, dword [ebx]
push 0x1020
push ebx
call dword [eax + 0xa0]
mov eax, dword [edi + 0x2a8]
cmp dword [eax + 0x68], 0
je 0x100f7186
xor ecx, ecx
inc ecx
push ecx
push 0x1021
push ebx
push dword [eax + 0x68]
call sym.rt3d.dll_public:_enum_E3RESULT___stdcall_MATRIX3D::Save_class_e3_STREAM___unsigned_short_int__bool_
mov eax, dword [ebx]
push 0x1022
push ebx
call dword [eax + 0xa0]
mov eax, dword [edi + 0x2a8]
mov ecx, dword [ebx]
push ecx
mov eax, dword [eax + 0x70]
mov eax, dword [eax + 0x62]
movss xmm0, dword [eax]
movss dword [esp], xmm0
push ebx
call dword [ecx + 0xdc]
mov eax, dword [ebx]
push ebx
call dword [eax + 0xa4]
mov eax, dword [ebx]
push ebx
call dword [eax + 0xa4]
jmp 0x100f71cb
mov byte [ebp - 1], 0
mov eax, dword [edi + 0xf4]
xor edx, edx
mov dword [ebp - 8], edx
cmp dword [eax + 0x24], edx
jle 0x100f744d
mov eax, dword [edi + 0xf4]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x10]
mov esi, eax
mov al, byte [ebp - 1]
mov dword [ebp - 0x10], esi
cmp dword [esi + 0x7c], 0
jne 0x100f7202
test al, al
je 0x100f7434
cmp esi, dword [edi + 0x10c]
jne 0x100f7213
mov ecx, 0x100f
test al, al
jne 0x100f7218
mov ecx, 0x100d
mov eax, dword [ebx]
push ecx
push ebx
call dword [eax + 0xa0]
cmp dword [esi + 0xc], 0
je 0x100f723c
mov eax, dword [ebx]
push 0x1009
push dword [ebp + 0x10]
push dword [esi + 0xc]
push ebx
call dword [eax + 0xcc]
cmp dword [esi + 0x10], 0
je 0x100f7256
mov eax, dword [ebx]
push 0x100a
push dword [ebp + 0x10]
push dword [esi + 0x10]
push ebx
call dword [eax + 0xcc]
cmp dword [esi + 0x18], 0
je 0x100f7270
mov eax, dword [ebx]
push 0x101b
push dword [ebp + 0x10]
push dword [esi + 0x18]
push ebx
call dword [eax + 0xcc]
cmp dword [esi + 0x28], 0
je 0x100f7285
push 0x1027
push ebx
lea eax, [esi + 0x24]
push eax
call sym.rt3d.dll_public:_enum_E3RESULT___stdcall_e3_STRING::Save_class_e3_STREAM___unsigned_short_int_
push 0x1010
push dword [esi + 0x38]
push ebx
call fcn.100f75e9
push 0x1012
push dword [esi + 0x3c]
push ebx
call fcn.100f75e9
push 0x1012
push dword [esi + 0x40]
push ebx
call fcn.100f75e9
push 0x1013
push dword [esi + 0x44]
push ebx
call fcn.100f75e9
push 0x1014
push dword [esi + 0x48]
push ebx
call fcn.100f75e9
push 0x1015
push dword [esi + 0x4c]
push ebx
call fcn.100f75e9
add esp, 0x48
push 0x1016
push dword [esi + 0x50]
push ebx
call fcn.100f75e9
push 0x1017
push dword [esi + 0x54]
push ebx
call fcn.100f75e9
push 0x1018
push dword [esi + 0x58]
push ebx
call fcn.100f75e9
push 0x1019
push dword [esi + 0x5c]
push ebx
call fcn.100f75e9
push 0x101a
push dword [esi + 0x60]
push ebx
call fcn.100f75e9
push 0x1025
push dword [esi + 0x64]
push ebx
call fcn.100f75e9
add esp, 0x48
cmp dword [esi + 0x7c], 0
je 0x100f735f
xor eax, eax
inc eax
cmp dword [esi + 0x7c], eax
mov eax, dword [ebx]
jne 0x100f734a
push 0x101c
jmp 0x100f734f
push 0x1026
push ebx
call dword [eax + 0xa0]
mov eax, dword [ebx]
push ebx
call dword [eax + 0xa4]
mov eax, dword [edi + 0xf4]
cmp dword [eax + 0x24], 0
je 0x100f73a6
mov eax, dword [ebx]
push 0x101e
push ebx
call dword [eax + 0xa0]
push dword [esi + 0x6c]
mov eax, dword [ebx]
push ebx
call dword [eax + 0x68]
push dword [esi + 0x70]
mov eax, dword [ebx]
push ebx
call dword [eax + 0x68]
push dword [esi + 0x74]
mov eax, dword [ebx]
push ebx
call dword [eax + 0x68]
push dword [esi + 0x78]
mov eax, dword [ebx]
push ebx
call dword [eax + 0x68]
mov eax, dword [ebx]
push ebx
call dword [eax + 0xa4]
mov ecx, dword [esi + 0x2c]
test ecx, ecx
je 0x100f73cb
mov eax, dword [ecx]
push ecx
call dword [eax + 0x64]
test eax, eax
je 0x100f73cb
mov eax, dword [ebx]
push 0x1023
push dword [ebp + 0x10]
push dword [esi + 0x2c]
push ebx
call dword [eax + 0xcc]
mov ecx, dword [esi + 0x30]
test ecx, ecx
je 0x100f742b
xor eax, eax
mov edx, eax
mov dword [ebp + 0xc], edx
cmp dword [ecx + 0x24], eax
jle 0x100f742b
mov edi, dword [ebp - 0x10]
mov eax, dword [ecx]
push edx
push ecx
call dword [eax + 0x10]
mov ecx, dword [ebx]
mov esi, eax
push 0x1028
push ebx
call dword [ecx + 0xa0]
cmp dword [esi], 0
je 0x100f7410
mov eax, dword [ebx]
push 0x1029
push dword [ebp + 0x10]
push dword [esi]
push ebx
call dword [eax + 0xcc]
mov eax, dword [ebx]
push ebx
call dword [eax + 0xa4]
mov edx, dword [ebp + 0xc]
mov ecx, dword [edi + 0x30]
inc edx
mov dword [ebp + 0xc], edx
cmp edx, dword [ecx + 0x24]
jl 0x100f73e1
mov edi, dword [ebp + 8]
mov eax, dword [ebx]
push ebx
call dword [eax + 0xa4]
mov edx, dword [ebp - 8]
mov eax, dword [edi + 0xf4]
inc edx
mov dword [ebp - 8], edx
cmp edx, dword [eax + 0x24]
jl 0x100f71df
mov esi, dword [ebp + 0x10]
cmp byte [ebp - 1], 0
jne 0x100f7491
mov eax, dword [edi + 0x10c]
test eax, eax
je 0x100f7474
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x100f7474
mov eax, dword [ebx]
push 0x100a
push esi
push ecx
push ebx
call dword [eax + 0xcc]
mov eax, dword [edi]
push edi
call dword [eax + 0x154]
test eax, eax
je 0x100f7491
mov ecx, dword [ebx]
push 0x1009
push esi
push eax
push ebx
call dword [ecx + 0xcc]
movss xmm0, dword [edi + 0x294]
ucomiss xmm0, dword [0x1013225c]
lahf
test ah, 0x44
jnp 0x100f74d4
mov eax, dword [ebx]
push 0x1003
push ebx
call dword [eax + 0xa0]
movss xmm0, dword [edi + 0x294]
mov eax, dword [ebx]
push ecx
movss dword [esp], xmm0
push ebx
call dword [eax + 0xdc]
mov eax, dword [ebx]
push ebx
call dword [eax + 0xa4]
xor edx, edx
cmp dword [edi + 0xe8], edx
je 0x100f756d
mov eax, dword [esi]
xor ecx, ecx
inc ecx
push ecx
push str.animation
push edx
push esi
call dword [eax + 0x24]
test eax, eax
je 0x100f756b
mov eax, dword [edi + 0xe8]
xor ecx, ecx
mov edx, ecx
mov dword [ebp + 8], ecx
cmp dword [eax + 0x24], ecx
jle 0x100f7537
mov eax, dword [edi + 0xe8]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x10]
mov ecx, dword [ebx]
push 0x1004
push esi
push eax
push ebx
call dword [ecx + 0xcc]
mov edx, dword [ebp + 8]
mov eax, dword [edi + 0xe8]
inc edx
mov dword [ebp + 8], edx
cmp edx, dword [eax + 0x24]
jl 0x100f7508
mov ecx, dword [edi + 0xfc]
test ecx, ecx
je 0x100f7551
mov eax, dword [ebx]
push 0x1006
push esi
push ecx
push ebx
call dword [eax + 0xcc]
mov ecx, dword [edi + 0xf8]
test ecx, ecx
je 0x100f756b
mov eax, dword [ebx]
push 0x1005
push esi
push ecx
push ebx
call dword [eax + 0xcc]
xor edx, edx
mov eax, dword [edi + 0xec]
test eax, eax
je 0x100f75ad
cmp dword [eax + 0x24], edx
jle 0x100f75ad
mov ecx, dword [edi + 0xec]
mov esi, dword [ebx]
push 0x100b
push dword [ebp + 0x10]
mov eax, dword [ecx]
push edx
push ecx
call dword [eax + 0x10]
push eax
push ebx
call dword [esi + 0xcc]
mov edx, dword [ebp - 0xc]
mov eax, dword [edi + 0xec]
inc edx
mov dword [ebp - 0xc], edx
cmp edx, dword [eax + 0x24]
jl 0x100f757c
mov eax, dword [ebx]
push ebx
call dword [eax + 0xd8]
push dword [edi + 0x170]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x2c]
test eax, eax
js 0x100f75dd
mov ecx, dword [ebx]
push 0x1008
push dword [ebp + 0x10]
push dword [edi + 0x170]
push ebx
call dword [ecx + 0xcc]
pop edi
xor eax, eax
pop esi
inc eax
pop ebx
mov esp, ebp
pop ebp
ret 0xc