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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
mov eax, dword [ebp + 0x10]
push ebx
push esi
push edi
mov esi, dword [eax]
xor ebx, ebx
push ebx
push 0x101675d0
push ebx
mov ecx, dword [esi + 0x24]
push eax
mov dword [ebp - 0x14], ebx
call dword [0x10151aac]
call dword [esi + 0x24]
mov edi, dword [ebp + 8]
test eax, eax
jne 0x1010f76c
mov esi, dword [edi]
push 1
push ebx
push 0x3f2
mov ecx, dword [esi + 0x1c]
push edi
call dword [0x10151aac]
call dword [esi + 0x1c]
mov byte [ebp - 2], bl
test eax, eax
je 0x1010f770
mov byte [ebp - 2], 1
mov eax, dword [edi + 0xe0]
xor edx, edx
mov ebx, dword [ebp + 0xc]
inc edx
mov dword [ebp - 8], edx
cmp dword [eax + 0x24], edx
jle 0x1010f7c9
mov eax, dword [edi + 0xe0]
push edx
push eax
mov ecx, dword [eax]
mov esi, dword [ecx + 0x10]
mov ecx, esi
call dword [0x10151aac]
call esi
mov esi, dword [ebx]
push 0x1007
push dword [ebp + 0x10]
mov esi, dword [esi + 0xcc]
mov ecx, esi
push eax
push ebx
call dword [0x10151aac]
call esi
mov edx, dword [ebp - 8]
mov eax, dword [edi + 0xe0]
inc edx
mov dword [ebp - 8], edx
cmp edx, dword [eax + 0x24]
jl 0x1010f784
mov eax, dword [ebx]
push 0x100
push ebx
mov esi, dword [eax + 0xa0]
mov ecx, esi
call dword [0x10151aac]
call esi
push dword [ebp + 0x10]
push ebx
push edi
call sym.rt3d.dll_public:_void___thiscall_QUAT::constructor_float__struct_QUAT___struct_QUAT___int_
mov eax, dword [ebx]
push ebx
mov esi, dword [eax + 0xa4]
mov ecx, esi
call dword [0x10151aac]
call esi
cmp byte [ebp - 2], 0
je 0x1010f841
mov eax, dword [ebx]
push 0x100c
push ebx
mov esi, dword [eax + 0xa0]
mov ecx, esi
call dword [0x10151aac]
call esi
mov eax, dword [ebx]
push 0xa
push ebx
mov esi, dword [eax + 0x68]
mov ecx, esi
call dword [0x10151aac]
call esi
mov eax, dword [ebx]
push ebx
mov esi, dword [eax + 0xa4]
mov ecx, esi
call dword [0x10151aac]
call esi
cmp byte [edi + 0x349], 0
je 0x1010f88c
mov eax, dword [ebx]
push 0x101f
push ebx
mov esi, dword [eax + 0xa0]
mov ecx, esi
call dword [0x10151aac]
call esi
mov esi, dword [ebx]
movzx eax, byte [edi + 0x349]
push eax
push ebx
mov ecx, dword [esi + 0x60]
call dword [0x10151aac]
call dword [esi + 0x60]
mov eax, dword [ebx]
push ebx
mov esi, dword [eax + 0xa4]
mov ecx, esi
call dword [0x10151aac]
call esi
lea eax, [edi + 0x118]
movss xmm0, dword [eax]
comiss xmm0, dword [eax + 0xc]
ja 0x1010f8e7
mov eax, dword [ebx]
push 0x102a
push ebx
mov esi, dword [eax + 0xa0]
mov ecx, esi
call dword [0x10151aac]
call esi
push 1
lea eax, [edi + 0x118]
mov ecx, ebx
push eax
call sym.rt3d.dll_public:_void___thiscall_QUAT::constructor_float__struct_QUAT___struct_QUAT___int_
push 1
lea eax, [edi + 0x124]
mov ecx, ebx
push eax
call sym.rt3d.dll_public:_void___thiscall_QUAT::constructor_float__struct_QUAT___struct_QUAT___int_
mov eax, dword [ebx]
push ebx
mov esi, dword [eax + 0xa4]
mov ecx, esi
call dword [0x10151aac]
call esi
lea eax, [ebp - 0x20]
mov ecx, edi
push eax
call sym.rt3d.dll_public:_void___thiscall_QUAT::constructor_float__struct_QUAT___struct_QUAT___int_
and dword [ebp - 0x24], 0
lea eax, [ebp - 0x2c]
and dword [ebp - 0x28], 0
and dword [ebp - 0x2c], 0
push eax
lea eax, [ebp - 0x20]
push eax
call sym.rt3d.dll_public:_void___thiscall_QUAT::constructor_float__struct_QUAT___struct_QUAT___int_
pop ecx
pop ecx
test al, al
je 0x1010f920
push 0x1001
push ebx
lea eax, [ebp - 0x20]
push eax
call sym.rt3d.dll_public:_void___thiscall_QUAT::constructor_float__struct_QUAT___struct_QUAT___int_
mov ecx, dword [edi + 0x28]
lea eax, [ebp - 0x2c]
push eax
call sym.rt3d.dll_public:_void___thiscall_QUAT::constructor_float__struct_QUAT___struct_QUAT___int_
mov esi, eax
lea edi, [ebp - 0x20]
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x20]
movsd dword es:[edi], dword [esi]
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
and dword [ebp - 0x24], 0
and dword [ebp - 0x28], 0
and dword [ebp - 0x2c], 0
call sym.rt3d.dll_public:_void___thiscall_QUAT::constructor_float__struct_QUAT___struct_QUAT___int_
pop ecx
pop ecx
test al, al
je 0x1010f962
push 0x1002
push ebx
lea eax, [ebp - 0x20]
push eax
call sym.rt3d.dll_public:_void___thiscall_QUAT::constructor_float__struct_QUAT___struct_QUAT___int_
mov ecx, dword [ebp + 0x10]
xor eax, eax
push eax
push str.viewports
push eax
mov esi, dword [ecx]
push ecx
mov ecx, dword [esi + 0x24]
call dword [0x10151aac]
call dword [esi + 0x24]
mov edi, dword [ebp + 8]
test eax, eax
je 0x1010fdb1
cmp dword [edi + 0x164], 0
je 0x1010fdb1
mov al, byte [edi + 0x348]
mov byte [ebp - 2], 1
test al, al
je 0x1010f9e9
cmp al, 0xff
je 0x1010f9e9
mov eax, dword [ebx]
push 0x101d
push ebx
mov esi, dword [eax + 0xa0]
mov ecx, esi
call dword [0x10151aac]
call esi
mov esi, dword [ebx]
movzx eax, byte [edi + 0x348]
push eax
push ebx
mov ecx, dword [esi + 0x60]
call dword [0x10151aac]
call dword [esi + 0x60]
mov eax, dword [ebx]
push ebx
mov esi, dword [eax + 0xa4]
mov ecx, esi
call dword [0x10151aac]
call esi
mov eax, dword [ebx]
push 0x100e
push ebx
mov esi, dword [eax + 0xa0]
mov ecx, esi
call dword [0x10151aac]
call esi
mov eax, dword [edi + 0x164]
mov esi, dword [ebx]
push 1
mov al, byte [eax + 0x14]
mov ecx, dword [esi + 0x40]
mov byte [ebp - 1], al
lea eax, [ebp - 1]
push eax
push ebx
call dword [0x10151aac]
call dword [esi + 0x40]
mov eax, dword [edi + 0x164]
mov esi, dword [ebx]
push 1
mov al, byte [eax + 0x1c]
mov ecx, dword [esi + 0x40]
mov byte [ebp - 1], al
lea eax, [ebp - 1]
push eax
push ebx
call dword [0x10151aac]
call dword [esi + 0x40]
mov eax, dword [edi + 0x164]
mov esi, dword [ebx]
push 1
mov al, byte [eax + 0x20]
mov ecx, dword [esi + 0x40]
mov byte [ebp - 1], al
lea eax, [ebp - 1]
push eax
push ebx
call dword [0x10151aac]
call dword [esi + 0x40]
mov eax, dword [edi + 0x164]
mov esi, dword [ebx]
push 1
mov al, byte [eax + 0x2e]
mov ecx, dword [esi + 0x40]
mov byte [ebp - 1], al
lea eax, [ebp - 1]
push eax
push ebx
call dword [0x10151aac]
call dword [esi + 0x40]
mov eax, dword [edi + 0x164]
mov esi, dword [ebx]
push ecx
movss xmm0, dword [eax + 0x24]
mov esi, dword [esi + 0xdc]
mov ecx, esi
movss dword [esp], xmm0
push ebx
call dword [0x10151aac]
call esi
mov eax, dword [edi + 0x164]
mov esi, dword [ebx]
push ecx
movss xmm0, dword [eax + 0x50]
mov esi, dword [esi + 0xdc]
mov ecx, esi
movss dword [esp], xmm0
push ebx
call dword [0x10151aac]
call esi
mov eax, dword [edi + 0x164]
mov esi, dword [ebx]
push ecx
movss xmm0, dword [eax + 0x54]
mov esi, dword [esi + 0xdc]
mov ecx, esi
movss dword [esp], xmm0
push ebx
call dword [0x10151aac]
call esi
mov eax, dword [edi + 0x164]
mov esi, dword [ebx]
push ecx
movss xmm0, dword [eax + 0x58]
mov esi, dword [esi + 0xdc]
mov ecx, esi
movss dword [esp], xmm0
push ebx
call dword [0x10151aac]
call esi
mov eax, dword [edi + 0x164]
mov esi, dword [ebx]
push ecx
movss xmm0, dword [eax + 0x90]
mov esi, dword [esi + 0xdc]
mov ecx, esi
movss dword [esp], xmm0
push ebx
call dword [0x10151aac]
call esi
mov eax, dword [edi + 0x164]
mov esi, dword [ebx]
push ecx
movss xmm0, dword [eax + 0x94]
mov esi, dword [esi + 0xdc]
mov ecx, esi
movss dword [esp], xmm0
push ebx
call dword [0x10151aac]
call esi
mov eax, dword [edi + 0x164]
mov esi, dword [ebx]
push ecx
movss xmm0, dword [eax + 0x94]
mov esi, dword [esi + 0xdc]
mov ecx, esi
movss dword [esp], xmm0
push ebx
call dword [0x10151aac]
call esi
mov eax, dword [edi + 0x164]
mov ecx, ebx
push 4
sub eax, 0xffffff80
push eax
call sym.rt3d.dll_public:_void___thiscall_QUAT::constructor_float__struct_QUAT___struct_QUAT___int_
mov eax, dword [edi + 0x164]
mov ecx, ebx
push 4
add eax, 0x70
push eax
call sym.rt3d.dll_public:_void___thiscall_QUAT::constructor_float__struct_QUAT___struct_QUAT___int_
mov eax, dword [edi + 0x164]
mov ecx, dword [eax + 0x18]
mov edi, dword [eax + 0x28]
and ecx, 1
mov edx, ecx
mov eax, edi
or edx, 2
and al, 1
mov eax, edi
cmove edx, ecx
mov ecx, edx
or ecx, 4
and al, 2
mov eax, edi
cmove ecx, edx
mov edx, ecx
or edx, 8
and al, 4
mov eax, edi
cmove edx, ecx
mov ecx, edx
or ecx, 0x10
and al, 8
mov eax, edi
cmove ecx, edx
mov edx, ecx
or edx, 0x20
and al, 0x10
cmove edx, ecx
mov ecx, edx
mov eax, edi
or ecx, 0x40
mov esi, 0x100
and al, 0x20
mov eax, edi
cmove ecx, edx
mov edx, ecx
or edx, 0x80
and al, 0x40
mov eax, edi
cmove edx, ecx
mov ecx, edx
or ecx, esi
and al, 0x80
mov eax, edi
cmove ecx, edx
and eax, esi
mov edx, ecx
mov esi, 0x200
or edx, esi
test eax, eax
mov eax, edi
cmove edx, ecx
and eax, esi
mov esi, edx
or esi, 0x400
test eax, eax
mov eax, edi
cmove esi, edx
mov ecx, esi
or ecx, 0x800
and eax, 0x10000
mov eax, edi
cmove ecx, esi
mov esi, dword [ebx]
mov edx, ecx
or edx, 0x1000
and eax, 0x400
cmove edx, ecx
mov ecx, dword [esi + 0x68]
mov eax, edx
or eax, 0x2000
and edi, 0x800
cmove eax, edx
push eax
push ebx
call dword [0x10151aac]
call dword [esi + 0x68]
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0x164]
cmp byte [eax + 0x60], 0
je 0x1010fce1
mov eax, dword [ebx]
push 0x1024
push ebx
mov esi, dword [eax + 0xa0]
mov ecx, esi
call dword [0x10151aac]
call esi
mov eax, dword [edi + 0x164]
mov esi, dword [ebx]
movzx eax, byte [eax + 0x60]
mov ecx, dword [esi + 0x60]
push eax
push ebx
call dword [0x10151aac]
call dword [esi + 0x60]
mov eax, dword [ebx]
push ebx
mov esi, dword [eax + 0xa4]
mov ecx, esi
call dword [0x10151aac]
call esi
mov eax, dword [ebx]
push ebx
mov esi, dword [eax + 0xa4]
mov ecx, esi
call dword [0x10151aac]
call esi
mov eax, dword [edi + 0x164]
test dword [eax + 0x28], 0x4000
je 0x1010fdb5
cmp dword [edi + 0x2a8], 0
je 0x1010fdb5
mov eax, dword [ebx]
push 0x1020
push ebx
mov esi, dword [eax + 0xa0]
mov ecx, esi
call dword [0x10151aac]
call esi
mov eax, dword [edi + 0x2a8]
cmp dword [eax + 0x68], 0
je 0x1010fd48
push 1
push 0x1021
push ebx
push dword [eax + 0x68]
call sym.rt3d.dll_public:_void___thiscall_QUAT::constructor_float__struct_QUAT___struct_QUAT___int_
mov eax, dword [ebx]
push 0x1022
push ebx
mov esi, dword [eax + 0xa0]
mov ecx, esi
call dword [0x10151aac]
call esi
mov eax, dword [edi + 0x2a8]
mov esi, dword [ebx]
push ecx
mov eax, dword [eax + 0x70]
mov esi, dword [esi + 0xdc]
mov ecx, esi
mov eax, dword [eax + 0x62]
movss xmm0, dword [eax]
movss dword [esp], xmm0
push ebx
call dword [0x10151aac]
call esi
mov eax, dword [ebx]
push ebx
mov esi, dword [eax + 0xa4]
mov ecx, esi
call dword [0x10151aac]
call esi
mov eax, dword [ebx]
push ebx
mov esi, dword [eax + 0xa4]
mov ecx, esi
call dword [0x10151aac]
call esi
jmp 0x1010fdb5
mov byte [ebp - 2], 0
mov ecx, dword [edi + 0xf4]
xor edx, edx
mov dword [ebp - 0x10], edx
cmp dword [ecx + 0x24], edx
jle 0x1011011a
mov eax, dword [ecx]
push edx
push ecx
mov esi, dword [eax + 0x10]
mov ecx, esi
call dword [0x10151aac]
call esi
mov cl, byte [ebp - 2]
mov dword [ebp - 8], eax
cmp dword [eax + 0x7c], 0
jne 0x1010fdee
test cl, cl
je 0x10110104
cmp eax, dword [edi + 0x10c]
jne 0x1010fdff
test cl, cl
mov ecx, 0x100f
jne 0x1010fe04
mov ecx, 0x100d
mov eax, dword [ebx]
push ecx
push ebx
mov esi, dword [eax + 0xa0]
mov ecx, esi
call dword [0x10151aac]
call esi
mov esi, dword [ebp - 8]
mov eax, dword [esi + 0xc]
test eax, eax
je 0x1010fe41
mov esi, dword [ebx]
push 0x1009
push dword [ebp + 0x10]
mov esi, dword [esi + 0xcc]
mov ecx, esi
push eax
push ebx
call dword [0x10151aac]
call esi
mov esi, dword [ebp - 8]
mov eax, dword [esi + 0x10]
test eax, eax
je 0x1010fe67
mov esi, dword [ebx]
push 0x100a
push dword [ebp + 0x10]
mov esi, dword [esi + 0xcc]
mov ecx, esi
push eax
push ebx
call dword [0x10151aac]
call esi
mov esi, dword [ebp - 8]
mov eax, dword [esi + 0x18]
test eax, eax
je 0x1010fe8d
mov esi, dword [ebx]
push 0x101b
push dword [ebp + 0x10]
mov esi, dword [esi + 0xcc]
mov ecx, esi
push eax
push ebx
call dword [0x10151aac]
call esi
mov esi, dword [ebp - 8]
cmp dword [esi + 0x28], 0
je 0x1010fea2
push 0x1027
push ebx
lea eax, [esi + 0x24]
push eax
call sym.rt3d.dll_public:_void___thiscall_QUAT::constructor_float__struct_QUAT___struct_QUAT___int_
push 0x1010
push dword [esi + 0x38]
push ebx
call sym.rt3d.dll_public:_void___thiscall_QUAT::constructor_float__struct_QUAT___struct_QUAT___int_
push 0x1012
push dword [esi + 0x3c]
push ebx
call sym.rt3d.dll_public:_void___thiscall_QUAT::constructor_float__struct_QUAT___struct_QUAT___int_
push 0x1012
push dword [esi + 0x40]
push ebx
call sym.rt3d.dll_public:_void___thiscall_QUAT::constructor_float__struct_QUAT___struct_QUAT___int_
push 0x1013
push dword [esi + 0x44]
push ebx
call sym.rt3d.dll_public:_void___thiscall_QUAT::constructor_float__struct_QUAT___struct_QUAT___int_
push 0x1014
push dword [esi + 0x48]
push ebx
call sym.rt3d.dll_public:_void___thiscall_QUAT::constructor_float__struct_QUAT___struct_QUAT___int_
push 0x1015
push dword [esi + 0x4c]
push ebx
call sym.rt3d.dll_public:_void___thiscall_QUAT::constructor_float__struct_QUAT___struct_QUAT___int_
add esp, 0x48
push 0x1016
push dword [esi + 0x50]
push ebx
call sym.rt3d.dll_public:_void___thiscall_QUAT::constructor_float__struct_QUAT___struct_QUAT___int_
push 0x1017
push dword [esi + 0x54]
push ebx
call sym.rt3d.dll_public:_void___thiscall_QUAT::constructor_float__struct_QUAT___struct_QUAT___int_
push 0x1018
push dword [esi + 0x58]
push ebx
call sym.rt3d.dll_public:_void___thiscall_QUAT::constructor_float__struct_QUAT___struct_QUAT___int_
push 0x1019
push dword [esi + 0x5c]
push ebx
call sym.rt3d.dll_public:_void___thiscall_QUAT::constructor_float__struct_QUAT___struct_QUAT___int_
push 0x101a
push dword [esi + 0x60]
push ebx
call sym.rt3d.dll_public:_void___thiscall_QUAT::constructor_float__struct_QUAT___struct_QUAT___int_
push 0x1025
push dword [esi + 0x64]
push ebx
call sym.rt3d.dll_public:_void___thiscall_QUAT::constructor_float__struct_QUAT___struct_QUAT___int_
mov eax, dword [esi + 0x7c]
add esp, 0x48
test eax, eax
je 0x1010ff90
mov esi, dword [ebx]
mov ecx, dword [esi + 0xa0]
cmp eax, 1
jne 0x1010ff6b
push 0x101c
jmp 0x1010ff70
push 0x1026
push ebx
call dword [0x10151aac]
call dword [esi + 0xa0]
mov eax, dword [ebx]
push ebx
mov esi, dword [eax + 0xa4]
mov ecx, esi
call dword [0x10151aac]
call esi
mov eax, dword [edi + 0xf4]
cmp dword [eax + 0x24], 0
je 0x10110023
mov eax, dword [ebx]
push 0x101e
push ebx
mov esi, dword [eax + 0xa0]
mov ecx, esi
call dword [0x10151aac]
call esi
mov ecx, dword [ebp - 8]
mov eax, dword [ebx]
push dword [ecx + 0x6c]
mov esi, dword [eax + 0x68]
mov ecx, esi
push ebx
call dword [0x10151aac]
call esi
mov ecx, dword [ebp - 8]
mov eax, dword [ebx]
push dword [ecx + 0x70]
mov esi, dword [eax + 0x68]
mov ecx, esi
push ebx
call dword [0x10151aac]
call esi
mov ecx, dword [ebp - 8]
mov eax, dword [ebx]
push dword [ecx + 0x74]
mov esi, dword [eax + 0x68]
mov ecx, esi
push ebx
call dword [0x10151aac]
call esi
mov ecx, dword [ebp - 8]
mov eax, dword [ebx]
push dword [ecx + 0x78]
mov esi, dword [eax + 0x68]
mov ecx, esi
push ebx
call dword [0x10151aac]
call esi
mov eax, dword [ebx]
push ebx
mov esi, dword [eax + 0xa4]
mov ecx, esi
call dword [0x10151aac]
call esi
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x2c]
test ecx, ecx
je 0x10110065
mov eax, dword [ecx]
push ecx
mov esi, dword [eax + 0x64]
mov ecx, esi
call dword [0x10151aac]
call esi
test eax, eax
mov eax, dword [ebp - 8]
je 0x10110065
mov esi, dword [ebx]
push 0x1023
push dword [ebp + 0x10]
push dword [eax + 0x2c]
mov esi, dword [esi + 0xcc]
mov ecx, esi
push ebx
call dword [0x10151aac]
call esi
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x30]
test ecx, ecx
je 0x101100f1
xor eax, eax
mov edx, eax
mov dword [ebp - 0xc], edx
cmp dword [ecx + 0x24], eax
jle 0x101100f1
mov eax, dword [ecx]
push edx
push ecx
mov esi, dword [eax + 0x10]
mov ecx, esi
call dword [0x10151aac]
call esi
mov edi, eax
mov eax, dword [ebx]
push 0x1028
push ebx
mov esi, dword [eax + 0xa0]
mov ecx, esi
call dword [0x10151aac]
call esi
cmp dword [edi], 0
je 0x101100c9
mov esi, dword [ebx]
push 0x1029
push dword [ebp + 0x10]
push dword [edi]
mov esi, dword [esi + 0xcc]
mov ecx, esi
push ebx
call dword [0x10151aac]
call esi
mov eax, dword [ebx]
push ebx
mov esi, dword [eax + 0xa4]
mov ecx, esi
call dword [0x10151aac]
call esi
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0xc]
inc edx
mov dword [ebp - 0xc], edx
mov ecx, dword [eax + 0x30]
cmp edx, dword [ecx + 0x24]
jl 0x1011007c
mov edi, dword [ebp + 8]
mov eax, dword [ebx]
push ebx
mov esi, dword [eax + 0xa4]
mov ecx, esi
call dword [0x10151aac]
call esi
mov edx, dword [ebp - 0x10]
mov ecx, dword [edi + 0xf4]
inc edx
mov dword [ebp - 0x10], edx
cmp edx, dword [ecx + 0x24]
jl 0x1010fdc9
cmp byte [ebp - 2], 0
jne 0x10110181
mov eax, dword [edi + 0x10c]
test eax, eax
je 0x1011014e
cmp dword [eax + 0x10], 0
je 0x1011014e
mov esi, dword [ebx]
push 0x100a
push dword [ebp + 0x10]
push dword [eax + 0x10]
mov esi, dword [esi + 0xcc]
mov ecx, esi
push ebx
call dword [0x10151aac]
call esi
mov eax, dword [edi]
push edi
mov esi, dword [eax + 0x154]
mov ecx, esi
call dword [0x10151aac]
call esi
test eax, eax
je 0x10110181
mov esi, dword [ebx]
push 0x1009
push dword [ebp + 0x10]
mov esi, dword [esi + 0xcc]
mov ecx, esi
push eax
push ebx
call dword [0x10151aac]
call esi
movss xmm0, dword [edi + 0x294]
ucomiss xmm0, dword [0x10155c28]
lahf
test ah, 0x44
jnp 0x101101e2
mov eax, dword [ebx]
push 0x1003
push ebx
mov esi, dword [eax + 0xa0]
mov ecx, esi
call dword [0x10151aac]
call esi
mov esi, dword [ebx]
movss xmm0, dword [edi + 0x294]
push ecx
movss dword [esp], xmm0
mov esi, dword [esi + 0xdc]
mov ecx, esi
push ebx
call dword [0x10151aac]
call esi
mov eax, dword [ebx]
push ebx
mov esi, dword [eax + 0xa4]
mov ecx, esi
call dword [0x10151aac]
call esi
xor edx, edx
cmp dword [edi + 0xe8], edx
je 0x101102b7
mov eax, dword [ebp + 0x10]
push 1
push str.animation
push edx
mov esi, dword [eax]
push eax
mov ecx, dword [esi + 0x24]
call dword [0x10151aac]
call dword [esi + 0x24]
test eax, eax
je 0x101102b5
mov eax, dword [edi + 0xe8]
xor ecx, ecx
mov edx, ecx
mov dword [ebp - 0x10], ecx
cmp dword [eax + 0x24], ecx
jle 0x10110269
mov eax, dword [edi + 0xe8]
push edx
push eax
mov ecx, dword [eax]
mov esi, dword [ecx + 0x10]
mov ecx, esi
call dword [0x10151aac]
call esi
mov esi, dword [ebx]
push 0x1004
push dword [ebp + 0x10]
mov esi, dword [esi + 0xcc]
mov ecx, esi
push eax
push ebx
call dword [0x10151aac]
call esi
mov edx, dword [ebp - 0x10]
mov eax, dword [edi + 0xe8]
inc edx
mov dword [ebp - 0x10], edx
cmp edx, dword [eax + 0x24]
jl 0x10110224
mov eax, dword [edi + 0xfc]
test eax, eax
je 0x1011028f
mov esi, dword [ebx]
push 0x1006
push dword [ebp + 0x10]
mov esi, dword [esi + 0xcc]
mov ecx, esi
push eax
push ebx
call dword [0x10151aac]
call esi
mov eax, dword [edi + 0xf8]
test eax, eax
je 0x101102b5
mov esi, dword [ebx]
push 0x1005
push dword [ebp + 0x10]
mov esi, dword [esi + 0xcc]
mov ecx, esi
push eax
push ebx
call dword [0x10151aac]
call esi
xor edx, edx
mov eax, dword [edi + 0xec]
test eax, eax
je 0x10110313
cmp dword [eax + 0x24], edx
jle 0x10110313
mov ecx, dword [ebp + 8]
mov edi, dword [ebx]
push 0x100b
push dword [ebp + 0x10]
mov ecx, dword [ecx + 0xec]
push edx
push ecx
mov eax, dword [ecx]
mov esi, dword [eax + 0x10]
mov ecx, esi
call dword [0x10151aac]
call esi
mov ecx, dword [edi + 0xcc]
push eax
push ebx
call dword [0x10151aac]
call dword [edi + 0xcc]
mov edi, dword [ebp + 8]
mov edx, dword [ebp - 0x14]
inc edx
mov dword [ebp - 0x14], edx
mov eax, dword [edi + 0xec]
cmp edx, dword [eax + 0x24]
jl 0x101102c6
mov eax, dword [ebx]
push ebx
mov esi, dword [eax + 0xd8]
mov ecx, esi
call dword [0x10151aac]
call esi
push dword [edi + 0x170]
mov ecx, eax
push ecx
mov eax, dword [ecx]
mov esi, dword [eax + 0x2c]
mov ecx, esi
call dword [0x10151aac]
call esi
test eax, eax
js 0x10110363
mov esi, dword [ebx]
push 0x1008
push dword [ebp + 0x10]
push dword [edi + 0x170]
mov esi, dword [esi + 0xcc]
mov ecx, esi
push ebx
call dword [0x10151aac]
call esi
pop edi
xor eax, eax
pop esi
inc eax
pop ebx
leave
ret 0xc