4091da:	5f                   	pop    %edi
4091db:	5e                   	pop    %esi
4091dc:	5d                   	pop    %ebp
4091dd:	c2 04 00             	ret    $0x4
4091e0:	8b ff                	mov    %edi,%edi
4091e2:	55                   	push   %ebp
4091e3:	8b ec                	mov    %esp,%ebp
4091e5:	56                   	push   %esi
4091e6:	57                   	push   %edi
4091e7:	6a 00                	push   $0x0
4091e9:	6a 05                	push   $0x5
4091eb:	5a                   	pop    %edx
4091ec:	e8 25 f6 ff ff       	call   0x408816
4091f1:	8b f0                	mov    %eax,%esi
4091f3:	85 f6                	test   %esi,%esi
4091f5:	74 36                	je     0x40922d
4091f7:	bf 00 00 05 00       	mov    $0x50000,%edi
4091fc:	39 7e 04             	cmp    %edi,0x4(%esi)
4091ff:	74 1f                	je     0x409220
409201:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
409205:	75 26                	jne    0x40922d
409207:	6a 04                	push   $0x4
409209:	59                   	pop    %ecx
40920a:	e8 5b 1a 00 00       	call   0x40ac6a
40920f:	89 46 0c             	mov    %eax,0xc(%esi)
409212:	85 c0                	test   %eax,%eax
409214:	74 17                	je     0x40922d
409216:	89 7e 04             	mov    %edi,0x4(%esi)
409219:	c7 46 08 04 00 00 00 	movl   $0x4,0x8(%esi)
409220:	8b 4e 0c             	mov    0xc(%esi),%ecx
409223:	8b 45 08             	mov    0x8(%ebp),%eax
409226:	89 01                	mov    %eax,(%ecx)
409228:	33 c0                	xor    %eax,%eax
40922a:	40                   	inc    %eax
40922b:	eb 02                	jmp    0x40922f
40922d:	33 c0                	xor    %eax,%eax
40922f:	5f                   	pop    %edi
409230:	5e                   	pop    %esi
409231:	5d                   	pop    %ebp
409232:	c2 04 00             	ret    $0x4
409235:	8b ff                	mov    %edi,%edi
409237:	55                   	push   %ebp
409238:	8b ec                	mov    %esp,%ebp
40923a:	56                   	push   %esi
40923b:	57                   	push   %edi
40923c:	6a 00                	push   $0x0
40923e:	6a 03                	push   $0x3
409240:	5a                   	pop    %edx
409241:	e8 d0 f5 ff ff       	call   0x408816
409246:	8b f0                	mov    %eax,%esi
409248:	85 f6                	test   %esi,%esi
40924a:	74 36                	je     0x409282
40924c:	bf 00 00 09 00       	mov    $0x90000,%edi
409251:	39 7e 04             	cmp    %edi,0x4(%esi)
409254:	74 1f                	je     0x409275
409256:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
40925a:	75 26                	jne    0x409282
40925c:	6a 04                	push   $0x4
40925e:	59                   	pop    %ecx
40925f:	e8 06 1a 00 00       	call   0x40ac6a
409264:	89 46 0c             	mov    %eax,0xc(%esi)
409267:	85 c0                	test   %eax,%eax
409269:	74 17                	je     0x409282
40926b:	89 7e 04             	mov    %edi,0x4(%esi)
40926e:	c7 46 08 04 00 00 00 	movl   $0x4,0x8(%esi)
409275:	8b 4e 0c             	mov    0xc(%esi),%ecx
409278:	8b 45 08             	mov    0x8(%ebp),%eax
40927b:	89 01                	mov    %eax,(%ecx)
40927d:	33 c0                	xor    %eax,%eax
40927f:	40                   	inc    %eax
409280:	eb 02                	jmp    0x409284
409282:	33 c0                	xor    %eax,%eax
409284:	5f                   	pop    %edi
409285:	5e                   	pop    %esi
409286:	5d                   	pop    %ebp
409287:	c2 04 00             	ret    $0x4
40928a:	8b ff                	mov    %edi,%edi
40928c:	55                   	push   %ebp
40928d:	8b ec                	mov    %esp,%ebp
40928f:	8b 0d b0 14 41 00    	mov    0x4114b0,%ecx
409295:	56                   	push   %esi
409296:	33 f6                	xor    %esi,%esi
409298:	56                   	push   %esi
409299:	6a 03                	push   $0x3
40929b:	5a                   	pop    %edx
40929c:	e8 75 f5 ff ff       	call   0x408816
4092a1:	85 c0                	test   %eax,%eax
4092a3:	74 3e                	je     0x4092e3
4092a5:	81 78 04 00 00 08 00 	cmpl   $0x80000,0x4(%eax)
4092ac:	75 35                	jne    0x4092e3
4092ae:	57                   	push   %edi
4092af:	8b 7d 0c             	mov    0xc(%ebp),%edi
4092b2:	85 ff                	test   %edi,%edi
4092b4:	74 28                	je     0x4092de
4092b6:	8b 55 08             	mov    0x8(%ebp),%edx
4092b9:	8b 48 0c             	mov    0xc(%eax),%ecx
4092bc:	56                   	push   %esi
4092bd:	e8 54 f5 ff ff       	call   0x408816
4092c2:	85 c0                	test   %eax,%eax
4092c4:	74 18                	je     0x4092de
4092c6:	b9 00 00 01 00       	mov    $0x10000,%ecx
4092cb:	39 48 04             	cmp    %ecx,0x4(%eax)
4092ce:	74 08                	je     0x4092d8
4092d0:	39 70 04             	cmp    %esi,0x4(%eax)
4092d3:	75 09                	jne    0x4092de
4092d5:	89 48 04             	mov    %ecx,0x4(%eax)
4092d8:	33 f6                	xor    %esi,%esi
4092da:	89 78 0c             	mov    %edi,0xc(%eax)
4092dd:	46                   	inc    %esi
4092de:	8b c6                	mov    %esi,%eax
4092e0:	5f                   	pop    %edi
4092e1:	eb 02                	jmp    0x4092e5
4092e3:	33 c0                	xor    %eax,%eax
4092e5:	5e                   	pop    %esi
4092e6:	5d                   	pop    %ebp
4092e7:	c2 08 00             	ret    $0x8
4092ea:	8b ff                	mov    %edi,%edi
4092ec:	55                   	push   %ebp
4092ed:	8b ec                	mov    %esp,%ebp
4092ef:	6a 00                	push   $0x0
4092f1:	e8 20 f5 ff ff       	call   0x408816
4092f6:	85 c0                	test   %eax,%eax
4092f8:	74 1a                	je     0x409314
4092fa:	81 78 04 00 00 08 00 	cmpl   $0x80000,0x4(%eax)
409301:	75 11                	jne    0x409314
409303:	8b 55 08             	mov    0x8(%ebp),%edx
409306:	51                   	push   %ecx
409307:	ff 75 0c             	push   0xc(%ebp)
40930a:	8b 48 0c             	mov    0xc(%eax),%ecx
40930d:	e8 ee fd ff ff       	call   0x409100
409312:	eb 02                	jmp    0x409316
409314:	33 c0                	xor    %eax,%eax
409316:	5d                   	pop    %ebp
409317:	c2 0c 00             	ret    $0xc
40931a:	8b ff                	mov    %edi,%edi
40931c:	55                   	push   %ebp
40931d:	8b ec                	mov    %esp,%ebp
40931f:	6a 00                	push   $0x0
409321:	e8 f0 f4 ff ff       	call   0x408816
409326:	85 c0                	test   %eax,%eax
409328:	74 19                	je     0x409343
40932a:	81 78 04 00 00 08 00 	cmpl   $0x80000,0x4(%eax)
409331:	75 10                	jne    0x409343
409333:	ff 75 0c             	push   0xc(%ebp)
409336:	8b 55 08             	mov    0x8(%ebp),%edx
409339:	8b 48 0c             	mov    0xc(%eax),%ecx
40933c:	e8 4d fe ff ff       	call   0x40918e
409341:	eb 02                	jmp    0x409345
409343:	33 c0                	xor    %eax,%eax
409345:	5d                   	pop    %ebp
409346:	c2 08 00             	ret    $0x8
409349:	8b ff                	mov    %edi,%edi
40934b:	55                   	push   %ebp
40934c:	8b ec                	mov    %esp,%ebp
40934e:	8b 0d b0 14 41 00    	mov    0x4114b0,%ecx
409354:	56                   	push   %esi
409355:	33 f6                	xor    %esi,%esi
409357:	56                   	push   %esi
409358:	6a 03                	push   $0x3
40935a:	5a                   	pop    %edx
40935b:	e8 b6 f4 ff ff       	call   0x408816
409360:	85 c0                	test   %eax,%eax
409362:	74 20                	je     0x409384
409364:	81 78 04 00 00 08 00 	cmpl   $0x80000,0x4(%eax)
40936b:	75 17                	jne    0x409384
40936d:	8b 55 08             	mov    0x8(%ebp),%edx
409370:	8b 48 0c             	mov    0xc(%eax),%ecx
409373:	56                   	push   %esi
409374:	e8 9d f4 ff ff       	call   0x408816
409379:	85 c0                	test   %eax,%eax
40937b:	74 03                	je     0x409380
40937d:	8b 70 04             	mov    0x4(%eax),%esi
409380:	8b c6                	mov    %esi,%eax
409382:	eb 02                	jmp    0x409386
409384:	33 c0                	xor    %eax,%eax
409386:	5e                   	pop    %esi
409387:	5d                   	pop    %ebp
409388:	c2 04 00             	ret    $0x4
40938b:	8b ff                	mov    %edi,%edi
40938d:	55                   	push   %ebp
40938e:	8b ec                	mov    %esp,%ebp
409390:	51                   	push   %ecx
409391:	6a 01                	push   $0x1
409393:	ff 75 08             	push   0x8(%ebp)
409396:	68 00 00 02 00       	push   $0x20000
40939b:	e8 40 f6 ff ff       	call   0x4089e0
4093a0:	5d                   	pop    %ebp
4093a1:	c2 0c 00             	ret    $0xc
4093a4:	8b ff                	mov    %edi,%edi
4093a6:	55                   	push   %ebp
4093a7:	8b ec                	mov    %esp,%ebp
4093a9:	56                   	push   %esi
4093aa:	57                   	push   %edi
4093ab:	8b f9                	mov    %ecx,%edi
4093ad:	e8 b8 f6 ff ff       	call   0x408a6a
4093b2:	85 c0                	test   %eax,%eax
4093b4:	74 36                	je     0x4093ec
4093b6:	8b 75 08             	mov    0x8(%ebp),%esi
4093b9:	8b ce                	mov    %esi,%ecx
4093bb:	e8 aa f6 ff ff       	call   0x408a6a
4093c0:	85 c0                	test   %eax,%eax
4093c2:	74 28                	je     0x4093ec
4093c4:	6a 00                	push   $0x0
4093c6:	8b cf                	mov    %edi,%ecx
4093c8:	e8 49 f4 ff ff       	call   0x408816
4093cd:	85 c0                	test   %eax,%eax
4093cf:	74 1b                	je     0x4093ec
4093d1:	b9 00 00 08 00       	mov    $0x80000,%ecx
4093d6:	39 48 04             	cmp    %ecx,0x4(%eax)
4093d9:	74 06                	je     0x4093e1
4093db:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
4093df:	75 0b                	jne    0x4093ec
4093e1:	89 70 0c             	mov    %esi,0xc(%eax)
4093e4:	89 48 04             	mov    %ecx,0x4(%eax)
4093e7:	33 c0                	xor    %eax,%eax
4093e9:	40                   	inc    %eax
4093ea:	eb 02                	jmp    0x4093ee
4093ec:	33 c0                	xor    %eax,%eax
4093ee:	5f                   	pop    %edi
4093ef:	5e                   	pop    %esi
4093f0:	5d                   	pop    %ebp
4093f1:	c2 04 00             	ret    $0x4
4093f4:	8b ff                	mov    %edi,%edi
4093f6:	55                   	push   %ebp
4093f7:	8b ec                	mov    %esp,%ebp
4093f9:	6a 00                	push   $0x0
4093fb:	e8 16 f4 ff ff       	call   0x408816
409400:	85 c0                	test   %eax,%eax
409402:	74 19                	je     0x40941d
409404:	81 78 04 00 00 08 00 	cmpl   $0x80000,0x4(%eax)
40940b:	75 10                	jne    0x40941d
40940d:	ff 75 0c             	push   0xc(%ebp)
409410:	8b 55 08             	mov    0x8(%ebp),%edx
409413:	8b 48 0c             	mov    0xc(%eax),%ecx
409416:	e8 89 ff ff ff       	call   0x4093a4
40941b:	eb 03                	jmp    0x409420
40941d:	83 c8 ff             	or     $0xffffffff,%eax
409420:	5d                   	pop    %ebp
409421:	c2 08 00             	ret    $0x8
409424:	8b ff                	mov    %edi,%edi
409426:	55                   	push   %ebp
409427:	8b ec                	mov    %esp,%ebp
409429:	8b 45 0c             	mov    0xc(%ebp),%eax
40942c:	56                   	push   %esi
40942d:	33 f6                	xor    %esi,%esi
40942f:	85 c0                	test   %eax,%eax
409431:	74 07                	je     0x40943a
409433:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
409438:	76 05                	jbe    0x40943f
40943a:	be 57 00 07 80       	mov    $0x80070057,%esi
40943f:	85 f6                	test   %esi,%esi
409441:	78 37                	js     0x40947a
409443:	53                   	push   %ebx
409444:	8b 5d 08             	mov    0x8(%ebp),%ebx
409447:	33 f6                	xor    %esi,%esi
409449:	57                   	push   %edi
40944a:	8d 78 ff             	lea    -0x1(%eax),%edi
40944d:	8d 45 14             	lea    0x14(%ebp),%eax
409450:	50                   	push   %eax
409451:	ff 75 10             	push   0x10(%ebp)
409454:	57                   	push   %edi
409455:	53                   	push   %ebx
409456:	ff 15 d4 22 41 00    	call   *0x4122d4
40945c:	83 c4 10             	add    $0x10,%esp
40945f:	85 c0                	test   %eax,%eax
409461:	78 08                	js     0x40946b
409463:	3b c7                	cmp    %edi,%eax
409465:	77 04                	ja     0x40946b
409467:	75 0d                	jne    0x409476
409469:	eb 05                	jmp    0x409470
40946b:	be 7a 00 07 80       	mov    $0x8007007a,%esi
409470:	33 c0                	xor    %eax,%eax
409472:	66 89 04 7b          	mov    %ax,(%ebx,%edi,2)
409476:	5f                   	pop    %edi
409477:	5b                   	pop    %ebx
409478:	eb 0c                	jmp    0x409486
40947a:	85 c0                	test   %eax,%eax
40947c:	74 08                	je     0x409486
40947e:	8b 4d 08             	mov    0x8(%ebp),%ecx
409481:	33 c0                	xor    %eax,%eax
409483:	66 89 01             	mov    %ax,(%ecx)
409486:	8b c6                	mov    %esi,%eax
409488:	5e                   	pop    %esi
409489:	5d                   	pop    %ebp
40948a:	c3                   	ret
40948b:	8b ff                	mov    %edi,%edi
40948d:	56                   	push   %esi
40948e:	33 f6                	xor    %esi,%esi
409490:	46                   	inc    %esi
409491:	39 35 b8 14 41 00    	cmp    %esi,0x4114b8
409497:	75 2b                	jne    0x4094c4
409499:	8b 0d b0 14 41 00    	mov    0x4114b0,%ecx
40949f:	e8 c6 f5 ff ff       	call   0x408a6a
4094a4:	85 c0                	test   %eax,%eax
4094a6:	0f 85 91 00 00 00    	jne    0x40953d
4094ac:	ff 15 48 20 41 00    	call   *0x412048
4094b2:	85 c0                	test   %eax,%eax
4094b4:	0f 85 99 00 00 00    	jne    0x409553
4094ba:	68 2b 04 00 00       	push   $0x42b
4094bf:	e9 89 00 00 00       	jmp    0x40954d
4094c4:	83 3d b0 14 41 00 00 	cmpl   $0x0,0x4114b0
4094cb:	75 df                	jne    0x4094ac
4094cd:	e8 a8 f5 ff ff       	call   0x408a7a
4094d2:	8b c8                	mov    %eax,%ecx
4094d4:	89 0d b0 14 41 00    	mov    %ecx,0x4114b0
4094da:	e8 8b f5 ff ff       	call   0x408a6a
4094df:	85 c0                	test   %eax,%eax
4094e1:	74 5e                	je     0x409541
4094e3:	51                   	push   %ecx
4094e4:	ba 8c 18 40 00       	mov    $0x40188c,%edx
4094e9:	e8 11 f6 ff ff       	call   0x408aff
4094ee:	85 c0                	test   %eax,%eax
4094f0:	75 4f                	jne    0x409541
4094f2:	8b 0d b0 14 41 00    	mov    0x4114b0,%ecx
4094f8:	6a 03                	push   $0x3
4094fa:	5a                   	pop    %edx
4094fb:	e8 8b f7 ff ff       	call   0x408c8b
409500:	3b c6                	cmp    %esi,%eax
409502:	75 3d                	jne    0x409541
409504:	8b 0d b0 14 41 00    	mov    0x4114b0,%ecx
40950a:	6a 03                	push   $0x3
40950c:	5a                   	pop    %edx
40950d:	e8 79 f7 ff ff       	call   0x408c8b
409512:	83 f8 02             	cmp    $0x2,%eax
409515:	75 2a                	jne    0x409541
409517:	8b 0d b0 14 41 00    	mov    0x4114b0,%ecx
40951d:	6a 03                	push   $0x3
40951f:	5a                   	pop    %edx
409520:	e8 66 f7 ff ff       	call   0x408c8b
409525:	83 f8 03             	cmp    $0x3,%eax
409528:	75 17                	jne    0x409541
40952a:	6a 00                	push   $0x0
40952c:	89 35 b8 14 41 00    	mov    %esi,0x4114b8
409532:	ff 15 cc 20 41 00    	call   *0x4120cc
409538:	66 85 c0             	test   %ax,%ax
40953b:	74 16                	je     0x409553
40953d:	8b c6                	mov    %esi,%eax
40953f:	5e                   	pop    %esi
409540:	c3                   	ret
409541:	ff 15 48 20 41 00    	call   *0x412048
409547:	85 c0                	test   %eax,%eax
409549:	75 08                	jne    0x409553
40954b:	6a 08                	push   $0x8
40954d:	ff 15 74 20 41 00    	call   *0x412074
409553:	33 c0                	xor    %eax,%eax
409555:	5e                   	pop    %esi
409556:	c3                   	ret
409557:	83 3d b8 14 41 00 00 	cmpl   $0x0,0x4114b8
40955e:	56                   	push   %esi
40955f:	8b f1                	mov    %ecx,%esi