4091c3:	50                   	push   %eax
4091c4:	ff 15 80 b0 41 00    	call   *0x41b080
4091ca:	83 a6 44 01 00 00 00 	andl   $0x0,0x144(%esi)
4091d1:	8b 86 48 01 00 00    	mov    0x148(%esi),%eax
4091d7:	85 c0                	test   %eax,%eax
4091d9:	74 0e                	je     0x4091e9
4091db:	50                   	push   %eax
4091dc:	ff 15 80 b0 41 00    	call   *0x41b080
4091e2:	83 a6 48 01 00 00 00 	andl   $0x0,0x148(%esi)
4091e9:	56                   	push   %esi
4091ea:	ff 15 cc b2 41 00    	call   *0x41b2cc
4091f0:	59                   	pop    %ecx
4091f1:	8b c6                	mov    %esi,%eax
4091f3:	5e                   	pop    %esi
4091f4:	c2 04 00             	ret    $0x4
4091f7:	cc                   	int3
4091f8:	cc                   	int3
4091f9:	cc                   	int3
4091fa:	cc                   	int3
4091fb:	cc                   	int3
4091fc:	cc                   	int3
4091fd:	cc                   	int3
4091fe:	cc                   	int3
4091ff:	cc                   	int3
409200:	8b ff                	mov    %edi,%edi
409202:	55                   	push   %ebp
409203:	8b ec                	mov    %esp,%ebp
409205:	83 e4 f8             	and    $0xfffffff8,%esp
409208:	81 ec b4 00 00 00    	sub    $0xb4,%esp
40920e:	a1 18 51 41 00       	mov    0x415118,%eax
409213:	33 c4                	xor    %esp,%eax
409215:	89 84 24 b0 00 00 00 	mov    %eax,0xb0(%esp)
40921c:	53                   	push   %ebx
40921d:	56                   	push   %esi
40921e:	57                   	push   %edi
40921f:	8b f9                	mov    %ecx,%edi
409221:	89 7c 24 10          	mov    %edi,0x10(%esp)
409225:	8b 4f 04             	mov    0x4(%edi),%ecx
409228:	e8 77 6a 00 00       	call   0x40fca4
40922d:	68 08 02 00 00       	push   $0x208
409232:	e8 55 a3 00 00       	call   0x41358c
409237:	89 44 24 18          	mov    %eax,0x18(%esp)
40923b:	59                   	pop    %ecx
40923c:	85 c0                	test   %eax,%eax
40923e:	0f 84 6b 01 00 00    	je     0x4093af
409244:	8d 44 24 48          	lea    0x48(%esp),%eax
409248:	50                   	push   %eax
409249:	68 0b 04 00 00       	push   $0x40b
40924e:	ff 77 04             	push   0x4(%edi)
409251:	ff 15 d0 b1 41 00    	call   *0x41b1d0
409257:	50                   	push   %eax
409258:	ff 15 f8 b1 41 00    	call   *0x41b1f8
40925e:	68 4c 01 00 00       	push   $0x14c
409263:	e8 2f a1 00 00       	call   0x413397
409268:	8b f0                	mov    %eax,%esi
40926a:	33 db                	xor    %ebx,%ebx
40926c:	89 74 24 1c          	mov    %esi,0x1c(%esp)
409270:	59                   	pop    %ecx
409271:	85 f6                	test   %esi,%esi
409273:	74 1d                	je     0x409292
409275:	68 40 01 00 00       	push   $0x140
40927a:	53                   	push   %ebx
40927b:	56                   	push   %esi
40927c:	89 9e 44 01 00 00    	mov    %ebx,0x144(%esi)
409282:	89 9e 48 01 00 00    	mov    %ebx,0x148(%esi)
409288:	e8 d4 ae 00 00       	call   0x414161
40928d:	83 c4 0c             	add    $0xc,%esp
409290:	eb 02                	jmp    0x409294
409292:	8b f3                	mov    %ebx,%esi
409294:	89 77 14             	mov    %esi,0x14(%edi)
409297:	85 f6                	test   %esi,%esi
409299:	74 25                	je     0x4092c0
40929b:	6a 05                	push   $0x5
40929d:	8d 44 24 4c          	lea    0x4c(%esp),%eax
4092a1:	8b ce                	mov    %esi,%ecx
4092a3:	50                   	push   %eax
4092a4:	ff 77 04             	push   0x4(%edi)
4092a7:	e8 08 5a 00 00       	call   0x40ecb4
4092ac:	c7 05 24 98 41 00 10 	movl   $0x409010,0x419824
4092b3:	90 40 00
4092b6:	c7 05 20 98 41 00 d0 	movl   $0x408ed0,0x419820
4092bd:	8e 40 00
4092c0:	68 ed 03 00 00       	push   $0x3ed
4092c5:	ff 77 04             	push   0x4(%edi)
4092c8:	ff 15 d0 b1 41 00    	call   *0x41b1d0
4092ce:	8b f8                	mov    %eax,%edi
4092d0:	8d 44 24 48          	lea    0x48(%esp),%eax
4092d4:	50                   	push   %eax
4092d5:	57                   	push   %edi
4092d6:	ff 15 f8 b1 41 00    	call   *0x41b1f8
4092dc:	6a 02                	push   $0x2
4092de:	58                   	pop    %eax
4092df:	50                   	push   %eax
4092e0:	c7 44 24 20 0b 00 00 	movl   $0xb,0x20(%esp)
4092e7:	00
4092e8:	89 44 24 24          	mov    %eax,0x24(%esp)
4092ec:	ff 15 fc b1 41 00    	call   *0x41b1fc
4092f2:	8b f0                	mov    %eax,%esi
4092f4:	e8 7c 6a 00 00       	call   0x40fd75
4092f9:	0f af c6             	imul   %esi,%eax
4092fc:	6a 60                	push   $0x60
4092fe:	59                   	pop    %ecx
4092ff:	89 5c 24 30          	mov    %ebx,0x30(%esp)
409303:	99                   	cltd
409304:	f7 f9                	idiv   %ecx
409306:	8b 4c 24 50          	mov    0x50(%esp),%ecx
40930a:	2b c8                	sub    %eax,%ecx
40930c:	8d 44 24 1c          	lea    0x1c(%esp),%eax
409310:	2b 4c 24 48          	sub    0x48(%esp),%ecx
409314:	50                   	push   %eax
409315:	53                   	push   %ebx
409316:	68 61 10 00 00       	push   $0x1061
40931b:	83 e9 04             	sub    $0x4,%ecx
40931e:	57                   	push   %edi
40931f:	89 4c 24 34          	mov    %ecx,0x34(%esp)
409323:	ff 15 d8 b1 41 00    	call   *0x41b1d8
409329:	8d 4c 24 58          	lea    0x58(%esp),%ecx
40932d:	e8 9a ee ff ff       	call   0x4081cc
409332:	e8 3e 6a 00 00       	call   0x40fd75
409337:	6b c0 f7             	imul   $0xfffffff7,%eax,%eax
40933a:	6a 48                	push   $0x48
40933c:	59                   	pop    %ecx
40933d:	99                   	cltd
40933e:	f7 f9                	idiv   %ecx
409340:	89 44 24 58          	mov    %eax,0x58(%esp)
409344:	8d 44 24 58          	lea    0x58(%esp),%eax
409348:	50                   	push   %eax
409349:	ff 15 84 b0 41 00    	call   *0x41b084
40934f:	8b 74 24 10          	mov    0x10(%esp),%esi
409353:	6a 01                	push   $0x1
409355:	50                   	push   %eax
409356:	6a 30                	push   $0x30
409358:	57                   	push   %edi
409359:	89 46 0c             	mov    %eax,0xc(%esi)
40935c:	ff 15 d8 b1 41 00    	call   *0x41b1d8
409362:	39 5e 10             	cmp    %ebx,0x10(%esi)
409365:	74 31                	je     0x409398
409367:	e8 78 5e 00 00       	call   0x40f1e4
40936c:	68 a4 00 00 00       	push   $0xa4
409371:	53                   	push   %ebx
409372:	68 30 51 41 00       	push   $0x415130
409377:	e8 e5 ad 00 00       	call   0x414161
40937c:	83 c4 0c             	add    $0xc,%esp
40937f:	8b ce                	mov    %esi,%ecx
409381:	53                   	push   %ebx
409382:	68 ed 03 00 00       	push   $0x3ed
409387:	e8 e0 38 00 00       	call   0x40cc6c
40938c:	53                   	push   %ebx
40938d:	6a 01                	push   $0x1
40938f:	8b ce                	mov    %esi,%ecx
409391:	e8 d6 38 00 00       	call   0x40cc6c
409396:	eb 0c                	jmp    0x4093a4
409398:	8b ce                	mov    %esi,%ecx
40939a:	e8 fc 02 00 00       	call   0x40969b
40939f:	e8 40 5e 00 00       	call   0x40f1e4
4093a4:	ff 74 24 14          	push   0x14(%esp)
4093a8:	ff 15 24 b3 41 00    	call   *0x41b324
4093ae:	59                   	pop    %ecx
4093af:	8b 8c 24 bc 00 00 00 	mov    0xbc(%esp),%ecx
4093b6:	5f                   	pop    %edi
4093b7:	5e                   	pop    %esi
4093b8:	5b                   	pop    %ebx
4093b9:	33 cc                	xor    %esp,%ecx
4093bb:	e8 20 a5 00 00       	call   0x4138e0
4093c0:	8b e5                	mov    %ebp,%esp
4093c2:	5d                   	pop    %ebp
4093c3:	c2 04 00             	ret    $0x4
4093c6:	cc                   	int3
4093c7:	cc                   	int3
4093c8:	cc                   	int3
4093c9:	cc                   	int3
4093ca:	cc                   	int3
4093cb:	cc                   	int3
4093cc:	cc                   	int3
4093cd:	cc                   	int3
4093ce:	cc                   	int3
4093cf:	cc                   	int3
4093d0:	8b ff                	mov    %edi,%edi
4093d2:	55                   	push   %ebp
4093d3:	8b ec                	mov    %esp,%ebp
4093d5:	8b 45 08             	mov    0x8(%ebp),%eax
4093d8:	56                   	push   %esi
4093d9:	8b f1                	mov    %ecx,%esi
4093db:	8b c8                	mov    %eax,%ecx
4093dd:	57                   	push   %edi
4093de:	0f b7 c0             	movzwl %ax,%eax
4093e1:	33 ff                	xor    %edi,%edi
4093e3:	c1 e9 10             	shr    $0x10,%ecx
4093e6:	83 e8 01             	sub    $0x1,%eax
4093e9:	0f 84 be 00 00 00    	je     0x4094ad
4093ef:	83 e8 01             	sub    $0x1,%eax
4093f2:	74 5c                	je     0x409450
4093f4:	2d ed 03 00 00       	sub    $0x3ed,%eax
4093f9:	74 3e                	je     0x409439
4093fb:	83 e8 03             	sub    $0x3,%eax
4093fe:	74 22                	je     0x409422
409400:	83 e8 01             	sub    $0x1,%eax
409403:	74 06                	je     0x40940b
409405:	47                   	inc    %edi
409406:	e9 d2 00 00 00       	jmp    0x4094dd
40940b:	33 c0                	xor    %eax,%eax
40940d:	66 3b c1             	cmp    %cx,%ax
409410:	0f 85 c7 00 00 00    	jne    0x4094dd
409416:	8b ce                	mov    %esi,%ecx
409418:	e8 7e 02 00 00       	call   0x40969b
40941d:	e9 bb 00 00 00       	jmp    0x4094dd
409422:	33 c0                	xor    %eax,%eax
409424:	66 3b c1             	cmp    %cx,%ax
409427:	0f 85 b0 00 00 00    	jne    0x4094dd
40942d:	8b ce                	mov    %esi,%ecx
40942f:	e8 d2 07 00 00       	call   0x409c06
409434:	e9 a4 00 00 00       	jmp    0x4094dd
409439:	33 c0                	xor    %eax,%eax
40943b:	66 3b c1             	cmp    %cx,%ax
40943e:	0f 85 99 00 00 00    	jne    0x4094dd
409444:	8b ce                	mov    %esi,%ecx
409446:	e8 66 06 00 00       	call   0x409ab1
40944b:	e9 8d 00 00 00       	jmp    0x4094dd
409450:	33 c0                	xor    %eax,%eax
409452:	66 3b c1             	cmp    %cx,%ax
409455:	0f 85 82 00 00 00    	jne    0x4094dd
40945b:	6a 01                	push   $0x1
40945d:	ff 76 04             	push   0x4(%esi)
409460:	ff 15 d0 b1 41 00    	call   *0x41b1d0
409466:	50                   	push   %eax
409467:	ff 15 00 b2 41 00    	call   *0x41b200
40946d:	85 c0                	test   %eax,%eax
40946f:	75 33                	jne    0x4094a4
409471:	68 ed 03 00 00       	push   $0x3ed
409476:	ff 76 04             	push   0x4(%esi)
409479:	ff 15 d0 b1 41 00    	call   *0x41b1d0
40947f:	50                   	push   %eax
409480:	ff 15 00 b2 41 00    	call   *0x41b200
409486:	85 c0                	test   %eax,%eax
409488:	75 1a                	jne    0x4094a4
40948a:	39 7e 14             	cmp    %edi,0x14(%esi)
40948d:	74 11                	je     0x4094a0
40948f:	89 3d 20 98 41 00    	mov    %edi,0x419820
409495:	89 3d 24 98 41 00    	mov    %edi,0x419824
40949b:	e8 d7 5d 00 00       	call   0x40f277
4094a0:	6a 02                	push   $0x2
4094a2:	eb 30                	jmp    0x4094d4
4094a4:	8b ce                	mov    %esi,%ecx
4094a6:	e8 99 02 00 00       	call   0x409744
4094ab:	eb 30                	jmp    0x4094dd
4094ad:	33 c0                	xor    %eax,%eax
4094af:	66 3b c1             	cmp    %cx,%ax
4094b2:	75 1e                	jne    0x4094d2
4094b4:	39 7e 14             	cmp    %edi,0x14(%esi)
4094b7:	74 19                	je     0x4094d2
4094b9:	e8 26 5d 00 00       	call   0x40f1e4
4094be:	8b 4e 14             	mov    0x14(%esi),%ecx
4094c1:	e8 99 5b 00 00       	call   0x40f05f
4094c6:	89 3d 20 98 41 00    	mov    %edi,0x419820
4094cc:	89 3d 24 98 41 00    	mov    %edi,0x419824
4094d2:	6a 01                	push   $0x1
4094d4:	ff 76 04             	push   0x4(%esi)
4094d7:	ff 15 b8 b2 41 00    	call   *0x41b2b8
4094dd:	8b c7                	mov    %edi,%eax
4094df:	5f                   	pop    %edi
4094e0:	5e                   	pop    %esi
4094e1:	5d                   	pop    %ebp
4094e2:	c2 08 00             	ret    $0x8
4094e5:	cc                   	int3
4094e6:	cc                   	int3
4094e7:	cc                   	int3
4094e8:	cc                   	int3
4094e9:	cc                   	int3
4094ea:	cc                   	int3
4094eb:	cc                   	int3
4094ec:	cc                   	int3
4094ed:	cc                   	int3
4094ee:	cc                   	int3
4094ef:	cc                   	int3
4094f0:	8b ff                	mov    %edi,%edi
4094f2:	55                   	push   %ebp
4094f3:	8b ec                	mov    %esp,%ebp
4094f5:	83 ec 48             	sub    $0x48,%esp
4094f8:	53                   	push   %ebx
4094f9:	56                   	push   %esi
4094fa:	57                   	push   %edi
4094fb:	8b 7d 08             	mov    0x8(%ebp),%edi
4094fe:	33 f6                	xor    %esi,%esi
409500:	8b d9                	mov    %ecx,%ebx
409502:	8b 47 08             	mov    0x8(%edi),%eax
409505:	3d 65 ff ff ff       	cmp    $0xffffff65,%eax
40950a:	0f 84 12 01 00 00    	je     0x409622
409510:	83 f8 93             	cmp    $0xffffff93,%eax
409513:	0f 84 8e 00 00 00    	je     0x4095a7
409519:	83 f8 9b             	cmp    $0xffffff9b,%eax
40951c:	74 5f                	je     0x40957d
40951e:	83 f8 f9             	cmp    $0xfffffff9,%eax
409521:	0f 85 6b 01 00 00    	jne    0x409692
409527:	56                   	push   %esi
409528:	56                   	push   %esi
409529:	68 42 10 00 00       	push   $0x1042
40952e:	ff 37                	push   (%edi)
409530:	ff 15 d8 b1 41 00    	call   *0x41b1d8
409536:	8b d8                	mov    %eax,%ebx
409538:	83 fb ff             	cmp    $0xffffffff,%ebx
40953b:	75 11                	jne    0x40954e
40953d:	56                   	push   %esi
40953e:	56                   	push   %esi
40953f:	68 43 10 00 00       	push   $0x1043
409544:	ff 37                	push   (%edi)
409546:	ff 15 d8 b1 41 00    	call   *0x41b1d8
40954c:	8b de                	mov    %esi,%ebx
40954e:	6a 03                	push   $0x3
409550:	58                   	pop    %eax
409551:	89 45 c8             	mov    %eax,-0x38(%ebp)
409554:	89 45 c4             	mov    %eax,-0x3c(%ebp)
409557:	8d 45 b8             	lea    -0x48(%ebp),%eax
40955a:	50                   	push   %eax
40955b:	53                   	push   %ebx
40955c:	68 2b 10 00 00       	push   $0x102b
409561:	ff 37                	push   (%edi)
409563:	ff 15 d8 b1 41 00    	call   *0x41b1d8
409569:	56                   	push   %esi
40956a:	53                   	push   %ebx
40956b:	68 2a 10 00 00       	push   $0x102a
409570:	ff 37                	push   (%edi)
409572:	ff 15 d8 b1 41 00    	call   *0x41b1d8
409578:	e9 15 01 00 00       	jmp    0x409692
40957d:	8b 4f 0c             	mov    0xc(%edi),%ecx
409580:	89 4b 18             	mov    %ecx,0x18(%ebx)
409583:	39 73 14             	cmp    %esi,0x14(%ebx)
409586:	0f 84 03 01 00 00    	je     0x40968f
40958c:	e8 1d f9 ff ff       	call   0x408eae
409591:	8b 4b 14             	mov    0x14(%ebx),%ecx
409594:	0f b7 04 85 30 51 41 	movzwl 0x415130(,%eax,4),%eax
40959b:	00
40959c:	50                   	push   %eax
40959d:	e8 26 5f 00 00       	call   0x40f4c8
4095a2:	e9 e8 00 00 00       	jmp    0x40968f
4095a7:	39 73 1c             	cmp    %esi,0x1c(%ebx)
4095aa:	74 09                	je     0x4095b5
4095ac:	ff 73 1c             	push   0x1c(%ebx)
4095af:	ff 15 64 b0 41 00    	call   *0x41b064
4095b5:	ff 73 04             	push   0x4(%ebx)
4095b8:	ff 15 04 b2 41 00    	call   *0x41b204
4095be:	8d 45 f4             	lea    -0xc(%ebp),%eax
4095c1:	50                   	push   %eax
4095c2:	ff 77 0c             	push   0xc(%edi)
4095c5:	68 21 10 00 00       	push   $0x1021
4095ca:	ff 37                	push   (%edi)
4095cc:	ff 15 d8 b1 41 00    	call   *0x41b1d8
4095d2:	56                   	push   %esi
4095d3:	56                   	push   %esi
4095d4:	56                   	push   %esi
4095d5:	50                   	push   %eax