Function at 0x10139b56
Capabilities:
Encrypt data using speck

Disassembly:
push ebp
lea ebp, [esp - 0x70]
sub esp, 0x120
mov eax, dword [0x1019c828]
xor eax, ebp
mov dword [ebp + 0x6c], eax
push ebx
push esi
mov esi, dword [ebp + 0x78]
mov ebx, ecx
mov eax, dword [ebx + 8]
push edi
xor edi, edi
cmp eax, edi
mov dword [ebp - 0x30], esi
je 0x10139bb4
xor ecx, ecx
push 0xc
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.1013fc7d
cmp eax, edi
pop ecx
mov dword [ebx + 0x30], eax
jne 0x10139ba3
push 0xfffffffffffffff4
pop eax
jmp 0x1013ba26
mov ecx, dword [ebx + 8]
imul ecx, ecx, 0xc
push ecx
push edi
push eax
call sub.MSVCR80.dll_memset
add esp, 0xc
call sym.rt3d.dll_public:_static_class_e3_MEM____stdcall_e3_MEM::Create_void_
cmp eax, edi
mov dword [ebx + 0x34], eax
je 0x10139b9b
push 0x40
call sub.MSVCR80.dll_void____cdecl_operator_new_unsigned_int_
cmp eax, edi
pop ecx
mov dword [ebx + 0x38], eax
je 0x10139b9b
push 0x40
push edi
push eax
call sub.MSVCR80.dll_memset
mov eax, dword [ebx + 0x38]
mov ecx, dword [ebx + 4]
mov dword [eax + 0x38], ecx
mov eax, dword [ebx + 0x38]
mov ecx, dword [ebx + 0x34]
mov dword [eax + 4], ecx
mov eax, dword [ebx + 0x38]
mov ecx, dword [ebx]
mov dword [eax], ecx
mov eax, dword [ebx + 0x38]
mov ecx, dword [ebx + 0x30]
mov dword [eax + 0x10], ecx
mov eax, dword [ebx + 0x38]
mov dword [eax + 0x3c], esi
mov eax, dword [ebx + 0x34]
mov ecx, dword [eax]
add esp, 0xc
push eax
call dword [ecx + 4]
mov eax, dword [ebx + 0x38]
mov dword [esi + 0x2c], eax
push dword [ebx + 0x38]
mov ecx, dword [ebx]
push esi
call fcn.10138343
cmp eax, 1
mov dword [ebp - 0x24], eax
jge 0x10139c48
mov eax, dword [ebx]
cmp dword [eax + 0xb4], edi
je 0x10139c37
test word [esi + 0x28], 0x800
jne 0x10139c48
mov ecx, dword [eax]
push esi
push eax
call dword [ecx + 0xac]
xor eax, eax
jmp 0x1013ba26
test byte [esi + 0x28], 0x40
je 0x10139d19
cmp dword [ebp - 0x24], edi
je 0x10139d19
mov ecx, dword [ebx]
cmp dword [ecx + 0x108], edi
jne 0x10139c9d
mov esi, dword [ecx + 0x118]
xor ecx, ecx
push 0xc
pop edx
mov eax, esi
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.1013fc7d
pop ecx
mov ecx, dword [ebx]
mov dword [ecx + 0x108], eax
mov ecx, dword [ebx]
xor edi, edi
cmp dword [ecx + 0x108], edi
je 0x10139b9b
mov esi, dword [ebp - 0x30]
test word [esi + 0x28], 0x200
je 0x10139d01
cmp dword [esi + 0x24], edi
je 0x10139d01
mov esi, dword [ecx + 0x5c]
xor ecx, ecx
push 0xc
pop edx
mov eax, esi
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.1013fc7d
xor edi, edi
cmp eax, edi
pop ecx
mov dword [ebp - 0x20], eax
je 0x10139b9b
mov eax, dword [ebx]
push dword [eax + 0x5c]
mov esi, dword [ebp - 0x30]
push dword [ebp - 0x20]
push dword [eax + 0x58]
push dword [esi + 0x24]
call sym.rt3d.dll_public:_void___stdcall_MATRIX3D::TransformPoints_struct_POINT3D_const___struct_POINT3D___int_const
push dword [esi + 0x24]
mov ecx, dword [ebx]
push dword [ebp - 0x20]
push 7
call fcn.10112c77
push dword [ebp - 0x20]
call sub.MSVCR80.dll_void___cdecl_operator_delete___void__
pop ecx
jmp 0x10139d19
push edi
push dword [ecx + 0x58]
push 1
call fcn.10112c77
mov ecx, dword [ebx]
push edi
push dword [ecx + 0x58]
push 2
call fcn.10112c77
mov eax, dword [ebx]
cmp dword [eax + 0x64], edi
mov byte [ebp - 0x19], 0
je 0x10139d36
cmp dword [eax + 0x98], edi
je 0x10139d36
test byte [esi + 0x28], 0x80
je 0x10139d36
mov byte [ebp - 0x19], 1
push 0x64
lea eax, [ebp - 0x18]
push edi
push eax
mov dword [ebp - 0x5c], edi
mov dword [ebp - 0x40], edi
call sub.MSVCR80.dll_memset
mov eax, dword [esi + 0x28]
add esp, 0xc
test eax, 0x20080
je 0x10139eb7
cmp dword [ebp - 0x24], edi
je 0x10139eff
test eax, 0x20000
je 0x10139de5
mov eax, dword [ebx]
cmp dword [eax + 0x4c], edi
mov dword [ebp - 0x2c], edi
jbe 0x10139dd1
mov edi, eax
xor ecx, ecx
mov edx, dword [eax + 0x48]
movzx edx, word [ecx + edx]
cmp dx, 0x3e8
jb 0x10139d9d
cmp dx, 0x44c
jae 0x10139d9d
mov edx, dword [eax + 0x48]
movzx edx, word [ecx + edx]
lea edx, [ebp + edx - 0x400]
or byte [edx], 1
mov edx, dword [eax + 0x48]
movzx edx, word [ecx + edx]
cmp dx, 0x384
jb 0x10139dc3
cmp dx, 0x3e8
jae 0x10139dc3
mov edx, dword [eax + 0x48]
movzx edx, word [ecx + edx]
lea edx, [ebp + edx - 0x39c]
or byte [edx], 2
inc dword [ebp - 0x2c]
mov edx, dword [ebp - 0x2c]
add ecx, 0x1c
cmp edx, dword [edi + 0x4c]
jb 0x10139d77
xor eax, eax
cmp byte [ebp + eax - 0x18], 3
jne 0x10139ddd
inc dword [ebp - 0x5c]
inc eax
cmp eax, 0x64
jb 0x10139dd3
jmp 0x10139dfa
cmp byte [ebp - 0x19], 0
je 0x10139eb7
mov dword [ebp - 0x5c], 1
mov byte [ebp - 0x18], 3
cmp dword [ebp - 0x5c], 0
je 0x10139eb7
mov eax, dword [ebp - 0x5c]
xor ecx, ecx
push 4
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.1013fc7d
test eax, eax
pop ecx
mov dword [ebx + 0xc], eax
je 0x10139b9b
mov eax, dword [ebp - 0x5c]
xor ecx, ecx
push 4
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.1013fc7d
test eax, eax
pop ecx
mov dword [ebx + 0x10], eax
je 0x10139b9b
mov eax, dword [ebp - 0x5c]
xor ecx, ecx
push 4
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.1013fc7d
test eax, eax
pop ecx
mov dword [ebx + 0x14], eax
je 0x10139b9b
mov eax, dword [ebp - 0x30]
test byte [eax + 0x28], 0x10
je 0x10139e99
mov eax, dword [ebp - 0x5c]
xor ecx, ecx
push 4
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.1013fc7d
test eax, eax
pop ecx
mov dword [ebx + 0x18], eax
je 0x10139b9b
mov eax, dword [ebx + 0x38]
mov ecx, dword [ebp - 0x5c]
mov esi, dword [ebp - 0x30]
mov dword [eax + 0x2c], ecx
mov eax, dword [ebx + 0x38]
mov ecx, dword [ebx + 0x14]
mov dword [eax + 0x20], ecx
mov eax, dword [ebx + 0x38]
mov ecx, dword [ebx + 0x18]
mov dword [eax + 0x24], ecx
xor edi, edi
cmp dword [ebp - 0x24], edi
je 0x10139eff
mov dword [ebp - 0x38], edi
cmp byte [ebp + edi - 0x18], 3
jne 0x10139ef7
mov ecx, dword [ebx + 0xc]
add ecx, dword [ebp - 0x38]
mov eax, dword [ebx]
mov eax, dword [eax]
push ecx
mov ecx, dword [ebx + 0x10]
add ecx, dword [ebp - 0x38]
push ecx
push edi
push dword [ebx]
call dword [eax + 0x18c]
test edi, edi
mov eax, dword [ebx + 0x14]
mov ecx, dword [ebp - 0x38]
mov dword [ecx + eax], edi
je 0x10139ef3
inc dword [ebp - 0x40]
add dword [ebp - 0x38], 4
inc edi
cmp edi, 0x64
jb 0x10139ec1
xor edi, edi
test dword [esi + 0x28], 0x40000
je 0x10139f2b
mov eax, dword [ebx]
cmp dword [eax + 0xa0], edi
je 0x10139f17
cmp dword [eax + 0x74], edi
jne 0x10139f1f
cmp dword [eax + 0x80], edi
je 0x10139f2b
cmp dword [ebp - 0x24], edi
je 0x10139f2b
mov eax, dword [ebx + 0x38]
mov byte [eax + 0x36], 1
test byte [esi + 0x28], 0x20
je 0x1013a641
mov eax, dword [ebx + 0x38]
mov cl, byte [ebp - 0x19]
mov byte [eax + 0x35], cl
test byte [esi + 0x28], 0x40
je 0x10139f4b
mov eax, dword [ebx + 0x38]
mov byte [eax + 0x34], 1
mov eax, dword [ebx + 0x38]
cmp byte [eax + 0x34], 0
push 3
pop esi
je 0x10139f5a
push 6
pop esi
cmp byte [eax + 0x36], 0
je 0x10139f63
add esi, 4
mov ecx, dword [ebp - 0x5c]
cmp ecx, edi
je 0x10139f70
mov dword [eax + 0x30], esi
lea esi, [esi + ecx*2]
call sym.rt3d.dll_public:_static_class_e3_MEM____stdcall_e3_MEM::Create_void_
mov ecx, dword [ebx + 0x38]
mov dword [ecx + 8], eax
mov eax, dword [ebx + 0x38]
cmp dword [eax + 8], edi
je 0x10139b9b
push 0x20
call sub.MSVCR80.dll_void____cdecl_operator_new_unsigned_int_
cmp eax, edi
pop ecx
je 0x10139fa3
mov ecx, dword [ebx + 0x38]
push esi
push dword [ecx + 8]
mov ecx, eax
call fcn.10138170
jmp 0x10139fa5
xor eax, eax
mov ecx, dword [ebx + 0x38]
mov dword [ecx + 0xc], eax
mov eax, dword [ebx + 0x38]
cmp dword [eax + 0xc], edi
je 0x10139b9b
xor ecx, ecx
push 4
pop edx
mov eax, esi
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.1013fc7d
xor esi, esi
cmp eax, esi
pop ecx
mov dword [ebx + 0x20], eax
je 0x10139b9b
cmp dword [ebx + 8], esi
mov dword [ebp - 0x2c], esi
jbe 0x1013a614
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x74], esi
mov edi, dword [ebx + 0x30]
add edi, dword [ebp - 0x74]
test byte [edi + 8], 2
mov dword [ebp - 0x60], edi
jne 0x1013a5fb
mov esi, dword [ebx]
push dword [ebp - 0x2c]
mov ecx, esi
call fcn.1010d84d
mov dword [ebp - 0x48], eax
mov eax, dword [ebx + 0x38]
cmp byte [eax + 0x36], 0
je 0x1013a023
mov eax, dword [esi + 0xa0]
add eax, dword [ebp - 0x28]
jmp 0x1013a025
xor eax, eax
xor ecx, ecx
cmp eax, ecx
mov dword [ebp - 0x38], eax
je 0x1013a035
cmp dword [eax], ecx
jne 0x1013a035
mov dword [ebp - 0x38], ecx
mov eax, dword [esi + 0x94]
add eax, dword [ebp - 0x28]
test byte [edi + 8], 1
mov dword [ebp - 0x50], eax
je 0x1013a352
cmp dword [edi + 4], ecx
mov dword [ebp - 0x40], ecx
jle 0x1013a5fb
push dword [ebx + 0x3c]
push 3
push dword [ebp - 0x30]
call fcn.10139add
add esp, 0xc
test eax, eax
jl 0x1013ba26
mov ecx, dword [ebx + 0x38]
push 3
push dword [ebp - 0x2c]
call fcn.101382c7
test eax, eax
mov dword [ebp - 0x68], eax
je 0x10139b9b
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x40]
mov esi, dword [eax + ecx*4]
mov ecx, dword [ebx]
mov eax, esi
sub eax, dword [ecx + 0xf8]
push 0x11
cdq
pop edi
idiv edi
and dword [ebp - 0x44], 0
mov edx, eax
imul edx, edx, 6
add edx, dword [ecx + 0x100]
mov ecx, dword [ebp - 0x68]
mov dword [ecx + 8], eax
add ecx, 0x14
add esi, 5
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x20], esi
mov ecx, dword [ebx]
mov edi, dword [ecx + 0x100]
test edi, edi
mov eax, dword [ebp - 0x50]
mov eax, dword [eax]
je 0x1013a0e3
mov edx, dword [ebp - 0x24]
mov esi, dword [ebp - 0x44]
movzx edx, word [edx + esi*2]
jmp 0x1013a0e6
mov edx, dword [ebp - 0x44]
mov esi, dword [eax + edx*4]
mov edx, dword [ebp - 0x30]
test word [edx + 0x28], 0x200
mov dword [ebp - 0x34], esi
je 0x1013a111
imul esi, esi, 0xc
add esi, dword [ecx + 0x58]
push 1
lea eax, [ebp - 0x90]
push eax
push esi
push dword [edx + 0x24]
call sym.rt3d.dll_public:_void___stdcall_MATRIX3D::TransformPoints_struct_POINT3D_const___struct_POINT3D___int_const
jmp 0x1013a13f
mov edx, dword [ebp - 0x44]
test edi, edi
lea edi, [ebp - 0x90]
je 0x1013a133
mov esi, dword [ebp - 0x24]
movzx esi, word [esi + edx*2]
mov esi, dword [eax + esi*4]
imul esi, esi, 0xc
add esi, dword [ecx + 0x58]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jmp 0x1013a142
mov esi, dword [eax + edx*4]
imul esi, esi, 0xc
add esi, dword [ecx + 0x58]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebx + 0x20]
fld dword [ebp - 0x90]
fstp dword [eax]
mov eax, dword [ebx + 0x20]
fld dword [ebp - 0x8c]
push 3
fstp dword [eax + 4]
mov eax, dword [ebx + 0x20]
fld dword [ebp - 0x88]
fstp dword [eax + 8]
mov ecx, dword [ebx + 0x38]
cmp byte [ecx + 0x34], 0
pop eax
je 0x1013a19e
mov eax, dword [ebx]
mov eax, dword [eax + 0xec]
mov ecx, dword [ebp - 0x20]
mov ecx, dword [ecx]
mov eax, dword [eax + ecx*8]
mov ecx, dword [ebx + 0x20]
fld dword [eax]
fstp dword [ecx + 0xc]
mov ecx, dword [ebx + 0x20]
fld dword [eax + 4]
push 6
fstp dword [ecx + 0x10]
mov ecx, dword [ebx + 0x20]
fld dword [eax + 8]
pop eax
fstp dword [ecx + 0x14]
mov ecx, dword [ebx + 0x38]
cmp byte [ecx + 0x36], 0
je 0x1013a258
mov ecx, dword [ebp - 0x38]
test ecx, ecx
je 0x1013a238
mov edi, dword [ebx]
cmp dword [edi + 0x100], 0
mov ecx, dword [ecx]
je 0x1013a1cf
mov esi, dword [ebp - 0x24]
movzx esi, word [esi + edx*2]
mov esi, dword [ecx + esi*4]
jmp 0x1013a1d2
mov esi, dword [ecx + edx*4]
imul esi, esi, 0xc
add esi, dword [edi + 0x74]
lea edi, [ebp - 0xa4]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
fld dword [ebp - 0xa4]
mov esi, dword [ebx + 0x20]
fstp dword [esi + eax*4]
mov esi, dword [ebx + 0x20]
fld dword [ebp - 0xa0]
fstp dword [esi + eax*4 + 4]
mov esi, dword [ebx + 0x20]
fld dword [ebp - 0x9c]
fstp dword [esi + eax*4 + 8]
mov edi, dword [ebx]
mov esi, dword [edi + 0x60]
test esi, esi
je 0x1013a234
cmp dword [edi + 0x100], 0
je 0x1013a225
mov edi, dword [ebp - 0x24]
movzx edi, word [edi + edx*2]
mov ecx, dword [ecx + edi*4]
jmp 0x1013a228
mov ecx, dword [ecx + edx*4]
mov edi, dword [ebx + 0x20]
fld dword [esi + ecx*4]
fstp dword [edi + eax*4 + 0xc]
jmp 0x1013a255
fld1
jmp 0x1013a24e
mov ecx, dword [ebx + 0x20]
fld1
fst dword [ecx + eax*4]
mov ecx, dword [ebx + 0x20]
fst dword [ecx + eax*4 + 4]
mov ecx, dword [ebx + 0x20]
fst dword [ecx + eax*4 + 8]
mov ecx, dword [ebx + 0x20]
fstp dword [ecx + eax*4 + 0xc]
add eax, 4
xor esi, esi
cmp dword [ebp - 0x5c], esi
jle 0x1013a2d8
fldz
shl eax, 2
mov dword [ebp - 0x58], eax
mov eax, dword [ebx + 0xc]
mov ecx, dword [eax + esi*4]
mov eax, dword [ebx + 0x10]
mov eax, dword [eax + esi*4]
add eax, dword [ebp - 0x28]
mov eax, dword [eax]
test eax, eax
je 0x1013a2a2
mov edi, dword [ebx]
cmp dword [edi + 0x100], 0
je 0x1013a29d
mov edi, dword [ebp - 0x24]
movzx edi, word [edi + edx*2]
mov eax, dword [eax + edi*4]
mov edi, dword [ecx + eax*8]
mov eax, dword [ecx + eax*8 + 4]
mov dword [ebp - 0x70], edi
jmp 0x1013a2b1
mov eax, dword [eax + edx*4]
jmp 0x1013a291
fst dword [ebp - 0x78]
fst dword [ebp - 0x7c]
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebx + 0x20]
fld dword [ebp - 0x70]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x58]
fstp dword [eax + ecx]
mov ecx, dword [ebx + 0x20]
fld dword [ebp - 0x6c]
add eax, 8
fstp dword [eax + ecx - 4]
inc esi
cmp esi, dword [ebp - 0x5c]
mov dword [ebp - 0x58], eax
jl 0x1013a267
fstp st(0)
push dword [ebp - 0x48]
push dword [ebx + 0x20]
push dword [ebp - 0x34]
push dword [ebx + 0x38]
call fcn.101385c6
mov ecx, dword [ebp - 0x54]
add esp, 0x10
cmp eax, 0xffffffff
mov dword [ecx], eax
je 0x10139b9b
mov eax, dword [ebp - 0x68]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x1013a323
mov eax, dword [ebx]
cmp dword [eax + 0x100], 0
mov eax, dword [ebp - 0x44]
je 0x1013a31e
mov edx, dword [ebp - 0x24]
movzx edx, word [edx + eax*2]
mov dword [ecx + eax*4], edx
jmp 0x1013a326
mov dword [ecx + eax*4], eax
jmp 0x1013a326
mov eax, dword [ebp - 0x44]
add dword [ebp - 0x20], 4
add dword [ebp - 0x54], 4
inc eax
cmp eax, 3
mov dword [ebp - 0x44], eax
jl 0x1013a0c6
inc dword [ebp - 0x40]
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x40]
cmp ecx, dword [eax + 4]
jl 0x1013a057
jmp 0x1013a5fb
push dword [ebp - 0x2c]
mov ecx, esi
call fcn.1003ef40
push dword [ebx + 0x3c]
movzx esi, ax
push esi
push dword [ebp - 0x30]
mov dword [ebp - 0x34], esi
call fcn.10139add
add esp, 0xc
test eax, eax
jl 0x1013ba26
mov ecx, dword [ebx + 0x38]
push esi
push dword [ebp - 0x2c]
call fcn.101382c7
test eax, eax
mov dword [ebp - 0x20], eax
je 0x10139b9b
mov eax, dword [edi]
mov eax, dword [eax]
mov esi, dword [ebx]
sub eax, dword [esi + 0xf8]
push 0x11
cdq
pop ecx
idiv ecx
mov edx, dword [ebp - 0x20]
mov ecx, eax
imul ecx, ecx, 6
add ecx, dword [esi + 0x100]
xor esi, esi
cmp dword [ebp - 0x34], esi
mov dword [ebp - 0x3c], ecx
mov dword [edx + 8], eax
mov dword [ebp - 0x4c], esi
jle 0x1013a5fb
mov eax, edx
add eax, 0x14
mov dword [ebp - 0x54], eax
jmp 0x1013a3d7
mov edi, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x4c]
mov edx, dword [ebx]
cmp dword [edx + 0x100], 0
mov eax, dword [ebp - 0x50]
mov eax, dword [eax]
je 0x1013a3f0
movzx ecx, word [ecx + esi*2]
mov ecx, dword [eax + ecx*4]
jmp 0x1013a3f3
mov ecx, dword [eax + esi*4]
mov esi, dword [ebp - 0x30]
test word [esi + 0x28], 0x200
mov dword [ebp - 0x58], ecx
je 0x1013a41b
imul ecx, ecx, 0xc
add ecx, dword [edx + 0x58]
push 1
lea eax, [ebp - 0xb0]
push eax
push ecx
push dword [esi + 0x24]
call sym.rt3d.dll_public:_void___stdcall_MATRIX3D::TransformPoints_struct_POINT3D_const___struct_POINT3D___int_const
jmp 0x1013a433
mov ecx, dword [ebp - 0x4c]
mov esi, dword [eax + ecx*4]
imul esi, esi, 0xc
add esi, dword [edx + 0x58]
lea edi, [ebp - 0xb0]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x60]
mov eax, dword [ebx + 0x20]
fld dword [ebp - 0xb0]
fstp dword [eax]
mov eax, dword [ebx + 0x20]
fld dword [ebp - 0xac]
push 3
fstp dword [eax + 4]
mov eax, dword [ebx + 0x20]
fld dword [ebp - 0xa8]
fstp dword [eax + 8]
mov ecx, dword [ebx + 0x38]
cmp byte [ecx + 0x34], 0
pop eax
je 0x1013a4b8
mov eax, dword [ebx]
mov ecx, dword [eax + 0x94]
push dword [ebp - 0x4c]
add ecx, dword [ebp - 0x28]
push ecx
push edi
push eax
call fcn.10138712
add esp, 0x10
test eax, eax
je 0x1013a49d
mov ecx, dword [ebx + 0x20]
fld dword [eax]
fstp dword [ecx + 0xc]
mov ecx, dword [ebx + 0x20]
fld dword [eax + 4]
fstp dword [ecx + 0x10]
mov ecx, dword [ebx + 0x20]
fld dword [eax + 8]
fstp dword [ecx + 0x14]
fld1
jmp 0x1013a4b3
mov eax, dword [ebx + 0x20]
fldz
fst dword [eax + 0xc]
mov eax, dword [ebx + 0x20]
fstp dword [eax + 0x10]
fld1
mov eax, dword [ebx + 0x20]
fst dword [eax + 0x14]
push 6
pop eax
jmp 0x1013a4ba
fld1
mov ecx, dword [ebx + 0x38]
cmp byte [ecx + 0x36], 0
je 0x1013a53c
cmp dword [ebp - 0x38], 0
je 0x1013a526
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ecx]
lea ecx, [ecx + edx*4]
mov esi, dword [ecx]
mov edx, dword [ebx]
imul esi, esi, 0xc
add esi, dword [edx + 0x74]
mov edx, dword [ebx + 0x20]
lea edi, [ebp + 0x60]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
fld dword [ebp + 0x60]
fstp dword [edx + eax*4]
mov edx, dword [ebx + 0x20]
fld dword [ebp + 0x64]
fstp dword [edx + eax*4 + 4]
mov edx, dword [ebx + 0x20]
fld dword [ebp + 0x68]
fstp dword [edx + eax*4 + 8]
mov edx, dword [ebx]
mov edx, dword [edx + 0x60]
test edx, edx
je 0x1013a51a
mov ecx, dword [ecx]
fstp st(0)
mov esi, dword [ebx + 0x20]
fld dword [edx + ecx*4]
fstp dword [esi + eax*4 + 0xc]
jmp 0x1013a521
mov ecx, dword [ebx + 0x20]
fstp dword [ecx + eax*4 + 0xc]
add eax, 4
jmp 0x1013a53e
mov ecx, dword [ebx + 0x20]
fst dword [ecx + eax*4]
mov ecx, dword [ebx + 0x20]
fst dword [ecx + eax*4 + 4]
mov ecx, dword [ebx + 0x20]
fst dword [ecx + eax*4 + 8]
jmp 0x1013a51a
fstp st(0)
xor edx, edx
cmp dword [ebp - 0x5c], edx
jle 0x1013a5b8
fldz
mov esi, eax
shl esi, 2
mov eax, dword [ebx + 0xc]
mov ecx, dword [eax + edx*4]
mov eax, dword [ebx + 0x10]
mov eax, dword [eax + edx*4]
add eax, dword [ebp - 0x28]
mov eax, dword [eax]
test eax, eax
je 0x1013a576
mov edi, dword [ebp - 0x4c]
mov eax, dword [eax + edi*4]
mov edi, dword [ecx + eax*8]
mov eax, dword [ecx + eax*8 + 4]
mov dword [ebp - 0x98], edi
jmp 0x1013a58e
fst dword [ebp - 0x80]
fst dword [ebp - 0x84]
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x80]
fld dword [ebp - 0x98]
mov dword [ebp - 0x94], eax
mov eax, dword [ebx + 0x20]
fstp dword [esi + eax]
mov eax, dword [ebx + 0x20]
fld dword [ebp - 0x94]
add esi, 8
fstp dword [eax + esi - 4]
inc edx
cmp edx, dword [ebp - 0x5c]
jl 0x1013a54c
fstp st(0)
push dword [ebp - 0x48]
push dword [ebx + 0x20]
push dword [ebp - 0x58]
push dword [ebx + 0x38]
call fcn.101385c6
mov ecx, dword [ebp - 0x54]
add esp, 0x10
cmp eax, 0xffffffff
mov dword [ecx], eax
je 0x10139b9b
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax + 0xc]
test ecx, ecx
mov eax, dword [ebp - 0x4c]
je 0x1013a5ea
mov dword [ecx + eax*4], eax
add dword [ebp - 0x54], 4
inc eax
cmp eax, dword [ebp - 0x34]
mov dword [ebp - 0x4c], eax
jl 0x1013a3ce
inc dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
add dword [ebp - 0x74], 0xc
add dword [ebp - 0x28], 4
cmp eax, dword [ebx + 8]
jb 0x10139fed
xor esi, esi
mov eax, dword [ebx + 0x38]
cmp dword [eax + 0x1c], esi
je 0x1013a631
push dword [ebx + 0x3c]
push dword [ebp - 0x30]
call fcn.1013949b
cmp eax, esi
pop ecx
pop ecx
jl 0x1013ba26
push dword [ebx + 0x20]
call sub.MSVCR80.dll_void___cdecl_operator_delete___void__
mov dword [ebx + 0x20], esi
jmp 0x1013b5f0
cmp dword [esi + 0x14], edi
mov dword [ebp - 0x58], edi
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x50], edi
jg 0x1013b5e6
cmp dword [esi + 0x1c], edi
jg 0x1013b5e6
push 0x154
call sub.MSVCR80.dll_void____cdecl_operator_new_unsigned_int_
cmp eax, edi
pop ecx
je 0x1013a67c
push dword [ebx + 0x3c]
mov ecx, eax
call fcn.10119735
mov esi, eax
mov dword [ebp - 0x44], eax
jmp 0x1013a681
xor esi, esi
mov dword [ebp - 0x44], esi
cmp esi, edi
je 0x10139b9b
mov eax, dword [ebp - 0x30]
mov dword [eax + 0xc], esi
lea edi, [esi + 0x13c]
mov eax, dword [edi]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebx + 0x34]
mov dword [edi], eax
mov ecx, dword [eax]
push eax
call dword [ecx + 4]
mov eax, dword [ebx + 0x38]
push dword [eax]
push esi
call fcn.101386e7
mov eax, dword [esi]
pop ecx
pop ecx
mov ecx, dword [ebx]
push 1
push dword [ecx + 0x5c]
push esi
call dword [eax + pe_nt_image_headers32]
test eax, eax
jl 0x1013ba26
xor edi, edi
cmp dword [ebp - 0x40], edi
jne 0x1013a6dd
mov eax, dword [ebx + 0x38]
cmp byte [eax + 0x36], 0
je 0x1013a6e7
mov eax, dword [ebp - 0x30]
or dword [eax + 0x28], 0x3000
mov eax, dword [ebp - 0x30]
test word [eax + 0x28], 0x200
mov eax, dword [ebx]
je 0x1013a70a
push dword [eax + 0x5c]
push dword [esi + 0x58]
push dword [eax + 0x58]
mov eax, dword [ebp - 0x30]
push dword [eax + 0x24]
call sym.rt3d.dll_public:_void___stdcall_MATRIX3D::TransformPoints_struct_POINT3D_const___struct_POINT3D___int_const
jmp 0x1013a71f
mov ecx, dword [eax + 0x5c]
imul ecx, ecx, 0xc
push ecx
push dword [eax + 0x58]
push dword [esi + 0x58]
call sub.MSVCR80.dll_memcpy
add esp, 0xc
mov eax, dword [esi]
push 1
push 0xffffffffffffffff
push dword [ebp - 0x24]
push esi
call dword [eax + 0x118]
cmp eax, edi
jl 0x1013ba26
cmp dword [esi + 0xa8], edi
mov dword [ebp - 0x28], edi
je 0x1013a86c
cmp byte [ebp - 0x19], 0
je 0x1013a782
mov eax, dword [ebp - 0x30]
test byte [eax + 0x28], 0x10
je 0x1013a76e
mov eax, dword [0x10327408]
mov ecx, dword [eax]
push eax
call dword [ecx + 0xc4]
cmp eax, edi
mov dword [ebx + 0x2c], eax
je 0x10139b9b
mov eax, dword [esi]
push 1
push edi
push esi
call dword [eax + 0x11c]
cmp eax, edi
jl 0x1013ba26
mov eax, dword [ebp - 0x30]
test byte [eax + 0x28], 0x40
je 0x1013a7b1
mov eax, dword [0x10327408]
mov ecx, dword [eax]
push eax
call dword [ecx + 0xc8]
push 1
push 1
mov dword [ebx + 0x24], eax
mov eax, dword [esi]
push esi
call dword [eax + 0x120]
cmp eax, edi
jl 0x1013ba26
mov eax, dword [ebx]
cmp dword [eax + 0x8c], edi
je 0x1013a7cc
mov eax, dword [esi]
push esi
call dword [eax + 0x13c]
cmp eax, edi
jl 0x1013ba26
mov eax, dword [ebp - 0x30]
test word [eax + 0x28], 0x1000
je 0x1013a7ec
lea eax, [ebp - 0x58]
push eax
push 0x14
mov ecx, esi
call fcn.101109cf
cmp eax, edi
jl 0x1013ba26
mov eax, dword [ebp - 0x30]
test word [eax + 0x28], 0x4000
je 0x1013a80c
lea eax, [ebp - 0x38]
push eax
push 0x15
mov ecx, esi
call fcn.101109cf
cmp eax, edi
jl 0x1013ba26
mov eax, dword [ebp - 0x30]
test word [eax + 0x28], 0x2000
je 0x1013a84a
push 1
push 1
push edi
push 0x16
mov ecx, esi
call fcn.101108fb
cmp eax, edi
jl 0x1013ba26
mov eax, dword [esi]
push 0x16
push esi
call dword [eax + 0x148]
mov eax, dword [eax + 0x14]
cmp eax, edi
je 0x1013a847
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x50], eax
jmp 0x1013a84a
mov dword [ebp - 0x50], edi
mov eax, dword [ebx]
cmp dword [eax + 0x90], edi
je 0x1013a866
mov eax, dword [esi]
push esi
call dword [eax + 0x12c]
cmp eax, edi
jge 0x1013a86c
jmp 0x1013ba26
mov eax, dword [eax + 0x54]
mov dword [esi + 0x54], eax
cmp dword [ebx + 8], edi
mov dword [ebp - 0x2c], edi
jbe 0x1013ae0f
mov edi, dword [ebp - 0x2c]
imul edi, edi, 0xc
add edi, dword [ebx + 0x30]
test byte [edi + 8], 2
mov dword [ebp - 0x54], edi
jne 0x1013adfe
push dword [ebp - 0x2c]
mov ecx, dword [ebx]
call fcn.1010d84d
cmp byte [ebp - 0x19], 0
mov dword [ebp - 0x20], eax
je 0x1013a8b1
mov eax, dword [ebx]
mov eax, dword [eax + 0x98]
mov ecx, dword [ebp - 0x2c]
lea eax, [eax + ecx*4]
jmp 0x1013a8b3
xor eax, eax
xor edx, edx
cmp eax, edx
mov dword [ebp - 0x4c], eax
je 0x1013a8c3
cmp dword [eax], edx
jne 0x1013a8c3
mov dword [ebp - 0x4c], edx
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebx]
mov eax, dword [eax + 0x94]
shl ecx, 2
add eax, ecx
test byte [edi + 8], 1
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x34], eax
je 0x1013abe5
cmp dword [edi + 4], edx
mov dword [ebp - 0x74], edx
jle 0x1013adfe
mov eax, dword [ebp - 0x54]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x74]
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebx]
mov dword [ebp - 0x60], eax
sub eax, dword [ecx + 0xf8]
push 0x11
pop edi
cdq
idiv edi
push 3
push dword [ebp - 0x28]
push esi
mov edi, eax
mov eax, dword [esi]
imul edi, edi, 6
add edi, dword [ecx + 0x100]
call dword [eax + 0xf4]
test eax, eax
jl 0x1013ba26
mov eax, dword [ebp - 0x28]
mov ecx, dword [esi + 0x94]
shl eax, 2
add ecx, eax
cmp dword [ebx + 0x24], 0
mov dword [ebp - 0x3c], ecx
je 0x1013a950
mov ecx, dword [esi + 0x9c]
add ecx, eax
mov dword [ebp - 0x68], ecx
jmp 0x1013a954
and dword [ebp - 0x68], 0
mov ecx, dword [ebp - 0x58]
test ecx, ecx
je 0x1013a963
mov edx, dword [ebp - 0x60]
mov edx, dword [edx]
mov dword [ecx + eax], edx
cmp dword [ebp - 0x38], 0
je 0x1013a986
mov ecx, dword [ebx]
mov eax, dword [ebp - 0x60]
sub eax, dword [ecx + 0xf8]
push 0x11
cdq
pop ecx
idiv ecx
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x38]
shl ecx, 2
mov dword [edx + ecx], eax
mov ecx, dword [ebx]
xor eax, eax
cmp dword [ecx + 0x100], eax
je 0x1013a9f2
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x48], edi
mov eax, dword [ebp - 0x48]
movzx eax, word [eax]
mov ecx, dword [ebp - 0x34]
mov ecx, dword [ecx]
mov eax, dword [ecx + eax*4]
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x24]
mov edx, dword [edx]
add dword [ebp - 0x48], 2
add dword [ebp - 0x24], 4
cmp dword [ebp - 0x24], 0xc
mov dword [ecx + edx], eax
jl 0x1013a998
mov ecx, dword [ebp - 0x50]
test ecx, ecx
je 0x1013aa26
mov eax, dword [ebp - 0x28]
shl eax, 2
add ecx, eax
mov dword [ebp - 0x3c], ecx
xor eax, eax
mov dword [ebp - 0x48], edi
mov ecx, dword [ebp - 0x48]
movzx ecx, word [ecx]
mov edx, dword [ebp - 0x3c]
mov edx, dword [edx]
add dword [ebp - 0x48], 2
mov dword [eax + edx], ecx
add eax, 4
cmp eax, 0xc
jl 0x1013a9d6
jmp 0x1013aa26
mov ecx, dword [ebp - 0x34]
mov ecx, dword [ecx]
mov edx, dword [ebp - 0x3c]
mov ecx, dword [eax + ecx]
mov edx, dword [edx]
mov dword [eax + edx], ecx
add eax, 4
cmp eax, 0xc
jl 0x1013a9f2
mov edx, dword [ebp - 0x50]
test edx, edx
je 0x1013aa26
mov eax, dword [ebp - 0x28]
shl eax, 2
xor ecx, ecx
add eax, edx
mov edx, dword [eax]
mov dword [edx + ecx*4], ecx
inc ecx
cmp ecx, 3
jl 0x1013aa1b
mov eax, dword [ebx]
mov ecx, dword [eax + 0x8c]
test ecx, ecx
je 0x1013aa57
mov eax, dword [ebp - 0x60]
movzx edx, byte [eax + 4]
mov eax, dword [ebp - 0x2c]
shl eax, 2
xor edx, dword [ecx + eax]
and edx, 7
xor edx, dword [ecx + eax]
mov eax, dword [ebp - 0x28]
mov ecx, dword [esi + 0x8c]
shl eax, 2
mov dword [eax + ecx], edx
cmp dword [ebp - 0x4c], 0
je 0x1013ab49
push dword [ebp - 0x28]
mov ecx, esi
call fcn.10125002
test eax, eax
mov dword [ebp - 0x48], eax
je 0x10139b9b
xor ecx, ecx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x3c], edi
jmp 0x1013aa83
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebx]
xor edx, edx
cmp dword [ebx + 0x2c], edx
je 0x1013ab05
cmp dword [eax + 0x100], edx
mov edx, dword [ebp - 0x4c]
mov eax, dword [eax + 0x64]
mov edx, dword [edx]
je 0x1013aaa4
movzx ecx, word [edi]
mov ecx, dword [edx + ecx*4]
jmp 0x1013aaa7
mov ecx, dword [edx + ecx]
mov edx, dword [eax + ecx*8]
mov dword [ebp - 0x7c], edx
mov eax, dword [eax + ecx*8 + 4]
push 0
lea edx, [ebp - 0xa0]
push edx
lea edx, [ebp - 0x7c]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x98]
mov eax, dword [ebx + 0x2c]
mov ecx, dword [eax]
lea edx, [ebp - 0x94]
push edx
lea edx, [ebp - 0xa0]
push edx
push eax
call dword [ecx + 0x10]
mov ecx, dword [ebp - 0x48]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x24]
mov edi, dword [ebp - 0x94]
mov dword [eax + edx], edi
mov ecx, dword [ecx]
cmp dword [eax + ecx], 0xffffffff
je 0x10139b9b
mov ecx, eax
jmp 0x1013ab32
cmp dword [eax + 0xf8], edx
je 0x1013ab22
movzx eax, word [edi]
mov edx, dword [ebp - 0x4c]
mov edx, dword [edx]
mov edi, dword [ebp - 0x48]
mov edi, dword [edi]
mov eax, dword [edx + eax*4]
mov dword [ecx + edi], eax
jmp 0x1013ab32
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax]
mov edx, dword [ebp - 0x48]
mov edx, dword [edx]
mov eax, dword [ecx + eax]
mov dword [ecx + edx], eax
mov edi, dword [ebp - 0x3c]
inc edi
add ecx, 4
inc edi
cmp ecx, 0xc
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x24], ecx
jl 0x1013aa80
xor edi, edi
cmp dword [ebp - 0x68], edi
je 0x1013ab91
mov eax, dword [ebp - 0x60]
add eax, 5
mov dword [ebp - 0x48], eax
mov eax, dword [ebx]
mov ecx, dword [ebp - 0x48]
mov ecx, dword [ecx]
mov eax, dword [eax + 0xec]
push dword [eax + ecx*8]
mov ecx, dword [ebx + 0x24]
call fcn.100f1bb4
mov ecx, dword [ebp - 0x68]
mov edx, dword [ecx]
mov dword [edi + edx], eax
mov eax, dword [ecx]
cmp dword [edi + eax], 0xffffffff
je 0x10139b9b
add dword [ebp - 0x48], 4
add edi, 4
cmp edi, 0xc
jl 0x1013ab59
mov eax, dword [esi + 0x90]
test eax, eax
je 0x1013aba7
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x20]
shl ecx, 2
mov dword [eax + ecx], edx
mov ecx, dword [esi + 0x88]
test ecx, ecx
je 0x1013abcb
mov eax, dword [ebx]
mov edx, dword [eax + 0x88]
mov eax, dword [ebp - 0x2c]
shl eax, 2
mov edx, dword [eax + edx]
mov eax, dword [ebp - 0x28]
shl eax, 2
mov dword [ecx + eax], edx
inc dword [ebp - 0x28]
inc dword [ebp - 0x74]
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x74]
cmp ecx, dword [eax + 4]
jl 0x1013a8ef
jmp 0x1013adfe
push dword [ebp - 0x2c]
mov ecx, dword [ebx]
call fcn.1003ef40
mov ecx, dword [esi]
movzx eax, ax
push eax
push dword [ebp - 0x28]
mov dword [ebp - 0x24], eax
push esi
call dword [ecx + 0xf4]
test eax, eax
jl 0x1013ba26
mov eax, dword [ebp - 0x24]
mov edi, dword [ebp - 0x28]
shl eax, 2
push eax
mov eax, dword [ebp - 0x34]
push dword [eax]
mov eax, dword [esi + 0x94]
shl edi, 2
push dword [edi + eax]
call sub.MSVCR80.dll_memcpy
mov eax, dword [ebx]
mov eax, dword [eax + 0x8c]
add esp, 0xc
test eax, eax
je 0x1013ac48
mov edx, dword [ebp - 0x3c]
mov ecx, dword [esi + 0x8c]
mov eax, dword [eax + edx]
mov dword [edi + ecx], eax
mov ecx, dword [ebp - 0x58]
test ecx, ecx
jne 0x1013ac54
cmp dword [ebp - 0x38], ecx
je 0x1013ac82
mov eax, dword [ebp - 0x54]
mov eax, dword [eax]
test eax, eax
je 0x1013ac82
test ecx, ecx
mov eax, dword [eax]
je 0x1013ac68
mov edx, dword [eax]
mov dword [ecx + edi], edx
cmp dword [ebp - 0x38], 0
je 0x1013ac82
mov ecx, dword [ebx]
sub eax, dword [ecx + 0xf8]
push 0x11
cdq
pop ecx
idiv ecx
mov ecx, dword [ebp - 0x38]
mov dword [ecx + edi], eax
mov ecx, dword [ebp - 0x50]
test ecx, ecx
je 0x1013ac9d
xor eax, eax
cmp dword [ebp - 0x24], eax
jbe 0x1013ac9d
add edi, ecx
mov ecx, dword [edi]
mov dword [ecx + eax*4], eax
inc eax
cmp eax, dword [ebp - 0x24]
jb 0x1013ac92
cmp dword [ebp - 0x4c], 0
je 0x1013ad5c
push dword [ebp - 0x28]
mov ecx, esi
call fcn.10125002
mov edi, eax
test edi, edi
je 0x10139b9b
and dword [ebp - 0x60], 0
cmp dword [ebp - 0x24], 0
jbe 0x1013ad5c
cmp dword [ebx + 0x2c], 0
je 0x1013ad3a
mov eax, dword [ebp - 0x4c]
mov ecx, dword [eax]
mov eax, dword [ebx]
mov eax, dword [eax + 0x64]
mov edx, dword [ebp - 0x60]
mov ecx, dword [ecx + edx*4]
mov edx, dword [eax + ecx*8]
mov dword [ebp - 0x84], edx
mov eax, dword [eax + ecx*8 + 4]
push 0
lea edx, [ebp - 0x8c]
push edx
lea edx, [ebp - 0x84]
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x98]
mov eax, dword [ebx + 0x2c]
mov ecx, dword [eax]
lea edx, [ebp - 0x6c]
push edx
lea edx, [ebp - 0x8c]
push edx
push eax
call dword [ecx + 0x10]
mov eax, dword [edi]
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x60]
mov dword [eax + edx*4], ecx
mov eax, dword [edi]
mov ecx, edx
cmp dword [eax + ecx*4], 0xffffffff
je 0x10139b9b
jmp 0x1013ad4d
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x4c]
mov ecx, dword [ecx]
mov edx, dword [edi]
shl eax, 2
mov ecx, dword [eax + ecx]
mov dword [eax + edx], ecx
inc dword [ebp - 0x60]
mov eax, dword [ebp - 0x60]
cmp eax, dword [ebp - 0x24]
jb 0x1013acc9
cmp dword [ebx + 0x24], 0
je 0x1013adc9
mov eax, dword [ebp - 0x28]
mov edi, dword [esi + 0x9c]
and dword [ebp - 0x60], 0
mov ecx, eax
shl ecx, 2
add edi, ecx
cmp dword [ebp - 0x24], 0
jbe 0x1013adcc
mov eax, dword [ebp - 0x2c]
push dword [ebp - 0x60]
mov ecx, dword [esi + 0x94]
shl eax, 2
add ecx, eax
push ecx
push dword [ebp - 0x54]
push dword [ebx]
call fcn.10138712
add esp, 0x10
test eax, eax
je 0x1013adbe
mov ecx, dword [ebx + 0x24]
push eax
call fcn.100f1bb4
mov ecx, dword [edi]
mov edx, dword [ebp - 0x60]
mov dword [ecx + edx*4], eax
mov eax, dword [edi]
mov ecx, edx
cmp dword [eax + ecx*4], 0xffffffff
je 0x10139b9b
inc dword [ebp - 0x60]
mov eax, dword [ebp - 0x60]
cmp eax, dword [ebp - 0x24]
jb 0x1013ad7c
mov eax, dword [ebp - 0x28]
mov ecx, dword [esi + 0x90]
test ecx, ecx
je 0x1013addc
mov edx, dword [ebp - 0x20]
mov dword [ecx + eax*4], edx
mov edx, dword [esi + 0x88]
test edx, edx
je 0x1013adfa
mov ecx, dword [ebx]
mov edi, dword [ecx + 0x88]
mov ecx, dword [ebp - 0x2c]
shl ecx, 2
mov ecx, dword [ecx + edi]
mov dword [edx + eax*4], ecx
inc eax
mov dword [ebp - 0x28], eax
inc dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebx + 8]
jb 0x1013a878
xor edi, edi
cmp byte [ebp - 0x19], 0
je 0x1013ae68
mov eax, dword [ebx + 0x2c]
cmp eax, edi
je 0x1013ae39
mov ecx, dword [eax]
push esi
push eax
call dword [ecx + 0x18]
cmp eax, edi
jl 0x1013ba26
mov eax, dword [ebx + 0x2c]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebx + 0x2c], edi
jmp 0x1013ae68
mov ecx, dword [ebx]
mov eax, dword [esi]
push 1
push dword [ecx + 0x68]
push esi
call dword [eax + 0x10c]
cmp eax, edi
jl 0x1013ba26
mov eax, dword [ebx]
mov ecx, dword [eax + 0x68]
shl ecx, 3
push ecx
push dword [eax + 0x64]
push dword [esi + 0x64]
call sub.MSVCR80.dll_memcpy
add esp, 0xc
mov eax, dword [ebx + 0x24]
cmp eax, edi
je 0x1013aec8
mov ecx, dword [eax]
push eax
call dword [ecx + 0x14]
mov edi, eax
mov eax, dword [ebx + 0x24]
mov ecx, dword [eax]
push eax
call dword [ecx + 0xc]
push 1
push edi
mov dword [ebp - 0x3c], eax
mov eax, dword [esi]
push esi
call dword [eax + 0x110]
test eax, eax
jl 0x1013ba26
cmp dword [ebp - 0x3c], 0
je 0x1013aebb
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
mov edx, dword [ebp - 0x44]
mov edi, dword [edx + 0x6c]
add edi, ecx
mov esi, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [eax + 0xc]
add ecx, 0xc
test eax, eax
jne 0x1013aea2
mov esi, edx
mov eax, dword [ebx + 0x24]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
and dword [ebx + 0x24], 0
mov edi, dword [ebx]
mov ecx, dword [edi + 0xb4]
test ecx, ecx
je 0x1013b135
mov eax, dword [ebp - 0x30]
test word [eax + 0x28], 0x800
je 0x1013b135
mov eax, dword [eax + 0x20]
and dword [ebp - 0x20], 0
cmp eax, 2
jne 0x1013af32
cmp dword [edi + 0xac], eax
je 0x1013af32
and dword [ebp - 0x2c], 0
test ecx, ecx
jbe 0x1013af35
mov eax, edi
mov eax, dword [eax + 0xb4]
mov dword [ebp - 0x6c], eax
push dword [ebp - 0x2c]
mov ecx, edi
call fcn.10041ff0
mov ecx, dword [ebp - 0x20]
inc dword [ebp - 0x2c]
movzx eax, ax
lea eax, [ecx + eax - 1]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x6c]
jb 0x1013af0e
jmp 0x1013af35
mov dword [ebp - 0x20], ecx
cmp dword [edi + 0xac], 2
je 0x1013af4b
mov eax, dword [ebp - 0x30]
cmp dword [eax + 0x20], 2
mov byte [ebp - 0x19], 0
jne 0x1013af4f
mov byte [ebp - 0x19], 1
mov cl, byte [ebp - 0x19]
mov eax, dword [esi]
neg cl
push 1
sbb ecx, ecx
and ecx, 3
dec ecx
push ecx
push dword [ebp - 0x20]
push esi
call dword [eax + 0xfc]
xor edi, edi
cmp eax, edi
jl 0x1013ba26
mov eax, dword [ebx]
cmp dword [eax + 0xc8], edi
je 0x1013af8e
mov eax, dword [esi]
push esi
call dword [eax + 0x130]
cmp eax, edi
jl 0x1013ba26
mov eax, dword [ebx]
cmp dword [eax + 0xb8], edi
je 0x1013afa9
mov eax, dword [esi]
push esi
call dword [eax + 0x104]
cmp eax, edi
jl 0x1013ba26
mov eax, dword [ebx]
cmp dword [eax + 0xb4], edi
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x2c], edi
jbe 0x1013b135
mov dword [ebp - 0x20], edi
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebx]
mov edi, dword [ecx + 0xc0]
mov edx, eax
shl edx, 2
add edi, edx
push eax
mov dword [ebp - 0x3c], edi
call fcn.10041ff0
movzx eax, ax
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x30]
cmp dword [eax + 0x20], 2
jne 0x1013b099
mov eax, dword [ebp - 0x34]
xor ecx, ecx
dec eax
test eax, eax
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x6c], eax
jle 0x1013b11d
mov eax, dword [ebp - 0x28]
imul eax, eax, 0xc
mov dword [ebp - 0x34], eax
mov edx, dword [ebp - 0x28]
mov eax, dword [esi + 0xc0]
shl edx, 2
add eax, edx
mov edx, dword [edi]
mov edi, dword [eax]
shl ecx, 2
mov edx, dword [ecx + edx]
mov dword [edi], edx
mov edi, dword [ebp - 0x3c]
mov edx, dword [edi]
mov eax, dword [eax]
mov ecx, dword [ecx + edx + 4]
mov dword [eax + 4], ecx
mov eax, dword [ebx]
mov eax, dword [eax + 0xc8]
test eax, eax
je 0x1013b057
mov ecx, dword [ebp - 0x2c]
mov edx, dword [esi + 0xc8]
shl ecx, 2
mov ecx, dword [ecx + eax]
mov eax, dword [ebp - 0x28]
shl eax, 2
mov dword [eax + edx], ecx
mov eax, dword [ebx]
mov eax, dword [eax + 0xb8]
test eax, eax
je 0x1013b07d
mov ecx, dword [ebp - 0x20]
lea esi, [ecx + eax]
mov eax, dword [ebp - 0x44]
mov edi, dword [eax + 0xb8]
add edi, dword [ebp - 0x34]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x3c]
mov esi, eax
mov ecx, dword [ebp - 0x68]
inc dword [ebp - 0x28]
add dword [ebp - 0x34], 0xc
inc ecx
cmp ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x68], ecx
jl 0x1013b00b
jmp 0x1013b11d
cmp byte [ebp - 0x19], 0
jne 0x1013b0b6
push dword [ebp - 0x34]
mov eax, dword [esi]
push dword [ebp - 0x28]
push esi
call dword [eax + 0x100]
test eax, eax
jl 0x1013ba26
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x28]
shl eax, 2
push eax
push dword [edi]
mov eax, dword [esi + 0xc0]
push dword [eax + ecx*4]
call sub.MSVCR80.dll_memcpy
mov eax, dword [ebx]
mov eax, dword [eax + 0xc8]
add esp, 0xc
test eax, eax
je 0x1013b0f4
mov ecx, dword [ebp - 0x2c]
mov edx, dword [esi + 0xc8]
shl ecx, 2
mov eax, dword [ecx + eax]
mov ecx, dword [ebp - 0x28]
mov dword [edx + ecx*4], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0xb8]
test eax, eax
je 0x1013b11a
mov edi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x20]
imul edi, edi, 0xc
lea esi, [ecx + eax]
mov eax, dword [ebp - 0x44]
add edi, dword [eax + 0xb8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, eax
inc dword [ebp - 0x28]
inc dword [ebp - 0x2c]
mov eax, dword [ebx]
mov ecx, dword [ebp - 0x2c]
add dword [ebp - 0x20], 0xc
cmp ecx, dword [eax + 0xb4]
jb 0x1013afc0
mov edi, dword [ebp - 0x30]
test word [edi + 0x28], 0x8000
je 0x1013b15f
push esi
call fcn.10138690
pop ecx
xor ecx, ecx
cmp eax, ecx
je 0x10139b9b
cmp dword [esi + 0x5c], ecx
jbe 0x1013b15f
mov dword [eax + ecx*4], ecx
inc ecx
cmp ecx, dword [esi + 0x5c]
jb 0x1013b156
test byte [edi + 0x28], 4
je 0x1013b178
mov eax, dword [esi]
push 1
push esi
call dword [eax + 0x16c]
test eax, eax
jl 0x1013ba26
mov eax, dword [ebx + 0x38]
cmp byte [eax + 0x36], 0
jne 0x1013b18b
cmp dword [ebp - 0x40], 0
je 0x1013b5f1
call sym.rt3d.dll_public:_static_class_e3_MEM____stdcall_e3_MEM::Create_void_
mov ecx, dword [ebx + 0x38]
mov dword [ecx + 8], eax
mov eax, dword [ebx + 0x38]
cmp dword [eax + 8], 0
je 0x10139b9b
push 0x20
call sub.MSVCR80.dll_void____cdecl_operator_new_unsigned_int_
test eax, eax
pop ecx
je 0x1013b1c0
mov ecx, dword [ebx + 0x38]
push 4
push dword [ecx + 8]
mov ecx, eax
call fcn.10138170
jmp 0x1013b1c2
xor eax, eax
mov ecx, dword [ebx + 0x38]
mov dword [ecx + 0xc], eax
mov eax, dword [ebx + 0x38]
cmp dword [eax + 0xc], 0
je 0x10139b9b
cmp byte [eax + 0x36], 0
je 0x1013b3cb
mov esi, dword [ebp - 0x44]
mov eax, dword [esi]
push 1
push 1
push esi
call dword [eax + 0x124]
xor edi, edi
cmp eax, edi
jl 0x1013ba26
mov eax, dword [esi]
push 0x14
push esi
call dword [eax + 0x148]
mov eax, dword [eax + 0x14]
cmp eax, edi
je 0x1013b213
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x50], eax
jmp 0x1013b216
mov dword [ebp - 0x50], edi
mov eax, dword [esi]
push 0x16
push esi
call dword [eax + 0x148]
cmp dword [esi + 0xa8], edi
mov dword [ebp - 0x24], edi
jbe 0x1013b355
push dword [ebp - 0x24]
mov ecx, esi
call fcn.1003ef40
movzx ecx, ax
mov eax, dword [ebx]
mov eax, dword [eax + 0xa0]
cmp eax, edi
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x20], edi
je 0x1013b265
mov edx, dword [ebp - 0x50]
mov edx, dword [edx]
lea eax, [eax + edx*4]
cmp eax, edi
mov dword [ebp - 0x20], eax
je 0x1013b265
cmp dword [eax], edi
jne 0x1013b265
mov dword [ebp - 0x20], edi
cmp cx, di
mov dword [ebp - 0x34], edi
jbe 0x1013b33f
jmp 0x1013b275
xor edi, edi
cmp dword [ebp - 0x20], edi
fld1
fst dword [ebp - 0x88]
fst dword [ebp - 0x8c]
fst dword [ebp - 0x90]
fstp dword [ebp - 0x3c]
je 0x1013b2bf
movzx eax, word [ebp - 0x34]
mov ecx, dword [ebp - 0x20]
mov ecx, dword [ecx]
mov ecx, dword [ecx + eax*4]
mov eax, dword [ebx]
mov esi, ecx
imul esi, esi, 0xc
add esi, dword [eax + 0x74]
mov eax, dword [eax + 0x60]
test eax, eax
lea edi, [ebp - 0x90]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
je 0x1013b2de
fld dword [eax + ecx*4]
fstp dword [ebp - 0x3c]
jmp 0x1013b2de
mov eax, dword [ebx]
mov eax, dword [eax + 0x80]
cmp eax, edi
je 0x1013b2de
mov ecx, dword [ebp - 0x50]
mov esi, dword [ecx]
imul esi, esi, 0xc
add esi, eax
lea edi, [ebp - 0x90]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
fld dword [ebp - 0x90]
mov esi, dword [ebp - 0x44]
mov edi, dword [ebp - 0x34]
fstp dword [ebp + 0x5c]
fld dword [ebp - 0x8c]
mov eax, dword [esi + 0xa0]
mov edx, dword [ebp - 0x24]
fstp dword [ebp + 0x60]
fld dword [ebp - 0x88]
movzx ecx, di
fstp dword [ebp + 0x64]
fld dword [ebp - 0x3c]
fstp dword [ebp + 0x68]
mov eax, dword [eax + edx*4]
lea eax, [eax + ecx*4]
push eax
lea eax, [ebp + 0x5c]
push eax
mov eax, dword [ebx + 0x38]
mov ecx, dword [eax + 0xc]
call fcn.101381a9
test eax, eax
je 0x10139b9b
inc edi
cmp di, word [ebp - 0x6c]
mov dword [ebp - 0x34], edi
jb 0x1013b273
xor edi, edi
add dword [ebp - 0x50], 4
inc dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
cmp eax, dword [esi + 0xa8]
jb 0x1013b230
mov ecx, dword [ebx + 0x38]
mov ecx, dword [ecx + 0xc]
mov eax, dword [esi]
push 1
push dword [ecx + 0x10]
push esi
call dword [eax + 0x114]
cmp eax, edi
jl 0x1013ba26
mov eax, dword [esi]
push esi
call dword [eax + 0x180]
cmp eax, edi
jl 0x1013ba26
mov eax, dword [ebx + 0x38]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x14]
cmp eax, edi
je 0x1013b3cb
mov ecx, dword [ebp - 0x44]
xor edx, edx
mov dword [ebp - 0x34], edx
fld dword [eax + 0x1c]
mov edi, dword [ecx + 0x74]
add edi, dword [ebp - 0x34]
fstp dword [ebp + 0x60]
fld dword [eax + 0x20]
add dword [ebp - 0x34], 0xc
fstp dword [ebp + 0x64]
lea esi, [ebp + 0x60]
fld dword [eax + 0x24]
fstp dword [ebp + 0x68]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
fld dword [eax + 0x28]
mov esi, dword [ecx + 0x60]
fstp dword [edx + esi]
mov eax, dword [eax]
add edx, 4
test eax, eax
jne 0x1013b397
xor eax, eax
cmp dword [ebp - 0x40], eax
je 0x1013b5f1
cmp dword [ebp - 0x5c], eax
mov dword [ebp - 0x68], eax
jle 0x1013b5f1
test eax, eax
mov ecx, dword [ebx + 0x14]
mov edi, dword [ecx + eax*4]
mov dword [ebp - 0x50], edi
je 0x1013b5d4
mov esi, dword [ebp - 0x44]
mov eax, dword [esi]
and dword [ebp - 0x20], 0
and dword [ebp - 0x34], 0
push 0x14
push esi
call dword [eax + 0x148]
mov eax, dword [eax + 0x14]
test eax, eax
je 0x1013b418
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x54], eax
jmp 0x1013b41c
and dword [ebp - 0x54], 0
mov eax, dword [esi]
push 0x16
push esi
call dword [eax + 0x148]
mov ecx, dword [ebx + 0x10]
mov eax, dword [ebp - 0x68]
mov ecx, dword [ecx + eax*4]
push 1
mov dword [ebp - 0x6c], ecx
mov ecx, dword [ebx + 0xc]
mov eax, dword [ecx + eax*4]
push 1
push edi
mov dword [ebp - 0x94], eax
mov eax, dword [esi]
push esi
call dword [eax + 0x184]
test eax, eax
jl 0x1013ba26
mov eax, dword [0x10327408]
mov ecx, dword [eax]
push eax
call dword [ecx + 0xc4]
test eax, eax
mov dword [ebx + 0x28], eax
je 0x10139b9b
mov eax, dword [esi]
lea ecx, [edi + 0x384]
push ecx
push esi
call dword [eax + 0x148]
mov eax, dword [eax + 0x14]
test eax, eax
je 0x1013b48d
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x48], eax
jmp 0x1013b491
and dword [ebp - 0x48], 0
and dword [ebp - 0x40], 0
cmp dword [esi + 0xa8], 0
jbe 0x1013b5bc
push dword [ebp - 0x40]
mov ecx, esi
call fcn.1003ef40
mov ecx, dword [ebp - 0x6c]
movzx eax, ax
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x54]
mov eax, dword [eax]
lea ecx, [ecx + eax*4]
xor edi, edi
cmp ecx, edi
mov dword [ebp - 0x3c], ecx
je 0x1013b4cd
cmp dword [ecx], edi
jne 0x1013b4cd
mov dword [ebp - 0x3c], edi
mov ecx, dword [ebp - 0x30]
test byte [ecx + 0x28], 0x10
je 0x1013b504
mov ecx, dword [ebx]
push eax
call fcn.1010d84d
cmp dword [ebp - 0x20], eax
je 0x1013b504
mov dword [ebp - 0x34], edi
xor edx, edx
lea ecx, [eax + 0x7c]
movzx edi, word [ecx]
cmp edi, dword [ebp - 0x50]
je 0x1013b4fe
inc edx
add ecx, 0x58
cmp edx, 0x1a
jl 0x1013b4eb
jmp 0x1013b501
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x20], eax
xor edi, edi
cmp dword [ebp - 0x74], edi
jle 0x1013b5a3
mov eax, dword [ebp - 0x3c]
test eax, eax
je 0x1013b556
cmp dword [ebp - 0x20], 0
mov eax, dword [eax]
mov eax, dword [eax + edi*4]
mov ecx, dword [ebp - 0x94]
mov edx, dword [ecx + eax*8]
mov dword [ebp - 0x64], edx
mov eax, dword [ecx + eax*8 + 4]
mov dword [ebp - 0x60], eax
je 0x1013b570
push dword [ebp - 0x34]
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
lea edx, [ebp - 0x7c]
push edx
lea edx, [ebp - 0x64]
push edx
push eax
call dword [ecx + 0x98]
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x78]
jmp 0x1013b56d
fldz
fst dword [ebp - 0x80]
fstp dword [ebp - 0x84]
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x60], eax
mov eax, dword [ebx + 0x28]
mov ecx, dword [eax]
lea edx, [ebp - 0x24]
push edx
lea edx, [ebp - 0x64]
push edx
push eax
call dword [ecx + 0x10]
mov eax, dword [ebp - 0x24]
cmp eax, 0xffffffff
je 0x10139b9b
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x40]
mov ecx, dword [ecx + edx*4]
mov dword [ecx + edi*4], eax
inc edi
cmp edi, dword [ebp - 0x74]
jl 0x1013b50f
add dword [ebp - 0x54], 4
inc dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
cmp eax, dword [esi + 0xa8]
jb 0x1013b4a2
mov edi, dword [ebp - 0x50]
mov eax, dword [ebx + 0x28]
mov ecx, dword [eax]
push edi
push esi
push eax
call dword [ecx + 0x20]
mov eax, dword [ebx + 0x28]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
and dword [ebx + 0x28], 0
mov eax, dword [ebp - 0x68]
inc eax
cmp eax, dword [ebp - 0x5c]
mov dword [ebp - 0x68], eax
jl 0x1013b3e2
jmp 0x1013b5f1
push str.This_combination_of_e3_CONVERT.flags_not_yet_realized
call fcn.100e9a8d
pop ecx
mov eax, dword [ebx + 0x38]
cmp dword [eax + 8], 0
je 0x1013b60a
mov eax, dword [eax + 8]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebx + 0x38]
and dword [eax + 8], 0
mov eax, dword [ebx + 0x38]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x1013b622
push eax
call sub.MSVCR80.dll_void___cdecl_operator_delete_void__
mov eax, dword [ebx + 0x38]
and dword [eax + 0xc], 0
pop ecx
mov eax, dword [ebx + 0x10]
test eax, eax
je 0x1013b634
push eax
call sub.MSVCR80.dll_void___cdecl_operator_delete___void__
and dword [ebx + 0x10], 0
pop ecx
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x1013b646
push eax
call sub.MSVCR80.dll_void___cdecl_operator_delete___void__
and dword [ebx + 0xc], 0
pop ecx
mov eax, dword [ebx + 0x14]
test eax, eax
je 0x1013b658
push eax
call sub.MSVCR80.dll_void___cdecl_operator_delete___void__
and dword [ebx + 0x14], 0
pop ecx
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x1013b66a
push eax
call sub.MSVCR80.dll_void___cdecl_operator_delete___void__
and dword [ebx + 0x18], 0
pop ecx
mov eax, dword [ebp - 0x30]
cmp dword [eax + 0x18], 0
jle 0x1013b9ab
mov eax, dword [eax + 8]
test eax, eax
je 0x1013b869
mov edi, dword [eax + 0x1c]
push 0x10
push edi
call sym.rt3d.dll_public:_static_class_e3_COLLECTION____stdcall_e3_COLLECTION::Create_int__int_
test eax, eax
mov dword [ebx + 0x44], eax
je 0x10139b9b
and dword [ebp - 0x20], 0
test edi, edi
jle 0x1013b6c5
mov eax, dword [ebx + 0x44]
mov esi, dword [eax]
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 8]
push dword [ebp - 0x20]
mov ecx, dword [eax]
push eax
add esi, 0x30
call dword [ecx + 0x10]
push eax
push dword [ebx + 0x44]
call dword [esi]
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jl 0x1013b6a0
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 8]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x28]
mov eax, dword [ebx + 0x44]
and dword [ebp - 0x40], 0
cmp dword [eax + 0x1c], 0
jle 0x1013b83a
mov eax, dword [ebx + 0x44]
push dword [ebp - 0x40]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x10]
push 0
push dword [ebp - 0x40]
mov esi, eax
mov eax, dword [ebx + 0x44]
mov ecx, dword [eax]
push eax
mov dword [ebp - 0x34], esi
call dword [ecx + 0x20]
mov eax, dword [0x10327408]
mov ecx, dword [eax]
push eax
call dword [ecx + 0xa8]
test eax, eax
mov dword [ebx + 0x40], eax
je 0x10139b9b
mov ecx, dword [esi]
push 1
push eax
push esi
call dword [ecx + 0xdc]
mov eax, dword [ebx + 0x40]
mov eax, dword [eax + 0x1c]
cmp eax, 1
mov dword [ebp - 0x6c], eax
jle 0x1013b806
and dword [ebp - 0x58], 0
test eax, eax
jle 0x1013b7f6
push 0x154
call sub.MSVCR80.dll_void____cdecl_operator_new_unsigned_int_
test eax, eax
pop ecx
je 0x1013b763
mov ecx, dword [ebx]
push dword [ecx + 0x20]
mov ecx, eax
call fcn.10119735
mov edi, eax
jmp 0x1013b765
xor edi, edi
test edi, edi
je 0x10139b9b
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 8]
mov ecx, dword [eax]
push edi
push eax
call dword [ecx + 0x30]
test eax, eax
jl 0x1013b84c
push dword [ebp - 0x34]
push edi
call fcn.101386e7
pop ecx
pop ecx
lea esi, [edi + 0x13c]
mov eax, dword [esi]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebx + 0x34]
mov dword [esi], eax
mov ecx, dword [eax]
push eax
call dword [ecx + 4]
mov eax, dword [ebx + 0x40]
mov ecx, dword [eax]
push 2
push dword [ebp - 0x58]
push eax
call dword [ecx + 0x10]
mov ecx, dword [ebp - 0x34]
push eax
push edi
call fcn.10138bff
test eax, eax
jl 0x1013ba26
mov esi, dword [ebp - 0x58]
push esi
lea eax, [ebp + 0x4c]
push str.sub__02d
push eax
call dword [sym.imp.MSVCR80.dll_sprintf]
mov eax, dword [edi]
add esp, 0xc
lea ecx, [ebp + 0x4c]
push ecx
push edi
call dword [eax + 0x48]
inc esi
cmp esi, dword [ebp - 0x6c]
mov dword [ebp - 0x58], esi
jl 0x1013b744
mov esi, dword [ebp - 0x34]
mov ecx, esi
call fcn.101168a8
push esi
call sub.MSVCR80.dll_void___cdecl_operator_delete_void__
pop ecx
jmp 0x1013b817
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 8]
mov ecx, dword [eax]
push esi
push eax
call dword [ecx + 0x30]
test eax, eax
jl 0x1013b85f
mov eax, dword [ebx + 0x40]
test eax, eax
je 0x1013b828
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
and dword [ebx + 0x40], 0
inc dword [ebp - 0x40]
mov eax, dword [ebx + 0x44]
mov ecx, dword [ebp - 0x40]
cmp ecx, dword [eax + 0x1c]
jl 0x1013b6e2
mov eax, dword [ebx + 0x44]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
and dword [ebx + 0x44], 0
jmp 0x1013b9ab
mov ecx, edi
call fcn.101168a8
push edi
call sub.MSVCR80.dll_void___cdecl_operator_delete_void__
pop ecx
jmp 0x10139b9b
mov ecx, esi
call fcn.101168a8
push esi
jmp 0x1013b854
mov eax, dword [0x10327408]
mov esi, dword [ebp - 0x30]
mov ecx, dword [eax]
mov edi, dword [esi + 0xc]
push eax
call dword [ecx + 0xa8]
test eax, eax
mov dword [ebx + 0x40], eax
je 0x10139b9b
mov ecx, dword [edi]
push 1
push eax
push edi
call dword [ecx + 0xdc]
mov eax, dword [ebx + 0x40]
mov ecx, dword [eax + 0x1c]
cmp ecx, 1
jle 0x1013b98b
xor ecx, ecx
mov dword [esi + 0xc], ecx
mov eax, dword [ebx + 0x40]
mov dword [esi + 8], eax
mov eax, dword [ebx + 0x40]
mov eax, dword [eax + 0x1c]
cmp eax, ecx
mov dword [ebp - 0x6c], eax
mov dword [ebx + 0x40], ecx
mov dword [ebp - 0x58], ecx
jle 0x1013b97b
push 0x154
call sub.MSVCR80.dll_void____cdecl_operator_new_unsigned_int_
test eax, eax
pop ecx
je 0x1013b8e5
mov ecx, dword [ebx]
push dword [ecx + 0x20]
mov ecx, eax
call fcn.10119735
mov dword [ebp - 0x38], eax
jmp 0x1013b8e9
and dword [ebp - 0x38], 0
cmp dword [ebp - 0x38], 0
je 0x10139b9b
mov esi, dword [ebp - 0x38]
add esi, 0x13c
mov eax, dword [esi]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebx + 0x34]
mov dword [esi], eax
mov ecx, dword [eax]
push eax
call dword [ecx + 4]
push edi
push dword [ebp - 0x38]
call fcn.101386e7
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 8]
pop ecx
pop ecx
mov ecx, dword [eax]
push 2
push dword [ebp - 0x58]
push eax
call dword [ecx + 0x10]
push eax
push dword [ebp - 0x38]
mov ecx, edi
call fcn.10138bff
test eax, eax
jl 0x1013ba26
push dword [ebp - 0x38]
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 8]
mov esi, dword [ebp - 0x58]
mov ecx, dword [eax]
push esi
push eax
call dword [ecx + 0x20]
push esi
lea eax, [ebp + 0x4c]
push str.sub__02d
push eax
call dword [sym.imp.MSVCR80.dll_sprintf]
mov eax, dword [edi]
add esp, 0xc
lea ecx, [ebp + 0x4c]
push ecx
push edi
call dword [eax + 0x48]
inc esi
cmp esi, dword [ebp - 0x6c]
mov dword [ebp - 0x58], esi
jl 0x1013b8c5
mov ecx, edi
call fcn.101168a8
push edi
call sub.MSVCR80.dll_void___cdecl_operator_delete_void__
pop ecx
jmp 0x1013b9ab
test eax, eax
je 0x1013b9ab
test ecx, ecx
je 0x1013b99e
mov ecx, dword [eax]
push 0
push eax
call dword [ecx + 0x10]
mov dword [edi + 0x54], eax
mov eax, dword [ebx + 0x40]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
and dword [ebx + 0x40], 0
mov esi, dword [ebp - 0x30]
test word [esi + 0x28], 0x100
je 0x1013ba23
mov eax, dword [ebx]
xor edi, edi
cmp dword [eax + 0xe4], edi
je 0x1013ba23
cmp dword [eax + 0xec], edi
je 0x1013ba23
mov ecx, dword [eax]
push edi
push eax
call dword [ecx + 0x178]
cmp eax, edi
mov dword [ebx + 0x1c], eax
je 0x1013ba23
mov ecx, dword [esi + 8]
cmp ecx, edi
je 0x1013ba0b
cmp dword [ecx + 0x1c], edi
jle 0x1013ba16
mov eax, dword [esi + 8]
mov ecx, dword [eax]
push edi
push eax
call dword [ecx + 0x10]
push dword [ebx + 0x1c]
push eax
call fcn.101387bf
test eax, eax
pop ecx
pop ecx
jl 0x1013ba26
mov eax, dword [esi + 8]
inc edi
cmp edi, dword [eax + 0x1c]
jl 0x1013b9e7
jmp 0x1013ba16
push eax
push dword [esi + 0xc]
call fcn.101387bf
pop ecx
pop ecx
push dword [ebx + 0x1c]
call sub.MSVCR80.dll_void___cdecl_operator_delete___void__
and dword [ebx + 0x1c], 0
pop ecx
xor eax, eax
inc eax
mov ecx, dword [ebp + 0x6c]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1013fce4
add ebp, 0x70
leave
ret 8