40b29b:	89 86 b0 0c 00 00    	mov    %eax,0xcb0(%esi)
40b2a1:	0f 84 f3 02 00 00    	je     0x40b59a
40b2a7:	83 be a8 0c 00 00 00 	cmpl   $0x0,0xca8(%esi)
40b2ae:	0f 84 e6 02 00 00    	je     0x40b59a
40b2b4:	85 c0                	test   %eax,%eax
40b2b6:	0f 84 de 02 00 00    	je     0x40b59a
40b2bc:	53                   	push   %ebx
40b2bd:	6a 0c                	push   $0xc
40b2bf:	8d 55 f0             	lea    -0x10(%ebp),%edx
40b2c2:	52                   	push   %edx
40b2c3:	8d 86 30 20 01 00    	lea    0x12030(%esi),%eax
40b2c9:	50                   	push   %eax
40b2ca:	c7 45 f0 5b 00 45 00 	movl   $0x45005b,-0x10(%ebp)
40b2d1:	c7 45 f4 73 00 63 00 	movl   $0x630073,-0xc(%ebp)
40b2d8:	c7 45 f8 5d 00 00 00 	movl   $0x5d,-0x8(%ebp)
40b2df:	e8 7c d0 00 00       	call   0x418360
40b2e4:	6a 0c                	push   $0xc
40b2e6:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40b2e9:	51                   	push   %ecx
40b2ea:	8d 96 48 20 01 00    	lea    0x12048(%esi),%edx
40b2f0:	52                   	push   %edx
40b2f1:	c7 45 e4 5b 00 41 00 	movl   $0x41005b,-0x1c(%ebp)
40b2f8:	c7 45 e8 6c 00 74 00 	movl   $0x74006c,-0x18(%ebp)
40b2ff:	c7 45 ec 5d 00 00 00 	movl   $0x5d,-0x14(%ebp)
40b306:	e8 55 d0 00 00       	call   0x418360
40b30b:	6a 0c                	push   $0xc
40b30d:	8d 45 d8             	lea    -0x28(%ebp),%eax
40b310:	50                   	push   %eax
40b311:	8d 8e 60 20 01 00    	lea    0x12060(%esi),%ecx
40b317:	51                   	push   %ecx
40b318:	c7 45 d8 5b 00 54 00 	movl   $0x54005b,-0x28(%ebp)
40b31f:	c7 45 dc 61 00 62 00 	movl   $0x620061,-0x24(%ebp)
40b326:	c7 45 e0 5d 00 00 00 	movl   $0x5d,-0x20(%ebp)
40b32d:	e8 2e d0 00 00       	call   0x418360
40b332:	6a 10                	push   $0x10
40b334:	8d 4d b8             	lea    -0x48(%ebp),%ecx
40b337:	51                   	push   %ecx
40b338:	8d 96 78 20 01 00    	lea    0x12078(%esi),%edx
40b33e:	52                   	push   %edx
40b33f:	c7 45 b8 5b 00 45 00 	movl   $0x45005b,-0x48(%ebp)
40b346:	c7 45 bc 6e 00 74 00 	movl   $0x74006e,-0x44(%ebp)
40b34d:	c7 45 c0 65 00 72 00 	movl   $0x720065,-0x40(%ebp)
40b354:	c7 45 c4 5d 00 00 00 	movl   $0x5d,-0x3c(%ebp)
40b35b:	e8 00 d0 00 00       	call   0x418360
40b360:	6a 10                	push   $0x10
40b362:	8d 55 c8             	lea    -0x38(%ebp),%edx
40b365:	52                   	push   %edx
40b366:	8d 86 90 20 01 00    	lea    0x12090(%esi),%eax
40b36c:	50                   	push   %eax
40b36d:	c7 45 c8 5b 00 3c 00 	movl   $0x3c005b,-0x38(%ebp)
40b374:	c7 45 cc 2d 00 44 00 	movl   $0x44002d,-0x34(%ebp)
40b37b:	c7 45 d0 65 00 6c 00 	movl   $0x6c0065,-0x30(%ebp)
40b382:	c7 45 d4 5d 00 00 00 	movl   $0x5d,-0x2c(%ebp)
40b389:	e8 d2 cf 00 00       	call   0x418360
40b38e:	6a 10                	push   $0x10
40b390:	8d 8d a4 fd ff ff    	lea    -0x25c(%ebp),%ecx
40b396:	51                   	push   %ecx
40b397:	56                   	push   %esi
40b398:	e8 43 d6 ff ff       	call   0x4089e0
40b39d:	83 c4 48             	add    $0x48,%esp
40b3a0:	6a 01                	push   $0x1
40b3a2:	8d 85 a4 fd ff ff    	lea    -0x25c(%ebp),%eax
40b3a8:	50                   	push   %eax
40b3a9:	8d 9e 30 14 01 00    	lea    0x11430(%esi),%ebx
40b3af:	33 d2                	xor    %edx,%edx
40b3b1:	53                   	push   %ebx
40b3b2:	56                   	push   %esi
40b3b3:	66 89 95 b4 fd ff ff 	mov    %dx,-0x24c(%ebp)
40b3ba:	e8 91 d7 ff ff       	call   0x408b50
40b3bf:	53                   	push   %ebx
40b3c0:	e8 8b d2 00 00       	call   0x418650
40b3c5:	83 c4 14             	add    $0x14,%esp
40b3c8:	83 f8 0c             	cmp    $0xc,%eax
40b3cb:	0f 82 c8 01 00 00    	jb     0x40b599
40b3d1:	6a 3b                	push   $0x3b
40b3d3:	56                   	push   %esi
40b3d4:	e8 37 6e 00 00       	call   0x412210
40b3d9:	8b 8e 9c 0c 00 00    	mov    0xc9c(%esi),%ecx
40b3df:	50                   	push   %eax
40b3e0:	6a 00                	push   $0x0
40b3e2:	6a 00                	push   $0x0
40b3e4:	51                   	push   %ecx
40b3e5:	57                   	push   %edi
40b3e6:	e8 e5 6e 00 00       	call   0x4122d0
40b3eb:	6a 3c                	push   $0x3c
40b3ed:	56                   	push   %esi
40b3ee:	8b d8                	mov    %eax,%ebx
40b3f0:	e8 1b 6e 00 00       	call   0x412210
40b3f5:	8b 96 9c 0c 00 00    	mov    0xc9c(%esi),%edx
40b3fb:	50                   	push   %eax
40b3fc:	6a 00                	push   $0x0
40b3fe:	6a 00                	push   $0x0
40b400:	52                   	push   %edx
40b401:	57                   	push   %edi
40b402:	e8 c9 6e 00 00       	call   0x4122d0
40b407:	6a 3d                	push   $0x3d
40b409:	56                   	push   %esi
40b40a:	89 45 08             	mov    %eax,0x8(%ebp)
40b40d:	e8 fe 6d 00 00       	call   0x412210
40b412:	83 c4 40             	add    $0x40,%esp
40b415:	50                   	push   %eax
40b416:	8b 86 9c 0c 00 00    	mov    0xc9c(%esi),%eax
40b41c:	6a 00                	push   $0x0
40b41e:	6a 00                	push   $0x0
40b420:	50                   	push   %eax
40b421:	57                   	push   %edi
40b422:	e8 a9 6e 00 00       	call   0x4122d0
40b427:	6a 3e                	push   $0x3e
40b429:	56                   	push   %esi
40b42a:	89 45 fc             	mov    %eax,-0x4(%ebp)
40b42d:	e8 de 6d 00 00       	call   0x412210
40b432:	8b 8e 9c 0c 00 00    	mov    0xc9c(%esi),%ecx
40b438:	50                   	push   %eax
40b439:	6a 00                	push   $0x0
40b43b:	6a 00                	push   $0x0
40b43d:	51                   	push   %ecx
40b43e:	57                   	push   %edi
40b43f:	e8 8c 6e 00 00       	call   0x4122d0
40b444:	6a 41                	push   $0x41
40b446:	56                   	push   %esi
40b447:	89 45 b0             	mov    %eax,-0x50(%ebp)
40b44a:	e8 c1 6d 00 00       	call   0x412210
40b44f:	8b 96 9c 0c 00 00    	mov    0xc9c(%esi),%edx
40b455:	50                   	push   %eax
40b456:	6a 00                	push   $0x0
40b458:	6a 00                	push   $0x0
40b45a:	52                   	push   %edx
40b45b:	57                   	push   %edi
40b45c:	e8 6f 6e 00 00       	call   0x4122d0
40b461:	83 c4 4c             	add    $0x4c,%esp
40b464:	6a 42                	push   $0x42
40b466:	56                   	push   %esi
40b467:	89 45 ac             	mov    %eax,-0x54(%ebp)
40b46a:	e8 a1 6d 00 00       	call   0x412210
40b46f:	50                   	push   %eax
40b470:	8b 86 9c 0c 00 00    	mov    0xc9c(%esi),%eax
40b476:	6a 00                	push   $0x0
40b478:	6a 00                	push   $0x0
40b47a:	50                   	push   %eax
40b47b:	57                   	push   %edi
40b47c:	e8 4f 6e 00 00       	call   0x4122d0
40b481:	83 c4 1c             	add    $0x1c,%esp
40b484:	89 45 b4             	mov    %eax,-0x4c(%ebp)
40b487:	85 db                	test   %ebx,%ebx
40b489:	0f 84 0a 01 00 00    	je     0x40b599
40b48f:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
40b493:	0f 84 00 01 00 00    	je     0x40b599
40b499:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
40b49d:	0f 84 f6 00 00 00    	je     0x40b599
40b4a3:	8b 7d b0             	mov    -0x50(%ebp),%edi
40b4a6:	85 ff                	test   %edi,%edi
40b4a8:	0f 84 eb 00 00 00    	je     0x40b599
40b4ae:	e8 41 e6 00 00       	call   0x419af4
40b4b3:	6a 00                	push   $0x0
40b4b5:	6a 00                	push   $0x0
40b4b7:	89 70 03             	mov    %esi,0x3(%eax)
40b4ba:	e8 b3 02 01 00       	call   0x41b772
40b4bf:	83 c0 02             	add    $0x2,%eax
40b4c2:	50                   	push   %eax
40b4c3:	8d 8e 08 1a 00 00    	lea    0x1a08(%esi),%ecx
40b4c9:	51                   	push   %ecx
40b4ca:	53                   	push   %ebx
40b4cb:	56                   	push   %esi
40b4cc:	e8 3f 7a ff ff       	call   0x402f10
40b4d1:	83 c4 18             	add    $0x18,%esp
40b4d4:	6a 00                	push   $0x0
40b4d6:	6a 00                	push   $0x0
40b4d8:	e8 95 02 01 00       	call   0x41b772
40b4dd:	83 c0 02             	add    $0x2,%eax
40b4e0:	50                   	push   %eax
40b4e1:	8b 45 08             	mov    0x8(%ebp),%eax
40b4e4:	8d 96 88 1a 00 00    	lea    0x1a88(%esi),%edx
40b4ea:	52                   	push   %edx
40b4eb:	50                   	push   %eax
40b4ec:	56                   	push   %esi
40b4ed:	e8 1e 7a ff ff       	call   0x402f10
40b4f2:	83 c4 18             	add    $0x18,%esp
40b4f5:	6a 00                	push   $0x0
40b4f7:	6a 00                	push   $0x0
40b4f9:	e8 81 02 01 00       	call   0x41b77f
40b4fe:	8b 55 fc             	mov    -0x4(%ebp),%edx
40b501:	83 c0 02             	add    $0x2,%eax
40b504:	50                   	push   %eax
40b505:	8d 8e 08 1b 00 00    	lea    0x1b08(%esi),%ecx
40b50b:	51                   	push   %ecx
40b50c:	52                   	push   %edx
40b50d:	56                   	push   %esi
40b50e:	e8 fd 79 ff ff       	call   0x402f10
40b513:	83 c4 18             	add    $0x18,%esp
40b516:	6a 00                	push   $0x0
40b518:	6a 00                	push   $0x0
40b51a:	e8 60 02 01 00       	call   0x41b77f
40b51f:	83 c0 02             	add    $0x2,%eax
40b522:	50                   	push   %eax
40b523:	8d 86 88 1b 00 00    	lea    0x1b88(%esi),%eax
40b529:	50                   	push   %eax
40b52a:	57                   	push   %edi
40b52b:	56                   	push   %esi
40b52c:	e8 df 79 ff ff       	call   0x402f10
40b531:	8b 5d ac             	mov    -0x54(%ebp),%ebx
40b534:	83 c4 18             	add    $0x18,%esp
40b537:	c7 86 a8 20 01 00 01 	movl   $0x1,0x120a8(%esi)
40b53e:	00 00 00
40b541:	85 db                	test   %ebx,%ebx
40b543:	74 54                	je     0x40b599
40b545:	8b 7d b4             	mov    -0x4c(%ebp),%edi
40b548:	85 ff                	test   %edi,%edi
40b54a:	74 4d                	je     0x40b599
40b54c:	e8 3b 02 01 00       	call   0x41b78c
40b551:	89 70 03             	mov    %esi,0x3(%eax)
40b554:	83 be a0 0c 00 00 02 	cmpl   $0x2,0xca0(%esi)
40b55b:	74 3c                	je     0x40b599
40b55d:	6a 00                	push   $0x0
40b55f:	6a 00                	push   $0x0
40b561:	e8 26 02 01 00       	call   0x41b78c
40b566:	83 c0 02             	add    $0x2,%eax
40b569:	50                   	push   %eax
40b56a:	8d 8e 88 1d 00 00    	lea    0x1d88(%esi),%ecx
40b570:	51                   	push   %ecx
40b571:	53                   	push   %ebx
40b572:	56                   	push   %esi
40b573:	e8 98 79 ff ff       	call   0x402f10
40b578:	83 c4 18             	add    $0x18,%esp
40b57b:	6a 00                	push   $0x0
40b57d:	6a 00                	push   $0x0
40b57f:	e8 08 02 01 00       	call   0x41b78c
40b584:	83 c0 02             	add    $0x2,%eax
40b587:	50                   	push   %eax
40b588:	8d 96 08 1e 00 00    	lea    0x1e08(%esi),%edx
40b58e:	52                   	push   %edx
40b58f:	57                   	push   %edi
40b590:	56                   	push   %esi
40b591:	e8 7a 79 ff ff       	call   0x402f10
40b596:	83 c4 18             	add    $0x18,%esp
40b599:	5b                   	pop    %ebx
40b59a:	5f                   	pop    %edi
40b59b:	5e                   	pop    %esi
40b59c:	8b e5                	mov    %ebp,%esp
40b59e:	5d                   	pop    %ebp
40b59f:	c3                   	ret
40b5a0:	55                   	push   %ebp
40b5a1:	8b ec                	mov    %esp,%ebp
40b5a3:	83 ec 08             	sub    $0x8,%esp
40b5a6:	53                   	push   %ebx
40b5a7:	56                   	push   %esi
40b5a8:	8b 75 08             	mov    0x8(%ebp),%esi
40b5ab:	8b 9e d8 07 00 00    	mov    0x7d8(%esi),%ebx
40b5b1:	66 83 3b 01          	cmpw   $0x1,(%ebx)
40b5b5:	8d 45 fc             	lea    -0x4(%ebp),%eax
40b5b8:	89 45 f8             	mov    %eax,-0x8(%ebp)
40b5bb:	57                   	push   %edi
40b5bc:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40b5c3:	b8 00 00 80 00       	mov    $0x800000,%eax
40b5c8:	74 11                	je     0x40b5db
40b5ca:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
40b5d0:	85 c0                	test   %eax,%eax
40b5d2:	74 07                	je     0x40b5db
40b5d4:	48                   	dec    %eax
40b5d5:	66 83 3b 01          	cmpw   $0x1,(%ebx)
40b5d9:	75 f5                	jne    0x40b5d0
40b5db:	8d 43 02             	lea    0x2(%ebx),%eax
40b5de:	b9 04 00 00 00       	mov    $0x4,%ecx
40b5e3:	50                   	push   %eax
40b5e4:	66 89 0b             	mov    %cx,(%ebx)
40b5e7:	e8 64 d0 00 00       	call   0x418650
40b5ec:	8b f8                	mov    %eax,%edi
40b5ee:	83 c4 04             	add    $0x4,%esp
40b5f1:	81 ff 00 04 00 00    	cmp    $0x400,%edi
40b5f7:	0f 87 d6 00 00 00    	ja     0x40b6d3
40b5fd:	83 ff 01             	cmp    $0x1,%edi
40b600:	76 09                	jbe    0x40b60b
40b602:	83 ef 02             	sub    $0x2,%edi
40b605:	8d 44 7b 02          	lea    0x2(%ebx,%edi,2),%eax
40b609:	eb 03                	jmp    0x40b60e
40b60b:	8b 45 f8             	mov    -0x8(%ebp),%eax
40b60e:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40b611:	83 f9 02             	cmp    $0x2,%ecx
40b614:	75 67                	jne    0x40b67d
40b616:	8b 00                	mov    (%eax),%eax
40b618:	3b 86 a8 12 01 00    	cmp    0x112a8(%esi),%eax
40b61e:	75 3b                	jne    0x40b65b
40b620:	8b 8e 88 12 01 00    	mov    0x11288(%esi),%ecx
40b626:	03 c9                	add    %ecx,%ecx
40b628:	51                   	push   %ecx
40b629:	8d 96 b0 13 01 00    	lea    0x113b0(%esi),%edx
40b62f:	52                   	push   %edx
40b630:	8d 44 7b 02          	lea    0x2(%ebx,%edi,2),%eax
40b634:	50                   	push   %eax
40b635:	e8 26 cd 00 00       	call   0x418360
40b63a:	8b 8e 88 12 01 00    	mov    0x11288(%esi),%ecx
40b640:	83 c4 0c             	add    $0xc,%esp
40b643:	03 cf                	add    %edi,%ecx
40b645:	33 d2                	xor    %edx,%edx
40b647:	66 89 54 4b 02       	mov    %dx,0x2(%ebx,%ecx,2)
40b64c:	5f                   	pop    %edi
40b64d:	ba 01 00 00 00       	mov    $0x1,%edx
40b652:	5e                   	pop    %esi
40b653:	66 89 13             	mov    %dx,(%ebx)
40b656:	5b                   	pop    %ebx
40b657:	8b e5                	mov    %ebp,%esp
40b659:	5d                   	pop    %ebp
40b65a:	c3                   	ret
40b65b:	b8 01 00 00 00       	mov    $0x1,%eax
40b660:	6a 04                	push   $0x4
40b662:	56                   	push   %esi
40b663:	66 89 03             	mov    %ax,(%ebx)
40b666:	e8 35 ff ff ff       	call   0x40b5a0
40b66b:	83 c4 08             	add    $0x8,%esp
40b66e:	5f                   	pop    %edi
40b66f:	ba 01 00 00 00       	mov    $0x1,%edx
40b674:	5e                   	pop    %esi
40b675:	66 89 13             	mov    %dx,(%ebx)
40b678:	5b                   	pop    %ebx
40b679:	8b e5                	mov    %ebp,%esp
40b67b:	5d                   	pop    %ebp
40b67c:	c3                   	ret
40b67d:	83 f9 04             	cmp    $0x4,%ecx
40b680:	75 51                	jne    0x40b6d3
40b682:	8b 86 ac 12 01 00    	mov    0x112ac(%esi),%eax
40b688:	8d 0c 38             	lea    (%eax,%edi,1),%ecx
40b68b:	8d 14 00             	lea    (%eax,%eax,1),%edx
40b68e:	52                   	push   %edx
40b68f:	8d 86 30 1c 01 00    	lea    0x11c30(%esi),%eax
40b695:	89 4d 08             	mov    %ecx,0x8(%ebp)
40b698:	50                   	push   %eax
40b699:	8d 4c 7b 02          	lea    0x2(%ebx,%edi,2),%ecx
40b69d:	51                   	push   %ecx
40b69e:	e8 bd cc 00 00       	call   0x418360
40b6a3:	8b 96 88 12 01 00    	mov    0x11288(%esi),%edx
40b6a9:	8b 4d 08             	mov    0x8(%ebp),%ecx
40b6ac:	03 d2                	add    %edx,%edx
40b6ae:	52                   	push   %edx
40b6af:	8d 86 b0 13 01 00    	lea    0x113b0(%esi),%eax
40b6b5:	50                   	push   %eax
40b6b6:	8d 54 4b 02          	lea    0x2(%ebx,%ecx,2),%edx
40b6ba:	52                   	push   %edx
40b6bb:	e8 a0 cc 00 00       	call   0x418360
40b6c0:	8b 86 88 12 01 00    	mov    0x11288(%esi),%eax
40b6c6:	03 45 08             	add    0x8(%ebp),%eax
40b6c9:	83 c4 18             	add    $0x18,%esp
40b6cc:	33 c9                	xor    %ecx,%ecx
40b6ce:	66 89 4c 43 02       	mov    %cx,0x2(%ebx,%eax,2)
40b6d3:	5f                   	pop    %edi
40b6d4:	ba 01 00 00 00       	mov    $0x1,%edx
40b6d9:	5e                   	pop    %esi
40b6da:	66 89 13             	mov    %dx,(%ebx)
40b6dd:	5b                   	pop    %ebx
40b6de:	8b e5                	mov    %ebp,%esp
40b6e0:	5d                   	pop    %ebp
40b6e1:	c3                   	ret