40b3cb:	7c d3                	jl     0x40b3a0
40b3cd:	8b 7d e0             	mov    -0x20(%ebp),%edi
40b3d0:	6a 00                	push   $0x0
40b3d2:	8b 87 08 52 41 00    	mov    0x415208(%edi),%eax
40b3d8:	83 e8 02             	sub    $0x2,%eax
40b3db:	50                   	push   %eax
40b3dc:	68 4e 01 00 00       	push   $0x14e
40b3e1:	53                   	push   %ebx
40b3e2:	ff 15 d8 b1 41 00    	call   *0x41b1d8
40b3e8:	56                   	push   %esi
40b3e9:	ff 15 24 b3 41 00    	call   *0x41b324
40b3ef:	8b 87 0c 52 41 00    	mov    0x41520c(%edi),%eax
40b3f5:	59                   	pop    %ecx
40b3f6:	50                   	push   %eax
40b3f7:	53                   	push   %ebx
40b3f8:	ff 15 dc b1 41 00    	call   *0x41b1dc
40b3fe:	8b 87 0c 52 41 00    	mov    0x41520c(%edi),%eax
40b404:	f7 d8                	neg    %eax
40b406:	1b c0                	sbb    %eax,%eax
40b408:	83 e0 05             	and    $0x5,%eax
40b40b:	50                   	push   %eax
40b40c:	53                   	push   %ebx
40b40d:	ff 15 34 b2 41 00    	call   *0x41b234
40b413:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
40b416:	85 db                	test   %ebx,%ebx
40b418:	74 22                	je     0x40b43c
40b41a:	ff b7 0c 52 41 00    	push   0x41520c(%edi)
40b420:	53                   	push   %ebx
40b421:	ff 15 dc b1 41 00    	call   *0x41b1dc
40b427:	8b 87 0c 52 41 00    	mov    0x41520c(%edi),%eax
40b42d:	f7 d8                	neg    %eax
40b42f:	1b c0                	sbb    %eax,%eax
40b431:	83 e0 05             	and    $0x5,%eax
40b434:	50                   	push   %eax
40b435:	53                   	push   %ebx
40b436:	ff 15 34 b2 41 00    	call   *0x41b234
40b43c:	5f                   	pop    %edi
40b43d:	5e                   	pop    %esi
40b43e:	5b                   	pop    %ebx
40b43f:	c9                   	leave
40b440:	c2 04 00             	ret    $0x4
40b443:	8b ff                	mov    %edi,%edi
40b445:	55                   	push   %ebp
40b446:	8b ec                	mov    %esp,%ebp
40b448:	83 ec 3c             	sub    $0x3c,%esp
40b44b:	53                   	push   %ebx
40b44c:	56                   	push   %esi
40b44d:	33 db                	xor    %ebx,%ebx
40b44f:	c7 45 c4 0c 00 00 00 	movl   $0xc,-0x3c(%ebp)
40b456:	53                   	push   %ebx
40b457:	8b f1                	mov    %ecx,%esi
40b459:	c7 45 d4 01 00 00 00 	movl   $0x1,-0x2c(%ebp)
40b460:	53                   	push   %ebx
40b461:	68 42 10 00 00       	push   $0x1042
40b466:	ff 76 0c             	push   0xc(%esi)
40b469:	ff 15 d8 b1 41 00    	call   *0x41b1d8
40b46f:	89 45 c8             	mov    %eax,-0x38(%ebp)
40b472:	89 5d cc             	mov    %ebx,-0x34(%ebp)
40b475:	83 f8 ff             	cmp    $0xffffffff,%eax
40b478:	0f 84 df 00 00 00    	je     0x40b55d
40b47e:	8d 45 c4             	lea    -0x3c(%ebp),%eax
40b481:	50                   	push   %eax
40b482:	53                   	push   %ebx
40b483:	68 4b 10 00 00       	push   $0x104b
40b488:	ff 76 0c             	push   0xc(%esi)
40b48b:	ff 15 d8 b1 41 00    	call   *0x41b1d8
40b491:	85 c0                	test   %eax,%eax
40b493:	0f 84 c4 00 00 00    	je     0x40b55d
40b499:	f6 45 d0 01          	testb  $0x1,-0x30(%ebp)
40b49d:	0f 84 ba 00 00 00    	je     0x40b55d
40b4a3:	8b 55 e4             	mov    -0x1c(%ebp),%edx
40b4a6:	6b ca 3c             	imul   $0x3c,%edx,%ecx
40b4a9:	39 99 0c 52 41 00    	cmp    %ebx,0x41520c(%ecx)
40b4af:	0f 85 a8 00 00 00    	jne    0x40b55d
40b4b5:	a1 18 98 41 00       	mov    0x419818,%eax
40b4ba:	39 99 14 52 41 00    	cmp    %ebx,0x415214(%ecx)
40b4c0:	74 24                	je     0x40b4e6
40b4c2:	3d 22 00 10 00       	cmp    $0x100022,%eax
40b4c7:	0f 84 90 00 00 00    	je     0x40b55d
40b4cd:	3d 23 00 10 00       	cmp    $0x100023,%eax
40b4d2:	0f 84 85 00 00 00    	je     0x40b55d
40b4d8:	3d 31 00 00 04       	cmp    $0x4000031,%eax
40b4dd:	74 7e                	je     0x40b55d
40b4df:	3d 24 00 10 00       	cmp    $0x100024,%eax
40b4e4:	74 77                	je     0x40b55d
40b4e6:	39 99 18 52 41 00    	cmp    %ebx,0x415218(%ecx)
40b4ec:	74 07                	je     0x40b4f5
40b4ee:	3d 14 00 02 00       	cmp    $0x20014,%eax
40b4f3:	74 68                	je     0x40b55d
40b4f5:	83 fa 10             	cmp    $0x10,%edx
40b4f8:	75 13                	jne    0x40b50d
40b4fa:	39 9e f0 03 00 00    	cmp    %ebx,0x3f0(%esi)
40b500:	75 5b                	jne    0x40b55d
40b502:	83 3d ac 53 41 00 02 	cmpl   $0x2,0x4153ac
40b509:	75 0f                	jne    0x40b51a
40b50b:	eb 50                	jmp    0x40b55d
40b50d:	83 fa 0f             	cmp    $0xf,%edx
40b510:	75 08                	jne    0x40b51a
40b512:	39 9e f0 03 00 00    	cmp    %ebx,0x3f0(%esi)
40b518:	75 43                	jne    0x40b55d
40b51a:	8b 99 08 52 41 00    	mov    0x415208(%ecx),%ebx
40b520:	57                   	push   %edi
40b521:	43                   	inc    %ebx
40b522:	8d b9 fc 51 41 00    	lea    0x4151fc(%ecx),%edi
40b528:	6a 04                	push   $0x4
40b52a:	89 99 08 52 41 00    	mov    %ebx,0x415208(%ecx)
40b530:	58                   	pop    %eax
40b531:	83 3f 00             	cmpl   $0x0,(%edi)
40b534:	75 0a                	jne    0x40b540
40b536:	83 ef 04             	sub    $0x4,%edi
40b539:	83 e8 01             	sub    $0x1,%eax
40b53c:	75 f3                	jne    0x40b531
40b53e:	eb 0b                	jmp    0x40b54b
40b540:	3b d8                	cmp    %eax,%ebx
40b542:	76 07                	jbe    0x40b54b
40b544:	83 a1 08 52 41 00 00 	andl   $0x0,0x415208(%ecx)
40b54b:	52                   	push   %edx
40b54c:	8b ce                	mov    %esi,%ecx
40b54e:	e8 c7 ef ff ff       	call   0x40a51a
40b553:	6a ff                	push   $0xffffffff
40b555:	8b ce                	mov    %esi,%ecx
40b557:	e8 8d f8 ff ff       	call   0x40ade9
40b55c:	5f                   	pop    %edi
40b55d:	5e                   	pop    %esi
40b55e:	5b                   	pop    %ebx
40b55f:	c9                   	leave
40b560:	c3                   	ret
40b561:	cc                   	int3
40b562:	cc                   	int3
40b563:	cc                   	int3
40b564:	cc                   	int3
40b565:	cc                   	int3
40b566:	cc                   	int3
40b567:	cc                   	int3
40b568:	cc                   	int3
40b569:	cc                   	int3
40b56a:	cc                   	int3
40b56b:	cc                   	int3
40b56c:	cc                   	int3
40b56d:	cc                   	int3
40b56e:	cc                   	int3
40b56f:	cc                   	int3
40b570:	8b ff                	mov    %edi,%edi
40b572:	55                   	push   %ebp
40b573:	8b ec                	mov    %esp,%ebp
40b575:	51                   	push   %ecx
40b576:	53                   	push   %ebx
40b577:	56                   	push   %esi
40b578:	57                   	push   %edi
40b579:	8d 45 fc             	lea    -0x4(%ebp),%eax
40b57c:	33 db                	xor    %ebx,%ebx
40b57e:	50                   	push   %eax
40b57f:	68 23 01 00 00       	push   $0x123
40b584:	8b f1                	mov    %ecx,%esi
40b586:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40b589:	e8 3b 78 00 00       	call   0x412dc9
40b58e:	8b 45 fc             	mov    -0x4(%ebp),%eax
40b591:	89 46 0c             	mov    %eax,0xc(%esi)
40b594:	8d 45 fc             	lea    -0x4(%ebp),%eax
40b597:	50                   	push   %eax
40b598:	68 01 01 00 00       	push   $0x101
40b59d:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40b5a0:	e8 24 78 00 00       	call   0x412dc9
40b5a5:	8b 45 fc             	mov    -0x4(%ebp),%eax
40b5a8:	89 46 10             	mov    %eax,0x10(%esi)
40b5ab:	8d 45 fc             	lea    -0x4(%ebp),%eax
40b5ae:	50                   	push   %eax
40b5af:	68 3b 01 00 00       	push   $0x13b
40b5b4:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40b5b7:	e8 0d 78 00 00       	call   0x412dc9
40b5bc:	8b 45 fc             	mov    -0x4(%ebp),%eax
40b5bf:	89 46 14             	mov    %eax,0x14(%esi)
40b5c2:	8d 45 fc             	lea    -0x4(%ebp),%eax
40b5c5:	50                   	push   %eax
40b5c6:	68 04 01 00 00       	push   $0x104
40b5cb:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40b5ce:	e8 f6 77 00 00       	call   0x412dc9
40b5d3:	ff 75 fc             	push   -0x4(%ebp)
40b5d6:	8b ce                	mov    %esi,%ecx
40b5d8:	68 06 04 00 00       	push   $0x406
40b5dd:	e8 1a 17 00 00       	call   0x40ccfc
40b5e2:	ff 76 0c             	push   0xc(%esi)
40b5e5:	8b ce                	mov    %esi,%ecx
40b5e7:	68 12 04 00 00       	push   $0x412
40b5ec:	e8 0b 17 00 00       	call   0x40ccfc
40b5f1:	ff 76 0c             	push   0xc(%esi)
40b5f4:	8b ce                	mov    %esi,%ecx
40b5f6:	68 fb 03 00 00       	push   $0x3fb
40b5fb:	e8 6c 16 00 00       	call   0x40cc6c
40b600:	ff 76 0c             	push   0xc(%esi)
40b603:	8b ce                	mov    %esi,%ecx
40b605:	68 fc 03 00 00       	push   $0x3fc
40b60a:	e8 5d 16 00 00       	call   0x40cc6c
40b60f:	33 c0                	xor    %eax,%eax
40b611:	8b ce                	mov    %esi,%ecx
40b613:	39 5e 0c             	cmp    %ebx,0xc(%esi)
40b616:	0f 94 c0             	sete   %al
40b619:	50                   	push   %eax
40b61a:	68 17 04 00 00       	push   $0x417
40b61f:	e8 48 16 00 00       	call   0x40cc6c
40b624:	f6 05 80 93 41 00 40 	testb  $0x40,0x419380
40b62b:	bf 1c 04 00 00       	mov    $0x41c,%edi
40b630:	8b ce                	mov    %esi,%ecx
40b632:	74 15                	je     0x40b649
40b634:	53                   	push   %ebx
40b635:	57                   	push   %edi
40b636:	e8 31 16 00 00       	call   0x40cc6c
40b63b:	53                   	push   %ebx
40b63c:	57                   	push   %edi
40b63d:	8b ce                	mov    %esi,%ecx
40b63f:	e8 b8 16 00 00       	call   0x40ccfc
40b644:	33 c0                	xor    %eax,%eax
40b646:	40                   	inc    %eax
40b647:	eb 1c                	jmp    0x40b665
40b649:	ff 76 0c             	push   0xc(%esi)
40b64c:	57                   	push   %edi
40b64d:	e8 1a 16 00 00       	call   0x40cc6c
40b652:	ff 76 14             	push   0x14(%esi)
40b655:	8b ce                	mov    %esi,%ecx
40b657:	57                   	push   %edi
40b658:	e8 9f 16 00 00       	call   0x40ccfc
40b65d:	33 c0                	xor    %eax,%eax
40b65f:	39 5e 14             	cmp    %ebx,0x14(%esi)
40b662:	0f 94 c0             	sete   %al
40b665:	50                   	push   %eax
40b666:	bf 1d 04 00 00       	mov    $0x41d,%edi
40b66b:	8b ce                	mov    %esi,%ecx
40b66d:	57                   	push   %edi
40b66e:	e8 89 16 00 00       	call   0x40ccfc
40b673:	ff 76 0c             	push   0xc(%esi)
40b676:	8b ce                	mov    %esi,%ecx
40b678:	57                   	push   %edi
40b679:	e8 ee 15 00 00       	call   0x40cc6c
40b67e:	ff 76 10             	push   0x10(%esi)
40b681:	8b ce                	mov    %esi,%ecx
40b683:	68 13 04 00 00       	push   $0x413
40b688:	e8 6f 16 00 00       	call   0x40ccfc
40b68d:	33 c0                	xor    %eax,%eax
40b68f:	8b ce                	mov    %esi,%ecx
40b691:	39 5e 10             	cmp    %ebx,0x10(%esi)
40b694:	0f 94 c0             	sete   %al
40b697:	50                   	push   %eax
40b698:	68 fd 03 00 00       	push   $0x3fd
40b69d:	e8 ca 15 00 00       	call   0x40cc6c
40b6a2:	8b ce                	mov    %esi,%ecx
40b6a4:	e8 c4 02 00 00       	call   0x40b96d
40b6a9:	5f                   	pop    %edi
40b6aa:	5e                   	pop    %esi
40b6ab:	5b                   	pop    %ebx
40b6ac:	c9                   	leave
40b6ad:	c2 04 00             	ret    $0x4
40b6b0:	8b ff                	mov    %edi,%edi
40b6b2:	55                   	push   %ebp
40b6b3:	8b ec                	mov    %esp,%ebp
40b6b5:	8b 45 08             	mov    0x8(%ebp),%eax
40b6b8:	53                   	push   %ebx
40b6b9:	56                   	push   %esi
40b6ba:	8b f1                	mov    %ecx,%esi
40b6bc:	33 db                	xor    %ebx,%ebx
40b6be:	8b c8                	mov    %eax,%ecx
40b6c0:	43                   	inc    %ebx
40b6c1:	0f b7 c0             	movzwl %ax,%eax
40b6c4:	05 08 fc ff ff       	add    $0xfffffc08,%eax
40b6c9:	c1 e9 10             	shr    $0x10,%ecx
40b6cc:	57                   	push   %edi
40b6cd:	83 f8 25             	cmp    $0x25,%eax
40b6d0:	0f 87 e1 01 00 00    	ja     0x40b8b7
40b6d6:	0f b6 80 f0 b8 40 00 	movzbl 0x40b8f0(%eax),%eax
40b6dd:	ff 24 85 c0 b8 40 00 	jmp    *0x40b8c0(,%eax,4)
40b6e4:	33 c0                	xor    %eax,%eax
40b6e6:	66 3b c1             	cmp    %cx,%ax
40b6e9:	0f 85 c8 01 00 00    	jne    0x40b8b7
40b6ef:	68 12 04 00 00       	push   $0x412
40b6f4:	8b ce                	mov    %esi,%ecx
40b6f6:	e8 2d 16 00 00       	call   0x40cd28
40b6fb:	48                   	dec    %eax
40b6fc:	8b ce                	mov    %esi,%ecx
40b6fe:	f7 d8                	neg    %eax
40b700:	1b c0                	sbb    %eax,%eax
40b702:	40                   	inc    %eax
40b703:	50                   	push   %eax
40b704:	68 fb 03 00 00       	push   $0x3fb
40b709:	89 46 0c             	mov    %eax,0xc(%esi)
40b70c:	e8 5b 15 00 00       	call   0x40cc6c
40b711:	ff 76 0c             	push   0xc(%esi)
40b714:	8b ce                	mov    %esi,%ecx
40b716:	68 fc 03 00 00       	push   $0x3fc
40b71b:	e8 4c 15 00 00       	call   0x40cc6c
40b720:	33 c0                	xor    %eax,%eax
40b722:	33 ff                	xor    %edi,%edi
40b724:	39 7e 0c             	cmp    %edi,0xc(%esi)
40b727:	8b ce                	mov    %esi,%ecx
40b729:	0f 94 c0             	sete   %al
40b72c:	50                   	push   %eax
40b72d:	68 17 04 00 00       	push   $0x417
40b732:	e8 35 15 00 00       	call   0x40cc6c
40b737:	f6 05 80 93 41 00 40 	testb  $0x40,0x419380
40b73e:	75 03                	jne    0x40b743
40b740:	8b 7e 0c             	mov    0xc(%esi),%edi
40b743:	57                   	push   %edi
40b744:	68 1c 04 00 00       	push   $0x41c
40b749:	8b ce                	mov    %esi,%ecx
40b74b:	e8 1c 15 00 00       	call   0x40cc6c
40b750:	ff 76 0c             	push   0xc(%esi)
40b753:	68 1d 04 00 00       	push   $0x41d
40b758:	8b ce                	mov    %esi,%ecx
40b75a:	e8 0d 15 00 00       	call   0x40cc6c
40b75f:	e9 53 01 00 00       	jmp    0x40b8b7
40b764:	33 c0                	xor    %eax,%eax
40b766:	66 3b c1             	cmp    %cx,%ax
40b769:	0f 85 48 01 00 00    	jne    0x40b8b7
40b76f:	68 1c 04 00 00       	push   $0x41c
40b774:	8b ce                	mov    %esi,%ecx
40b776:	e8 ad 15 00 00       	call   0x40cd28
40b77b:	48                   	dec    %eax
40b77c:	f7 d8                	neg    %eax
40b77e:	1b c0                	sbb    %eax,%eax
40b780:	40                   	inc    %eax
40b781:	89 46 14             	mov    %eax,0x14(%esi)
40b784:	e9 2e 01 00 00       	jmp    0x40b8b7
40b789:	33 c0                	xor    %eax,%eax
40b78b:	66 3b c1             	cmp    %cx,%ax
40b78e:	0f 85 23 01 00 00    	jne    0x40b8b7
40b794:	68 13 04 00 00       	push   $0x413
40b799:	8b ce                	mov    %esi,%ecx
40b79b:	e8 88 15 00 00       	call   0x40cd28
40b7a0:	8b c8                	mov    %eax,%ecx
40b7a2:	33 c0                	xor    %eax,%eax
40b7a4:	3b cb                	cmp    %ebx,%ecx
40b7a6:	0f 94 c0             	sete   %al
40b7a9:	89 46 10             	mov    %eax,0x10(%esi)
40b7ac:	33 c0                	xor    %eax,%eax
40b7ae:	3b cb                	cmp    %ebx,%ecx
40b7b0:	0f 95 c0             	setne  %al
40b7b3:	50                   	push   %eax
40b7b4:	68 fd 03 00 00       	push   $0x3fd
40b7b9:	eb 9d                	jmp    0x40b758
40b7bb:	33 c0                	xor    %eax,%eax
40b7bd:	66 3b c1             	cmp    %cx,%ax
40b7c0:	0f 85 f1 00 00 00    	jne    0x40b8b7
40b7c6:	8b ce                	mov    %esi,%ecx
40b7c8:	e8 1d 02 00 00       	call   0x40b9ea
40b7cd:	e9 e5 00 00 00       	jmp    0x40b8b7
40b7d2:	33 c0                	xor    %eax,%eax
40b7d4:	66 3b c1             	cmp    %cx,%ax
40b7d7:	0f 85 da 00 00 00    	jne    0x40b8b7
40b7dd:	8b ce                	mov    %esi,%ecx
40b7df:	e8 5d 03 00 00       	call   0x40bb41
40b7e4:	e9 ce 00 00 00       	jmp    0x40b8b7
40b7e9:	33 c0                	xor    %eax,%eax