993143:	33 c0                	xor    %eax,%eax
993145:	40                   	inc    %eax
993146:	8b e5                	mov    %ebp,%esp
993148:	5d                   	pop    %ebp
993149:	c2 08 00             	ret    $0x8
99314c:	cc                   	int3
99314d:	cc                   	int3
99314e:	cc                   	int3
99314f:	cc                   	int3
993150:	cc                   	int3
993151:	cc                   	int3
993152:	cc                   	int3
993153:	cc                   	int3
993154:	cc                   	int3
993155:	cc                   	int3
993156:	56                   	push   %esi
993157:	8b f1                	mov    %ecx,%esi
993159:	57                   	push   %edi
99315a:	83 7e 10 00          	cmpl   $0x0,0x10(%esi)
99315e:	75 30                	jne    0x993190
993160:	6a 10                	push   $0x10
993162:	ff 76 18             	push   0x18(%esi)
993165:	8d 46 14             	lea    0x14(%esi),%eax
993168:	50                   	push   %eax
993169:	e8 3e ff a7 ff       	call   0x4130ac
99316e:	8b 56 18             	mov    0x18(%esi),%edx
993171:	83 c0 08             	add    $0x8,%eax
993174:	8b ca                	mov    %edx,%ecx
993176:	c1 e1 04             	shl    $0x4,%ecx
993179:	83 c1 f0             	add    $0xfffffff0,%ecx
99317c:	03 c8                	add    %eax,%ecx
99317e:	eb 0b                	jmp    0x99318b
993180:	8b 46 10             	mov    0x10(%esi),%eax
993183:	89 01                	mov    %eax,(%ecx)
993185:	89 4e 10             	mov    %ecx,0x10(%esi)
993188:	83 e9 10             	sub    $0x10,%ecx
99318b:	83 ea 01             	sub    $0x1,%edx
99318e:	79 f0                	jns    0x993180
993190:	8b 7e 10             	mov    0x10(%esi),%edi
993193:	8b 07                	mov    (%edi),%eax
993195:	ff 46 0c             	incl   0xc(%esi)
993198:	89 46 10             	mov    %eax,0x10(%esi)
99319b:	8d 77 08             	lea    0x8(%edi),%esi
99319e:	85 f6                	test   %esi,%esi
9931a0:	74 0d                	je     0x9931af
9931a2:	e8 6e 34 aa ff       	call   0x436615
9931a7:	50                   	push   %eax
9931a8:	8b ce                	mov    %esi,%ecx
9931aa:	e8 65 6a a7 ff       	call   0x409c14
9931af:	83 67 0c 00          	andl   $0x0,0xc(%edi)
9931b3:	8b c7                	mov    %edi,%eax
9931b5:	5f                   	pop    %edi
9931b6:	5e                   	pop    %esi
9931b7:	c3                   	ret
9931b8:	cc                   	int3
9931b9:	cc                   	int3
9931ba:	cc                   	int3
9931bb:	cc                   	int3
9931bc:	cc                   	int3
9931bd:	cc                   	int3
9931be:	cc                   	int3
9931bf:	cc                   	int3
9931c0:	cc                   	int3
9931c1:	cc                   	int3
9931c2:	cc                   	int3
9931c3:	cc                   	int3
9931c4:	cc                   	int3
9931c5:	cc                   	int3
9931c6:	cc                   	int3
9931c7:	cc                   	int3
9931c8:	cc                   	int3
9931c9:	cc                   	int3
9931ca:	cc                   	int3
9931cb:	cc                   	int3
9931cc:	cc                   	int3
9931cd:	cc                   	int3
9931ce:	cc                   	int3
9931cf:	cc                   	int3
9931d0:	53                   	push   %ebx
9931d1:	56                   	push   %esi
9931d2:	8b f1                	mov    %ecx,%esi
9931d4:	33 db                	xor    %ebx,%ebx
9931d6:	39 5e 04             	cmp    %ebx,0x4(%esi)
9931d9:	74 37                	je     0x993212
9931db:	57                   	push   %edi
9931dc:	8b fb                	mov    %ebx,%edi
9931de:	39 5e 08             	cmp    %ebx,0x8(%esi)
9931e1:	76 22                	jbe    0x993205
9931e3:	8b 46 04             	mov    0x4(%esi),%eax
9931e6:	8b 1c b8             	mov    (%eax,%edi,4),%ebx
9931e9:	eb 10                	jmp    0x9931fb
9931eb:	8d 4b 08             	lea    0x8(%ebx),%ecx
9931ee:	85 c9                	test   %ecx,%ecx
9931f0:	74 34                	je     0x993226
9931f2:	6a 00                	push   $0x0
9931f4:	e8 21 57 aa ff       	call   0x43891a
9931f9:	8b 1b                	mov    (%ebx),%ebx
9931fb:	85 db                	test   %ebx,%ebx
9931fd:	75 ec                	jne    0x9931eb
9931ff:	47                   	inc    %edi
993200:	3b 7e 08             	cmp    0x8(%esi),%edi
993203:	72 de                	jb     0x9931e3
993205:	ff 76 04             	push   0x4(%esi)
993208:	e8 05 b4 aa ff       	call   0x43e612
99320d:	59                   	pop    %ecx
99320e:	89 5e 04             	mov    %ebx,0x4(%esi)
993211:	5f                   	pop    %edi
993212:	8b 4e 14             	mov    0x14(%esi),%ecx
993215:	89 5e 0c             	mov    %ebx,0xc(%esi)
993218:	89 5e 10             	mov    %ebx,0x10(%esi)
99321b:	e8 4b 72 a7 ff       	call   0x40a46b
993220:	89 5e 14             	mov    %ebx,0x14(%esi)
993223:	5e                   	pop    %esi
993224:	5b                   	pop    %ebx
993225:	c3                   	ret
993226:	e8 3b ed a9 ff       	call   0x431f66
99322b:	cc                   	int3
99322c:	cc                   	int3
99322d:	cc                   	int3
99322e:	cc                   	int3
99322f:	cc                   	int3
993230:	cc                   	int3
993231:	cc                   	int3
993232:	cc                   	int3
993233:	cc                   	int3
993234:	cc                   	int3
993235:	cc                   	int3
993236:	cc                   	int3
993237:	cc                   	int3
993238:	cc                   	int3
993239:	cc                   	int3
99323a:	cc                   	int3
99323b:	cc                   	int3
99323c:	cc                   	int3
99323d:	cc                   	int3
99323e:	cc                   	int3
99323f:	cc                   	int3
993240:	cc                   	int3
993241:	cc                   	int3
993242:	cc                   	int3
993243:	55                   	push   %ebp
993244:	8b ec                	mov    %esp,%ebp
993246:	51                   	push   %ecx
993247:	57                   	push   %edi
993248:	8b f9                	mov    %ecx,%edi
99324a:	83 7f 04 00          	cmpl   $0x0,0x4(%edi)
99324e:	75 04                	jne    0x993254
993250:	33 c0                	xor    %eax,%eax
993252:	eb 44                	jmp    0x993298
993254:	53                   	push   %ebx
993255:	56                   	push   %esi
993256:	ff 75 08             	push   0x8(%ebp)
993259:	e8 54 53 a7 ff       	call   0x4085b2
99325e:	33 d2                	xor    %edx,%edx
993260:	89 45 fc             	mov    %eax,-0x4(%ebp)
993263:	f7 77 08             	divl   0x8(%edi)
993266:	8b 4f 04             	mov    0x4(%edi),%ecx
993269:	8d 1c 91             	lea    (%ecx,%edx,4),%ebx
99326c:	8b 33                	mov    (%ebx),%esi
99326e:	85 f6                	test   %esi,%esi
993270:	74 22                	je     0x993294
993272:	8b 45 fc             	mov    -0x4(%ebp),%eax
993275:	39 46 04             	cmp    %eax,0x4(%esi)
993278:	75 12                	jne    0x99328c
99327a:	ff 75 08             	push   0x8(%ebp)
99327d:	8d 4e 08             	lea    0x8(%esi),%ecx
993280:	e8 a5 fe a6 ff       	call   0x40312a
993285:	85 c0                	test   %eax,%eax
993287:	74 16                	je     0x99329f
993289:	8b 45 fc             	mov    -0x4(%ebp),%eax
99328c:	8b de                	mov    %esi,%ebx
99328e:	8b 36                	mov    (%esi),%esi
993290:	85 f6                	test   %esi,%esi
993292:	75 e1                	jne    0x993275
993294:	33 c0                	xor    %eax,%eax
993296:	5e                   	pop    %esi
993297:	5b                   	pop    %ebx
993298:	5f                   	pop    %edi
993299:	8b e5                	mov    %ebp,%esp
99329b:	5d                   	pop    %ebp
99329c:	c2 04 00             	ret    $0x4
99329f:	8b 06                	mov    (%esi),%eax
9932a1:	8b cf                	mov    %edi,%ecx
9932a3:	56                   	push   %esi
9932a4:	89 03                	mov    %eax,(%ebx)
9932a6:	e8 17 e6 a9 ff       	call   0x4318c2
9932ab:	33 c0                	xor    %eax,%eax
9932ad:	40                   	inc    %eax
9932ae:	eb e6                	jmp    0x993296
9932b0:	cc                   	int3
9932b1:	cc                   	int3
9932b2:	cc                   	int3
9932b3:	cc                   	int3
9932b4:	cc                   	int3
9932b5:	cc                   	int3
9932b6:	cc                   	int3
9932b7:	cc                   	int3
9932b8:	cc                   	int3
9932b9:	cc                   	int3
9932ba:	cc                   	int3
9932bb:	cc                   	int3
9932bc:	cc                   	int3
9932bd:	cc                   	int3
9932be:	cc                   	int3
9932bf:	cc                   	int3
9932c0:	cc                   	int3
9932c1:	cc                   	int3
9932c2:	cc                   	int3
9932c3:	cc                   	int3
9932c4:	cc                   	int3
9932c5:	cc                   	int3
9932c6:	cc                   	int3
9932c7:	cc                   	int3
9932c8:	cc                   	int3
9932c9:	cc                   	int3
9932ca:	cc                   	int3
9932cb:	55                   	push   %ebp
9932cc:	8b ec                	mov    %esp,%ebp
9932ce:	56                   	push   %esi
9932cf:	8b 75 14             	mov    0x14(%ebp),%esi
9932d2:	85 f6                	test   %esi,%esi
9932d4:	75 04                	jne    0x9932da
9932d6:	33 c0                	xor    %eax,%eax
9932d8:	eb 6d                	jmp    0x993347
9932da:	8b 45 08             	mov    0x8(%ebp),%eax
9932dd:	85 c0                	test   %eax,%eax
9932df:	75 13                	jne    0x9932f4
9932e1:	e8 89 b5 aa ff       	call   0x43e86f
9932e6:	6a 16                	push   $0x16
9932e8:	5e                   	pop    %esi
9932e9:	89 30                	mov    %esi,(%eax)
9932eb:	e8 08 c0 a8 ff       	call   0x41f2f8
9932f0:	8b c6                	mov    %esi,%eax
9932f2:	eb 53                	jmp    0x993347
9932f4:	57                   	push   %edi
9932f5:	8b 7d 10             	mov    0x10(%ebp),%edi
9932f8:	85 ff                	test   %edi,%edi
9932fa:	74 14                	je     0x993310
9932fc:	39 75 0c             	cmp    %esi,0xc(%ebp)
9932ff:	72 0f                	jb     0x993310
993301:	56                   	push   %esi
993302:	57                   	push   %edi
993303:	50                   	push   %eax
993304:	e8 79 13 a8 ff       	call   0x414682
993309:	83 c4 0c             	add    $0xc,%esp
99330c:	33 c0                	xor    %eax,%eax
99330e:	eb 36                	jmp    0x993346
993310:	ff 75 0c             	push   0xc(%ebp)
993313:	6a 00                	push   $0x0
993315:	50                   	push   %eax
993316:	e8 9d 14 a8 ff       	call   0x4147b8
99331b:	83 c4 0c             	add    $0xc,%esp
99331e:	85 ff                	test   %edi,%edi
993320:	75 09                	jne    0x99332b
993322:	e8 48 b5 aa ff       	call   0x43e86f
993327:	6a 16                	push   $0x16
993329:	eb 0c                	jmp    0x993337
99332b:	39 75 0c             	cmp    %esi,0xc(%ebp)
99332e:	73 13                	jae    0x993343
993330:	e8 3a b5 aa ff       	call   0x43e86f
993335:	6a 22                	push   $0x22
993337:	5e                   	pop    %esi
993338:	89 30                	mov    %esi,(%eax)
99333a:	e8 b9 bf a8 ff       	call   0x41f2f8
99333f:	8b c6                	mov    %esi,%eax
993341:	eb 03                	jmp    0x993346
993343:	6a 16                	push   $0x16
993345:	58                   	pop    %eax
993346:	5f                   	pop    %edi
993347:	5e                   	pop    %esi
993348:	5d                   	pop    %ebp
993349:	c3                   	ret
99334a:	cc                   	int3
99334b:	cc                   	int3
99334c:	cc                   	int3
99334d:	cc                   	int3
99334e:	cc                   	int3
99334f:	cc                   	int3
993350:	cc                   	int3
993351:	cc                   	int3
993352:	cc                   	int3
993353:	cc                   	int3
993354:	cc                   	int3
993355:	cc                   	int3
993356:	cc                   	int3
993357:	cc                   	int3
993358:	cc                   	int3
993359:	cc                   	int3
99335a:	cc                   	int3
99335b:	cc                   	int3
99335c:	cc                   	int3
99335d:	cc                   	int3
99335e:	cc                   	int3
99335f:	cc                   	int3
993360:	cc                   	int3
993361:	cc                   	int3
993362:	cc                   	int3
993363:	cc                   	int3
993364:	cc                   	int3
993365:	cc                   	int3
993366:	cc                   	int3
993367:	cc                   	int3
993368:	cc                   	int3
993369:	55                   	push   %ebp
99336a:	8b ec                	mov    %esp,%ebp
99336c:	8b 45 14             	mov    0x14(%ebp),%eax
99336f:	56                   	push   %esi
993370:	85 c0                	test   %eax,%eax
993372:	74 3c                	je     0x9933b0
993374:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
993378:	75 13                	jne    0x99338d
99337a:	e8 f0 b4 aa ff       	call   0x43e86f
99337f:	6a 16                	push   $0x16
993381:	5e                   	pop    %esi
993382:	89 30                	mov    %esi,(%eax)
993384:	e8 6f bf a8 ff       	call   0x41f2f8
993389:	8b c6                	mov    %esi,%eax
99338b:	eb 25                	jmp    0x9933b2
99338d:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
993391:	74 e7                	je     0x99337a
993393:	39 45 0c             	cmp    %eax,0xc(%ebp)
993396:	73 09                	jae    0x9933a1
993398:	e8 d2 b4 aa ff       	call   0x43e86f
99339d:	6a 22                	push   $0x22
99339f:	eb e0                	jmp    0x993381
9933a1:	50                   	push   %eax
9933a2:	ff 75 10             	push   0x10(%ebp)
9933a5:	ff 75 08             	push   0x8(%ebp)
9933a8:	e8 d5 b7 a8 ff       	call   0x41eb82
9933ad:	83 c4 0c             	add    $0xc,%esp
9933b0:	33 c0                	xor    %eax,%eax
9933b2:	5e                   	pop    %esi
9933b3:	5d                   	pop    %ebp
9933b4:	c3                   	ret
9933b5:	cc                   	int3
9933b6:	cc                   	int3
9933b7:	cc                   	int3
9933b8:	cc                   	int3
9933b9:	cc                   	int3
9933ba:	cc                   	int3
9933bb:	cc                   	int3
9933bc:	cc                   	int3
9933bd:	cc                   	int3
9933be:	cc                   	int3
9933bf:	cc                   	int3
9933c0:	cc                   	int3
9933c1:	cc                   	int3
9933c2:	cc                   	int3
9933c3:	cc                   	int3
9933c4:	cc                   	int3