40a200:	74 21                	je     0x40a223
40a202:	8b 4f 04             	mov    0x4(%edi),%ecx
40a205:	ba e3 00 00 00       	mov    $0xe3,%edx
40a20a:	56                   	push   %esi
40a20b:	e8 75 59 00 00       	call   0x40fb85
40a210:	8b 06                	mov    (%esi),%eax
40a212:	6a 01                	push   $0x1
40a214:	8b 30                	mov    (%eax),%esi
40a216:	8b ce                	mov    %esi,%ecx
40a218:	ff 15 90 b3 41 00    	call   *0x41b390
40a21e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40a221:	ff d6                	call   *%esi
40a223:	6a 07                	push   $0x7
40a225:	8b cf                	mov    %edi,%ecx
40a227:	e8 ee 02 00 00       	call   0x40a51a
40a22c:	6a ff                	push   $0xffffffff
40a22e:	8b cf                	mov    %edi,%ecx
40a230:	e8 b4 0b 00 00       	call   0x40ade9
40a235:	8d 4f 18             	lea    0x18(%edi),%ecx
40a238:	e8 58 dd ff ff       	call   0x407f95
40a23d:	e9 a5 01 00 00       	jmp    0x40a3e7
40a242:	33 c0                	xor    %eax,%eax
40a244:	66 3b 45 08          	cmp    0x8(%ebp),%ax
40a248:	0f 85 99 01 00 00    	jne    0x40a3e7
40a24e:	68 88 20 00 00       	push   $0x2088
40a253:	e8 3f 91 00 00       	call   0x413397
40a258:	8b f0                	mov    %eax,%esi
40a25a:	89 75 fc             	mov    %esi,-0x4(%ebp)
40a25d:	59                   	pop    %ecx
40a25e:	85 f6                	test   %esi,%esi
40a260:	0f 84 b9 00 00 00    	je     0x40a31f
40a266:	8d 87 f0 03 00 00    	lea    0x3f0(%edi),%eax
40a26c:	68 88 20 00 00       	push   $0x2088
40a271:	50                   	push   %eax
40a272:	56                   	push   %esi
40a273:	e8 66 9a 00 00       	call   0x413cde
40a278:	33 c0                	xor    %eax,%eax
40a27a:	39 05 70 53 41 00    	cmp    %eax,0x415370
40a280:	6a 18                	push   $0x18
40a282:	0f 94 c0             	sete   %al
40a285:	89 06                	mov    %eax,(%esi)
40a287:	e8 0b 91 00 00       	call   0x413397
40a28c:	8b f0                	mov    %eax,%esi
40a28e:	83 c4 10             	add    $0x10,%esp
40a291:	89 75 f8             	mov    %esi,-0x8(%ebp)
40a294:	85 f6                	test   %esi,%esi
40a296:	74 20                	je     0x40a2b8
40a298:	33 c0                	xor    %eax,%eax
40a29a:	89 5e 04             	mov    %ebx,0x4(%esi)
40a29d:	66 89 46 08          	mov    %ax,0x8(%esi)
40a2a1:	8b 45 fc             	mov    -0x4(%ebp),%eax
40a2a4:	c7 06 c0 16 40 00    	movl   $0x4016c0,(%esi)
40a2aa:	89 46 0c             	mov    %eax,0xc(%esi)
40a2ad:	88 58 06             	mov    %bl,0x6(%eax)
40a2b0:	89 5e 14             	mov    %ebx,0x14(%esi)
40a2b3:	89 5e 10             	mov    %ebx,0x10(%esi)
40a2b6:	eb 05                	jmp    0x40a2bd
40a2b8:	8b f3                	mov    %ebx,%esi
40a2ba:	89 5d f8             	mov    %ebx,-0x8(%ebp)
40a2bd:	85 f6                	test   %esi,%esi
40a2bf:	74 54                	je     0x40a315
40a2c1:	8b 4f 04             	mov    0x4(%edi),%ecx
40a2c4:	ba ce 00 00 00       	mov    $0xce,%edx
40a2c9:	56                   	push   %esi
40a2ca:	e8 b6 58 00 00       	call   0x40fb85
40a2cf:	83 f8 01             	cmp    $0x1,%eax
40a2d2:	75 2e                	jne    0x40a302
40a2d4:	68 88 20 00 00       	push   $0x2088
40a2d9:	ff 75 fc             	push   -0x4(%ebp)
40a2dc:	8d 87 f0 03 00 00    	lea    0x3f0(%edi),%eax
40a2e2:	50                   	push   %eax
40a2e3:	e8 f6 99 00 00       	call   0x413cde
40a2e8:	33 c0                	xor    %eax,%eax
40a2ea:	8d 8f f0 03 00 00    	lea    0x3f0(%edi),%ecx
40a2f0:	83 c4 0c             	add    $0xc,%esp
40a2f3:	39 19                	cmp    %ebx,(%ecx)
40a2f5:	0f 94 c0             	sete   %al
40a2f8:	a3 70 53 41 00       	mov    %eax,0x415370
40a2fd:	e8 62 dd ff ff       	call   0x408064
40a302:	8b 06                	mov    (%esi),%eax
40a304:	6a 01                	push   $0x1
40a306:	8b 30                	mov    (%eax),%esi
40a308:	8b ce                	mov    %esi,%ecx
40a30a:	ff 15 90 b3 41 00    	call   *0x41b390
40a310:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40a313:	ff d6                	call   *%esi
40a315:	ff 75 fc             	push   -0x4(%ebp)
40a318:	ff 15 cc b2 41 00    	call   *0x41b2cc
40a31e:	59                   	pop    %ecx
40a31f:	6a 06                	push   $0x6
40a321:	8b cf                	mov    %edi,%ecx
40a323:	e8 f2 01 00 00       	call   0x40a51a
40a328:	6a ff                	push   $0xffffffff
40a32a:	8b cf                	mov    %edi,%ecx
40a32c:	e8 b8 0a 00 00       	call   0x40ade9
40a331:	e9 b1 00 00 00       	jmp    0x40a3e7
40a336:	6a 01                	push   $0x1
40a338:	51                   	push   %ecx
40a339:	8b 4f 04             	mov    0x4(%edi),%ecx
40a33c:	6a 46                	push   $0x46
40a33e:	5a                   	pop    %edx
40a33f:	e8 a7 5a 00 00       	call   0x40fdeb
40a344:	83 f8 01             	cmp    $0x1,%eax
40a347:	0f 85 9a 00 00 00    	jne    0x40a3e7
40a34d:	e8 5b df ff ff       	call   0x4082ad
40a352:	8b cf                	mov    %edi,%ecx
40a354:	e8 f9 04 00 00       	call   0x40a852
40a359:	e9 89 00 00 00       	jmp    0x40a3e7
40a35e:	8b 4d dc             	mov    -0x24(%ebp),%ecx
40a361:	6b c1 3c             	imul   $0x3c,%ecx,%eax
40a364:	c7 80 08 52 41 00 02 	movl   $0x2,0x415208(%eax)
40a36b:	00 00 00
40a36e:	e9 24 fe ff ff       	jmp    0x40a197
40a373:	2d 55 04 00 00       	sub    $0x455,%eax
40a378:	74 6d                	je     0x40a3e7
40a37a:	2b c2                	sub    %edx,%eax
40a37c:	74 34                	je     0x40a3b2
40a37e:	83 e8 0e             	sub    $0xe,%eax
40a381:	74 1a                	je     0x40a39d
40a383:	2b c2                	sub    %edx,%eax
40a385:	74 05                	je     0x40a38c
40a387:	33 db                	xor    %ebx,%ebx
40a389:	43                   	inc    %ebx
40a38a:	eb 5b                	jmp    0x40a3e7
40a38c:	8b 4d dc             	mov    -0x24(%ebp),%ecx
40a38f:	6b c1 3c             	imul   $0x3c,%ecx,%eax
40a392:	89 90 08 52 41 00    	mov    %edx,0x415208(%eax)
40a398:	e9 fa fd ff ff       	jmp    0x40a197
40a39d:	8b 4d dc             	mov    -0x24(%ebp),%ecx
40a3a0:	6b c1 3c             	imul   $0x3c,%ecx,%eax
40a3a3:	c7 80 08 52 41 00 03 	movl   $0x3,0x415208(%eax)
40a3aa:	00 00 00
40a3ad:	e9 e5 fd ff ff       	jmp    0x40a197
40a3b2:	6a 09                	push   $0x9
40a3b4:	58                   	pop    %eax
40a3b5:	66 3b 45 08          	cmp    0x8(%ebp),%ax
40a3b9:	75 2c                	jne    0x40a3e7
40a3bb:	53                   	push   %ebx
40a3bc:	53                   	push   %ebx
40a3bd:	68 47 01 00 00       	push   $0x147
40a3c2:	ff 75 0c             	push   0xc(%ebp)
40a3c5:	ff 15 d8 b1 41 00    	call   *0x41b1d8
40a3cb:	83 f8 ff             	cmp    $0xffffffff,%eax
40a3ce:	74 17                	je     0x40a3e7
40a3d0:	8b 75 dc             	mov    -0x24(%ebp),%esi
40a3d3:	8d 50 02             	lea    0x2(%eax),%edx
40a3d6:	6b ce 3c             	imul   $0x3c,%esi,%ecx
40a3d9:	56                   	push   %esi
40a3da:	89 91 08 52 41 00    	mov    %edx,0x415208(%ecx)
40a3e0:	8b cf                	mov    %edi,%ecx
40a3e2:	e8 33 01 00 00       	call   0x40a51a
40a3e7:	8b c3                	mov    %ebx,%eax
40a3e9:	5f                   	pop    %edi
40a3ea:	5e                   	pop    %esi
40a3eb:	5b                   	pop    %ebx
40a3ec:	c9                   	leave
40a3ed:	c2 08 00             	ret    $0x8
40a3f0:	a1 18 98 41 00       	mov    0x419818,%eax
40a3f5:	53                   	push   %ebx
40a3f6:	56                   	push   %esi
40a3f7:	57                   	push   %edi
40a3f8:	33 ff                	xor    %edi,%edi
40a3fa:	8b d9                	mov    %ecx,%ebx
40a3fc:	3d 22 00 10 00       	cmp    $0x100022,%eax
40a401:	74 27                	je     0x40a42a
40a403:	3d 23 00 10 00       	cmp    $0x100023,%eax
40a408:	74 20                	je     0x40a42a
40a40a:	3d 24 00 10 00       	cmp    $0x100024,%eax
40a40f:	74 19                	je     0x40a42a
40a411:	3d 14 00 02 00       	cmp    $0x20014,%eax
40a416:	74 12                	je     0x40a42a
40a418:	3d 31 00 00 04       	cmp    $0x4000031,%eax
40a41d:	74 0b                	je     0x40a42a
40a41f:	3d 30 00 01 00       	cmp    $0x10030,%eax
40a424:	74 04                	je     0x40a42a
40a426:	8b c7                	mov    %edi,%eax
40a428:	eb 03                	jmp    0x40a42d
40a42a:	33 c0                	xor    %eax,%eax
40a42c:	40                   	inc    %eax
40a42d:	89 43 14             	mov    %eax,0x14(%ebx)
40a430:	be 10 52 41 00       	mov    $0x415210,%esi
40a435:	a1 80 93 41 00       	mov    0x419380,%eax
40a43a:	85 06                	test   %eax,(%esi)
40a43c:	74 08                	je     0x40a446
40a43e:	57                   	push   %edi
40a43f:	8b cb                	mov    %ebx,%ecx
40a441:	e8 d4 00 00 00       	call   0x40a51a
40a446:	83 c6 3c             	add    $0x3c,%esi
40a449:	47                   	inc    %edi
40a44a:	81 fe c0 56 41 00    	cmp    $0x4156c0,%esi
40a450:	7c e3                	jl     0x40a435
40a452:	6a ff                	push   $0xffffffff
40a454:	8b cb                	mov    %ebx,%ecx
40a456:	e8 8e 09 00 00       	call   0x40ade9
40a45b:	5f                   	pop    %edi
40a45c:	5e                   	pop    %esi
40a45d:	33 c0                	xor    %eax,%eax
40a45f:	5b                   	pop    %ebx
40a460:	c2 04 00             	ret    $0x4
40a463:	cc                   	int3
40a464:	cc                   	int3
40a465:	cc                   	int3
40a466:	cc                   	int3
40a467:	cc                   	int3
40a468:	cc                   	int3
40a469:	cc                   	int3
40a46a:	cc                   	int3
40a46b:	cc                   	int3
40a46c:	cc                   	int3
40a46d:	cc                   	int3
40a46e:	cc                   	int3
40a46f:	cc                   	int3
40a470:	8b ff                	mov    %edi,%edi
40a472:	56                   	push   %esi
40a473:	8b f1                	mov    %ecx,%esi
40a475:	e8 d4 06 00 00       	call   0x40ab4e
40a47a:	68 54 04 00 00       	push   $0x454
40a47f:	8b ce                	mov    %esi,%ecx
40a481:	e8 a2 28 00 00       	call   0x40cd28
40a486:	33 c0                	xor    %eax,%eax
40a488:	5e                   	pop    %esi
40a489:	c2 04 00             	ret    $0x4
40a48c:	cc                   	int3
40a48d:	cc                   	int3
40a48e:	cc                   	int3
40a48f:	cc                   	int3
40a490:	8b ff                	mov    %edi,%edi
40a492:	55                   	push   %ebp
40a493:	8b ec                	mov    %esp,%ebp
40a495:	56                   	push   %esi
40a496:	57                   	push   %edi
40a497:	33 ff                	xor    %edi,%edi
40a499:	8b f1                	mov    %ecx,%esi
40a49b:	57                   	push   %edi
40a49c:	57                   	push   %edi
40a49d:	68 42 10 00 00       	push   $0x1042
40a4a2:	ff 76 0c             	push   0xc(%esi)
40a4a5:	ff 15 d8 b1 41 00    	call   *0x41b1d8
40a4ab:	8b 45 08             	mov    0x8(%ebp),%eax
40a4ae:	8b 56 0c             	mov    0xc(%esi),%edx
40a4b1:	3b 10                	cmp    (%eax),%edx
40a4b3:	75 53                	jne    0x40a508
40a4b5:	8b 48 08             	mov    0x8(%eax),%ecx
40a4b8:	81 f9 4b ff ff ff    	cmp    $0xffffff4b,%ecx
40a4be:	74 34                	je     0x40a4f4
40a4c0:	81 f9 65 ff ff ff    	cmp    $0xffffff65,%ecx
40a4c6:	74 1f                	je     0x40a4e7
40a4c8:	83 f9 9b             	cmp    $0xffffff9b,%ecx
40a4cb:	74 0e                	je     0x40a4db
40a4cd:	83 f9 fd             	cmp    $0xfffffffd,%ecx
40a4d0:	8b ce                	mov    %esi,%ecx
40a4d2:	75 36                	jne    0x40a50a
40a4d4:	e8 6a 0f 00 00       	call   0x40b443
40a4d9:	eb 37                	jmp    0x40a512
40a4db:	ff 70 0c             	push   0xc(%eax)
40a4de:	8b ce                	mov    %esi,%ecx
40a4e0:	e8 04 09 00 00       	call   0x40ade9
40a4e5:	eb 2b                	jmp    0x40a512
40a4e7:	6a 20                	push   $0x20
40a4e9:	59                   	pop    %ecx
40a4ea:	66 3b 48 0c          	cmp    0xc(%eax),%cx
40a4ee:	75 22                	jne    0x40a512
40a4f0:	8b ce                	mov    %esi,%ecx
40a4f2:	eb e0                	jmp    0x40a4d4
40a4f4:	57                   	push   %edi
40a4f5:	57                   	push   %edi
40a4f6:	52                   	push   %edx
40a4f7:	ff 15 2c b2 41 00    	call   *0x41b22c
40a4fd:	ff 76 0c             	push   0xc(%esi)
40a500:	ff 15 30 b2 41 00    	call   *0x41b230
40a506:	eb 0a                	jmp    0x40a512
40a508:	8b ce                	mov    %esi,%ecx
40a50a:	50                   	push   %eax
40a50b:	e8 40 28 00 00       	call   0x40cd50
40a510:	8b f8                	mov    %eax,%edi
40a512:	8b c7                	mov    %edi,%eax
40a514:	5f                   	pop    %edi
40a515:	5e                   	pop    %esi
40a516:	5d                   	pop    %ebp
40a517:	c2 04 00             	ret    $0x4
40a51a:	8b ff                	mov    %edi,%edi
40a51c:	55                   	push   %ebp
40a51d:	8b ec                	mov    %esp,%ebp
40a51f:	83 ec 44             	sub    $0x44,%esp
40a522:	8b 45 08             	mov    0x8(%ebp),%eax
40a525:	56                   	push   %esi
40a526:	57                   	push   %edi
40a527:	8b f9                	mov    %ecx,%edi
40a529:	33 c9                	xor    %ecx,%ecx
40a52b:	89 4d f8             	mov    %ecx,-0x8(%ebp)
40a52e:	8b f1                	mov    %ecx,%esi
40a530:	83 f8 13             	cmp    $0x13,%eax
40a533:	0f 87 da 02 00 00    	ja     0x40a813
40a539:	0f b6 80 3e a8 40 00 	movzbl 0x40a83e(%eax),%eax
40a540:	ff 24 85 1a a8 40 00 	jmp    *0x40a81a(,%eax,4)
40a547:	39 0d 10 98 41 00    	cmp    %ecx,0x419810
40a54d:	74 08                	je     0x40a557
40a54f:	6a 77                	push   $0x77
40a551:	5e                   	pop    %esi
40a552:	e9 0d 02 00 00       	jmp    0x40a764
40a557:	a1 f8 52 41 00       	mov    0x4152f8,%eax
40a55c:	8b 55 08             	mov    0x8(%ebp),%edx
40a55f:	83 f8 05             	cmp    $0x5,%eax
40a562:	0f 83 ff 01 00 00    	jae    0x40a767
40a568:	8b 34 85 dc 52 41 00 	mov    0x4152dc(,%eax,4),%esi
40a56f:	e9 f3 01 00 00       	jmp    0x40a767
40a574:	83 3d 70 53 41 00 05 	cmpl   $0x5,0x415370
40a57b:	0f 83 e3 01 00 00    	jae    0x40a764
40a581:	68 02 04 00 00       	push   $0x402
40a586:	ff 77 04             	push   0x4(%edi)
40a589:	ff 15 d0 b1 41 00    	call   *0x41b1d0
40a58f:	85 c0                	test   %eax,%eax
40a591:	74 13                	je     0x40a5a6
40a593:	33 c9                	xor    %ecx,%ecx
40a595:	39 0d 70 53 41 00    	cmp    %ecx,0x415370
40a59b:	0f 94 c1             	sete   %cl
40a59e:	51                   	push   %ecx
40a59f:	50                   	push   %eax
40a5a0:	ff 15 dc b1 41 00    	call   *0x41b1dc
40a5a6:	33 c0                	xor    %eax,%eax
40a5a8:	8b cf                	mov    %edi,%ecx
40a5aa:	39 05 70 53 41 00    	cmp    %eax,0x415370
40a5b0:	6a 0f                	push   $0xf
40a5b2:	0f 94 c0             	sete   %al
40a5b5:	89 87 f0 03 00 00    	mov    %eax,0x3f0(%edi)
40a5bb:	e8 5a ff ff ff       	call   0x40a51a
40a5c0:	6a 10                	push   $0x10
40a5c2:	8b cf                	mov    %edi,%ecx
40a5c4:	e8 51 ff ff ff       	call   0x40a51a
40a5c9:	a1 70 53 41 00       	mov    0x415370,%eax
40a5ce:	8b 55 08             	mov    0x8(%ebp),%edx
40a5d1:	83 f8 05             	cmp    $0x5,%eax
40a5d4:	0f 83 8d 01 00 00    	jae    0x40a767
40a5da:	8b 34 85 54 53 41 00 	mov    0x415354(,%eax,4),%esi
40a5e1:	e9 81 01 00 00       	jmp    0x40a767
40a5e6:	8b 55 08             	mov    0x8(%ebp),%edx
40a5e9:	6b c2 3c             	imul   $0x3c,%edx,%eax
40a5ec:	8b 88 08 52 41 00    	mov    0x415208(%eax),%ecx
40a5f2:	83 f9 05             	cmp    $0x5,%ecx
40a5f5:	0f 83 6c 01 00 00    	jae    0x40a767
40a5fb:	6b c2 0f             	imul   $0xf,%edx,%eax
40a5fe:	03 c1                	add    %ecx,%eax
40a600:	8b 34 85 ec 51 41 00 	mov    0x4151ec(,%eax,4),%esi
40a607:	e9 5b 01 00 00       	jmp    0x40a767
40a60c:	a1 c8 55 41 00       	mov    0x4155c8,%eax
40a611:	83 f8 05             	cmp    $0x5,%eax
40a614:	0f 83 4a 01 00 00    	jae    0x40a764
40a61a:	39 8f f0 03 00 00    	cmp    %ecx,0x3f0(%edi)
40a620:	75 15                	jne    0x40a637
40a622:	83 3d ac 53 41 00 02 	cmpl   $0x2,0x4153ac