41c1a8:	85 c9                	test   %ecx,%ecx
41c1aa:	0f 84 97 0d 01 00    	je     0x42cf47
41c1b0:	8d 04 bd 00 00 00 00 	lea    0x0(,%edi,4),%eax
41c1b7:	50                   	push   %eax
41c1b8:	6a 00                	push   $0x0
41c1ba:	51                   	push   %ecx
41c1bb:	e8 b0 60 00 00       	call   0x422270
41c1c0:	8b 45 c4             	mov    -0x3c(%ebp),%eax
41c1c3:	83 c4 0c             	add    $0xc,%esp
41c1c6:	89 45 b0             	mov    %eax,-0x50(%ebp)
41c1c9:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
41c1d0:	8b 55 ac             	mov    -0x54(%ebp),%edx
41c1d3:	3b c2                	cmp    %edx,%eax
41c1d5:	0f 8f c1 01 00 00    	jg     0x41c39c
41c1db:	8d 45 a0             	lea    -0x60(%ebp),%eax
41c1de:	50                   	push   %eax
41c1df:	8d 45 b0             	lea    -0x50(%ebp),%eax
41c1e2:	50                   	push   %eax
41c1e3:	ff 75 98             	push   -0x68(%ebp)
41c1e6:	ff 15 18 30 45 00    	call   *0x453018
41c1ec:	8b f0                	mov    %eax,%esi
41c1ee:	89 75 cc             	mov    %esi,-0x34(%ebp)
41c1f1:	85 f6                	test   %esi,%esi
41c1f3:	0f 88 8f 01 00 00    	js     0x41c388
41c1f9:	c7 45 b4 78 1a 40 00 	movl   $0x401a78,-0x4c(%ebp)
41c200:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
41c207:	8d 45 b8             	lea    -0x48(%ebp),%eax
41c20a:	50                   	push   %eax
41c20b:	68 68 6d 40 00       	push   $0x406d68
41c210:	6a 01                	push   $0x1
41c212:	6a 00                	push   $0x0
41c214:	68 78 6d 40 00       	push   $0x406d78
41c219:	c7 45 b8 00 00 00 00 	movl   $0x0,-0x48(%ebp)
41c220:	ff 15 48 30 45 00    	call   *0x453048
41c226:	8b f0                	mov    %eax,%esi
41c228:	89 75 cc             	mov    %esi,-0x34(%ebp)
41c22b:	85 f6                	test   %esi,%esi
41c22d:	0f 88 3e 01 00 00    	js     0x41c371
41c233:	8b 5d b8             	mov    -0x48(%ebp),%ebx
41c236:	8b 45 a0             	mov    -0x60(%ebp),%eax
41c239:	89 45 c0             	mov    %eax,-0x40(%ebp)
41c23c:	8d 45 d4             	lea    -0x2c(%ebp),%eax
41c23f:	50                   	push   %eax
41c240:	8b 3b                	mov    (%ebx),%edi
41c242:	6a 07                	push   $0x7
41c244:	6a 00                	push   $0x0
41c246:	53                   	push   %ebx
41c247:	8b 7f 10             	mov    0x10(%edi),%edi
41c24a:	8b cf                	mov    %edi,%ecx
41c24c:	c7 45 d4 01 00 00 00 	movl   $0x1,-0x2c(%ebp)
41c253:	c7 45 d8 02 00 00 00 	movl   $0x2,-0x28(%ebp)
41c25a:	c7 45 dc 03 00 00 00 	movl   $0x3,-0x24(%ebp)
41c261:	c7 45 e0 04 00 00 00 	movl   $0x4,-0x20(%ebp)
41c268:	c7 45 e4 08 00 00 00 	movl   $0x8,-0x1c(%ebp)
41c26f:	c7 45 e8 09 00 00 00 	movl   $0x9,-0x18(%ebp)
41c276:	c7 45 ec 1a 00 00 00 	movl   $0x1a,-0x14(%ebp)
41c27d:	ff 15 c4 12 45 00    	call   *0x4512c4
41c283:	ff d7                	call   *%edi
41c285:	85 c0                	test   %eax,%eax
41c287:	0f 88 45 0c 01 00    	js     0x42ced2
41c28d:	8b 3b                	mov    (%ebx),%edi
41c28f:	6a 00                	push   $0x0
41c291:	ff 75 c0             	push   -0x40(%ebp)
41c294:	8b 7f 18             	mov    0x18(%edi),%edi
41c297:	8b cf                	mov    %edi,%ecx
41c299:	68 88 6d 40 00       	push   $0x406d88
41c29e:	53                   	push   %ebx
41c29f:	ff 15 c4 12 45 00    	call   *0x4512c4
41c2a5:	ff d7                	call   *%edi
41c2a7:	85 c0                	test   %eax,%eax
41c2a9:	0f 88 23 0c 01 00    	js     0x42ced2
41c2af:	8b 4d a8             	mov    -0x58(%ebp),%ecx
41c2b2:	bb 04 00 00 00       	mov    $0x4,%ebx
41c2b7:	8b 45 b8             	mov    -0x48(%ebp),%eax
41c2ba:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
41c2c1:	89 45 c8             	mov    %eax,-0x38(%ebp)
41c2c4:	8b 49 48             	mov    0x48(%ecx),%ecx
41c2c7:	8b 38                	mov    (%eax),%edi
41c2c9:	89 4d a4             	mov    %ecx,-0x5c(%ebp)
41c2cc:	8d 4d c0             	lea    -0x40(%ebp),%ecx
41c2cf:	51                   	push   %ecx
41c2d0:	6a 00                	push   $0x0
41c2d2:	8b 7f 1c             	mov    0x1c(%edi),%edi
41c2d5:	8b cf                	mov    %edi,%ecx
41c2d7:	6a 01                	push   $0x1
41c2d9:	50                   	push   %eax
41c2da:	c7 45 c0 00 00 00 00 	movl   $0x0,-0x40(%ebp)
41c2e1:	ff 15 c4 12 45 00    	call   *0x4512c4
41c2e7:	ff d7                	call   *%edi
41c2e9:	85 c0                	test   %eax,%eax
41c2eb:	0f 88 c8 0b 01 00    	js     0x42ceb9
41c2f1:	8b 45 c0             	mov    -0x40(%ebp),%eax
41c2f4:	8b 48 30             	mov    0x30(%eax),%ecx
41c2f7:	8b 50 34             	mov    0x34(%eax),%edx
41c2fa:	85 c9                	test   %ecx,%ecx
41c2fc:	0f 85 c2 00 00 00    	jne    0x41c3c4
41c302:	8b 7d d0             	mov    -0x30(%ebp),%edi
41c305:	85 ff                	test   %edi,%edi
41c307:	0f 85 e0 00 00 00    	jne    0x41c3ed
41c30d:	8d 45 d0             	lea    -0x30(%ebp),%eax
41c310:	50                   	push   %eax
41c311:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
41c314:	e8 10 01 00 00       	call   0x41c429
41c319:	8b d8                	mov    %eax,%ebx
41c31b:	83 fb 02             	cmp    $0x2,%ebx
41c31e:	0f 84 62 0b 01 00    	je     0x42ce86
41c324:	8b 7d d0             	mov    -0x30(%ebp),%edi
41c327:	85 ff                	test   %edi,%edi
41c329:	0f 85 db 00 00 00    	jne    0x41c40a
41c32f:	8b 4d c8             	mov    -0x38(%ebp),%ecx
41c332:	ff 75 c0             	push   -0x40(%ebp)
41c335:	51                   	push   %ecx
41c336:	8b 01                	mov    (%ecx),%eax
41c338:	8b 78 20             	mov    0x20(%eax),%edi
41c33b:	8b cf                	mov    %edi,%ecx
41c33d:	ff 15 c4 12 45 00    	call   *0x4512c4
41c343:	ff d7                	call   *%edi
41c345:	85 db                	test   %ebx,%ebx
41c347:	0f 85 5e 0b 01 00    	jne    0x42ceab
41c34d:	8b 5d bc             	mov    -0x44(%ebp),%ebx
41c350:	8b 55 b0             	mov    -0x50(%ebp),%edx
41c353:	2b 55 c4             	sub    -0x3c(%ebp),%edx
41c356:	8b 45 d0             	mov    -0x30(%ebp),%eax
41c359:	8b 0b                	mov    (%ebx),%ecx
41c35b:	89 04 91             	mov    %eax,(%ecx,%edx,4)
41c35e:	8b 45 b8             	mov    -0x48(%ebp),%eax
41c361:	50                   	push   %eax
41c362:	8b 08                	mov    (%eax),%ecx
41c364:	8b 79 08             	mov    0x8(%ecx),%edi
41c367:	8b cf                	mov    %edi,%ecx
41c369:	ff 15 c4 12 45 00    	call   *0x4512c4
41c36f:	ff d7                	call   *%edi
41c371:	ff 75 a0             	push   -0x60(%ebp)
41c374:	ff 15 0c 30 45 00    	call   *0x45300c
41c37a:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
41c381:	c7 45 b4 78 1a 40 00 	movl   $0x401a78,-0x4c(%ebp)
41c388:	8b 45 b0             	mov    -0x50(%ebp),%eax
41c38b:	40                   	inc    %eax
41c38c:	89 45 b0             	mov    %eax,-0x50(%ebp)
41c38f:	85 f6                	test   %esi,%esi
41c391:	0f 89 39 fe ff ff    	jns    0x41c1d0
41c397:	e9 46 0b 01 00       	jmp    0x42cee2
41c39c:	85 f6                	test   %esi,%esi
41c39e:	0f 88 41 0b 01 00    	js     0x42cee5
41c3a4:	8b c6                	mov    %esi,%eax
41c3a6:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41c3a9:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41c3b0:	59                   	pop    %ecx
41c3b1:	5f                   	pop    %edi
41c3b2:	5e                   	pop    %esi
41c3b3:	5b                   	pop    %ebx
41c3b4:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41c3b7:	33 cd                	xor    %ebp,%ecx
41c3b9:	e8 52 2f 00 00       	call   0x41f310
41c3be:	8b e5                	mov    %ebp,%esp
41c3c0:	5d                   	pop    %ebp
41c3c1:	c2 0c 00             	ret    $0xc
41c3c4:	8d 41 ff             	lea    -0x1(%ecx),%eax
41c3c7:	89 45 94             	mov    %eax,-0x6c(%ebp)
41c3ca:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
41c3cd:	8d 45 94             	lea    -0x6c(%ebp),%eax
41c3d0:	50                   	push   %eax
41c3d1:	8d 45 d0             	lea    -0x30(%ebp),%eax
41c3d4:	50                   	push   %eax
41c3d5:	6a 00                	push   $0x0
41c3d7:	52                   	push   %edx
41c3d8:	ff 75 a4             	push   -0x5c(%ebp)
41c3db:	e8 37 1c 00 00       	call   0x41e017
41c3e0:	85 c0                	test   %eax,%eax
41c3e2:	0f 85 1a ff ff ff    	jne    0x41c302
41c3e8:	e9 42 ff ff ff       	jmp    0x41c32f
41c3ed:	8b 07                	mov    (%edi),%eax
41c3ef:	8b 58 0c             	mov    0xc(%eax),%ebx
41c3f2:	81 fb c0 ed 41 00    	cmp    $0x41edc0,%ebx
41c3f8:	0f 85 77 0a 01 00    	jne    0x42ce75
41c3fe:	8b cf                	mov    %edi,%ecx
41c400:	e8 bb 29 00 00       	call   0x41edc0
41c405:	e9 03 ff ff ff       	jmp    0x41c30d
41c40a:	8b 07                	mov    (%edi),%eax
41c40c:	8b 40 0c             	mov    0xc(%eax),%eax
41c40f:	89 45 a4             	mov    %eax,-0x5c(%ebp)
41c412:	3d c0 ed 41 00       	cmp    $0x41edc0,%eax
41c417:	0f 85 7c 0a 01 00    	jne    0x42ce99
41c41d:	8b cf                	mov    %edi,%ecx
41c41f:	e8 9c 29 00 00       	call   0x41edc0
41c424:	e9 06 ff ff ff       	jmp    0x41c32f
41c429:	8b ff                	mov    %edi,%edi
41c42b:	55                   	push   %ebp
41c42c:	8b ec                	mov    %esp,%ebp
41c42e:	51                   	push   %ecx
41c42f:	51                   	push   %ecx
41c430:	53                   	push   %ebx
41c431:	56                   	push   %esi
41c432:	57                   	push   %edi
41c433:	8b 7d 08             	mov    0x8(%ebp),%edi
41c436:	8b d9                	mov    %ecx,%ebx
41c438:	33 f6                	xor    %esi,%esi
41c43a:	8b 0f                	mov    (%edi),%ecx
41c43c:	85 c9                	test   %ecx,%ecx
41c43e:	75 09                	jne    0x41c449
41c440:	8b c6                	mov    %esi,%eax
41c442:	5f                   	pop    %edi
41c443:	5e                   	pop    %esi
41c444:	5b                   	pop    %ebx
41c445:	c9                   	leave
41c446:	c2 04 00             	ret    $0x4
41c449:	8b 41 08             	mov    0x8(%ecx),%eax
41c44c:	83 f8 02             	cmp    $0x2,%eax
41c44f:	0f 84 06 0b 01 00    	je     0x42cf5b
41c455:	83 f8 01             	cmp    $0x1,%eax
41c458:	0f 84 73 0b 01 00    	je     0x42cfd1
41c45e:	83 f8 03             	cmp    $0x3,%eax
41c461:	0f 84 8e 0b 01 00    	je     0x42cff5
41c467:	83 f8 06             	cmp    $0x6,%eax
41c46a:	75 d4                	jne    0x41c440
41c46c:	e9 9e 0b 01 00       	jmp    0x42d00f
41c471:	8b ff                	mov    %edi,%edi
41c473:	55                   	push   %ebp
41c474:	8b ec                	mov    %esp,%ebp
41c476:	51                   	push   %ecx
41c477:	51                   	push   %ecx
41c478:	8b 45 08             	mov    0x8(%ebp),%eax
41c47b:	56                   	push   %esi
41c47c:	8b f2                	mov    %edx,%esi
41c47e:	8b d0                	mov    %eax,%edx
41c480:	57                   	push   %edi
41c481:	8b f9                	mov    %ecx,%edi
41c483:	c1 ea 1f             	shr    $0x1f,%edx
41c486:	8b ce                	mov    %esi,%ecx
41c488:	c1 e9 1f             	shr    $0x1f,%ecx
41c48b:	32 d1                	xor    %cl,%dl
41c48d:	0f 85 98 0b 01 00    	jne    0x42d02b
41c493:	2b c6                	sub    %esi,%eax
41c495:	89 07                	mov    %eax,(%edi)
41c497:	8b c7                	mov    %edi,%eax
41c499:	5f                   	pop    %edi
41c49a:	5e                   	pop    %esi
41c49b:	c9                   	leave
41c49c:	c2 04 00             	ret    $0x4
41c49f:	cc                   	int3
41c4a0:	8b ff                	mov    %edi,%edi
41c4a2:	55                   	push   %ebp
41c4a3:	8b ec                	mov    %esp,%ebp
41c4a5:	6a ff                	push   $0xffffffff
41c4a7:	68 78 39 42 00       	push   $0x423978
41c4ac:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
41c4b2:	50                   	push   %eax
41c4b3:	83 ec 68             	sub    $0x68,%esp
41c4b6:	53                   	push   %ebx
41c4b7:	56                   	push   %esi
41c4b8:	57                   	push   %edi
41c4b9:	a1 54 02 45 00       	mov    0x450254,%eax
41c4be:	33 c5                	xor    %ebp,%eax
41c4c0:	50                   	push   %eax
41c4c1:	8d 45 f4             	lea    -0xc(%ebp),%eax
41c4c4:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
41c4ca:	8b c1                	mov    %ecx,%eax
41c4cc:	89 45 ec             	mov    %eax,-0x14(%ebp)
41c4cf:	c7 40 08 01 00 00 00 	movl   $0x1,0x8(%eax)
41c4d6:	33 f6                	xor    %esi,%esi
41c4d8:	8d 45 c4             	lea    -0x3c(%ebp),%eax
41c4db:	50                   	push   %eax
41c4dc:	ff 15 00 30 45 00    	call   *0x453000
41c4e2:	8b 5d 10             	mov    0x10(%ebp),%ebx
41c4e5:	8d 45 e0             	lea    -0x20(%ebp),%eax
41c4e8:	50                   	push   %eax
41c4e9:	8d 45 e4             	lea    -0x1c(%ebp),%eax
41c4ec:	89 75 e4             	mov    %esi,-0x1c(%ebp)
41c4ef:	50                   	push   %eax
41c4f0:	8b 3b                	mov    (%ebx),%edi
41c4f2:	8d 45 c4             	lea    -0x3c(%ebp),%eax
41c4f5:	50                   	push   %eax
41c4f6:	56                   	push   %esi
41c4f7:	68 7c 6a 40 00       	push   $0x406a7c
41c4fc:	8b 7f 10             	mov    0x10(%edi),%edi
41c4ff:	8b cf                	mov    %edi,%ecx
41c501:	53                   	push   %ebx
41c502:	89 75 e0             	mov    %esi,-0x20(%ebp)
41c505:	ff 15 c4 12 45 00    	call   *0x4512c4
41c50b:	ff d7                	call   *%edi
41c50d:	85 c0                	test   %eax,%eax
41c50f:	0f 88 76 0b 01 00    	js     0x42d08b
41c515:	66 8b 45 c4          	mov    -0x3c(%ebp),%ax
41c519:	66 83 f8 03          	cmp    $0x3,%ax
41c51d:	0f 84 50 0b 01 00    	je     0x42d073
41c523:	66 83 f8 01          	cmp    $0x1,%ax
41c527:	0f 85 54 0b 01 00    	jne    0x42d081
41c52d:	8b 45 ec             	mov    -0x14(%ebp),%eax
41c530:	c7 40 38 01 00 00 00 	movl   $0x1,0x38(%eax)
41c537:	8d 45 c4             	lea    -0x3c(%ebp),%eax
41c53a:	50                   	push   %eax
41c53b:	ff 15 1c 30 45 00    	call   *0x45301c
41c541:	85 f6                	test   %esi,%esi
41c543:	0f 88 c2 06 00 00    	js     0x41cc0b
41c549:	8d 45 c4             	lea    -0x3c(%ebp),%eax
41c54c:	50                   	push   %eax
41c54d:	ff 15 00 30 45 00    	call   *0x453000
41c553:	8b 3b                	mov    (%ebx),%edi
41c555:	8d 45 e0             	lea    -0x20(%ebp),%eax
41c558:	50                   	push   %eax
41c559:	8d 45 e4             	lea    -0x1c(%ebp),%eax
41c55c:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
41c563:	50                   	push   %eax
41c564:	8b 7f 10             	mov    0x10(%edi),%edi
41c567:	8d 45 c4             	lea    -0x3c(%ebp),%eax
41c56a:	50                   	push   %eax
41c56b:	6a 00                	push   $0x0
41c56d:	68 94 65 40 00       	push   $0x406594
41c572:	53                   	push   %ebx
41c573:	8b cf                	mov    %edi,%ecx
41c575:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
41c57c:	ff 15 c4 12 45 00    	call   *0x4512c4
41c582:	ff d7                	call   *%edi
41c584:	85 c0                	test   %eax,%eax
41c586:	0f 88 3a 0b 01 00    	js     0x42d0c6
41c58c:	66 8b 45 c4          	mov    -0x3c(%ebp),%ax
41c590:	66 83 f8 0b          	cmp    $0xb,%ax
41c594:	0f 85 0d 0b 01 00    	jne    0x42d0a7
41c59a:	66 83 7d cc ff       	cmpw   $0xffff,-0x34(%ebp)
41c59f:	0f 84 f8 0a 01 00    	je     0x42d09d
41c5a5:	33 c9                	xor    %ecx,%ecx
41c5a7:	8b 45 ec             	mov    -0x14(%ebp),%eax
41c5aa:	89 48 0c             	mov    %ecx,0xc(%eax)
41c5ad:	8d 45 c4             	lea    -0x3c(%ebp),%eax
41c5b0:	50                   	push   %eax
41c5b1:	ff 15 1c 30 45 00    	call   *0x45301c
41c5b7:	85 f6                	test   %esi,%esi
41c5b9:	0f 88 4c 06 00 00    	js     0x41cc0b
41c5bf:	8d 45 c4             	lea    -0x3c(%ebp),%eax
41c5c2:	50                   	push   %eax
41c5c3:	ff 15 00 30 45 00    	call   *0x453000
41c5c9:	8b 3b                	mov    (%ebx),%edi
41c5cb:	8d 45 e0             	lea    -0x20(%ebp),%eax
41c5ce:	50                   	push   %eax
41c5cf:	8d 45 e4             	lea    -0x1c(%ebp),%eax
41c5d2:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
41c5d9:	50                   	push   %eax
41c5da:	8b 7f 10             	mov    0x10(%edi),%edi
41c5dd:	8d 45 c4             	lea    -0x3c(%ebp),%eax
41c5e0:	50                   	push   %eax
41c5e1:	6a 00                	push   $0x0
41c5e3:	68 7c 65 40 00       	push   $0x40657c
41c5e8:	53                   	push   %ebx
41c5e9:	8b cf                	mov    %edi,%ecx
41c5eb:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
41c5f2:	ff 15 c4 12 45 00    	call   *0x4512c4
41c5f8:	ff d7                	call   *%edi
41c5fa:	85 c0                	test   %eax,%eax
41c5fc:	0f 88 fc 0a 01 00    	js     0x42d0fe
41c602:	66 8b 45 c4          	mov    -0x3c(%ebp),%ax