41a1a7:	57                   	push   %edi
41a1a8:	e8 bd e6 ff ff       	call   0x41886a
41a1ad:	8b f0                	mov    %eax,%esi
41a1af:	85 f6                	test   %esi,%esi
41a1b1:	79 23                	jns    0x41a1d6
41a1b3:	85 ff                	test   %edi,%edi
41a1b5:	b9 34 63 45 00       	mov    $0x456334,%ecx
41a1ba:	b8 40 63 45 00       	mov    $0x456340,%eax
41a1bf:	0f 44 c8             	cmove  %eax,%ecx
41a1c2:	51                   	push   %ecx
41a1c3:	68 4c 63 45 00       	push   $0x45634c
41a1c8:	56                   	push   %esi
41a1c9:	e8 61 5f 02 00       	call   0x44012f
41a1ce:	83 c4 0c             	add    $0xc,%esp
41a1d1:	e9 cb 00 00 00       	jmp    0x41a2a1
41a1d6:	8d 45 f8             	lea    -0x8(%ebp),%eax
41a1d9:	33 db                	xor    %ebx,%ebx
41a1db:	50                   	push   %eax
41a1dc:	ff 75 0c             	push   0xc(%ebp)
41a1df:	83 fe 01             	cmp    $0x1,%esi
41a1e2:	ff 75 f4             	push   -0xc(%ebp)
41a1e5:	0f 94 c3             	sete   %bl
41a1e8:	e8 8c 8b fe ff       	call   0x402d79
41a1ed:	8b f0                	mov    %eax,%esi
41a1ef:	85 f6                	test   %esi,%esi
41a1f1:	79 12                	jns    0x41a205
41a1f3:	68 7c 63 45 00       	push   $0x45637c
41a1f8:	56                   	push   %esi
41a1f9:	e8 31 5f 02 00       	call   0x44012f
41a1fe:	59                   	pop    %ecx
41a1ff:	59                   	pop    %ecx
41a200:	e9 9c 00 00 00       	jmp    0x41a2a1
41a205:	8d 45 f8             	lea    -0x8(%ebp),%eax
41a208:	50                   	push   %eax
41a209:	e8 20 89 fe ff       	call   0x402b2e
41a20e:	8b f0                	mov    %eax,%esi
41a210:	85 f6                	test   %esi,%esi
41a212:	79 07                	jns    0x41a21b
41a214:	68 9c 63 45 00       	push   $0x45639c
41a219:	eb dd                	jmp    0x41a1f8
41a21b:	85 db                	test   %ebx,%ebx
41a21d:	74 76                	je     0x41a295
41a21f:	6a 00                	push   $0x0
41a221:	ff 75 f8             	push   -0x8(%ebp)
41a224:	e8 b9 9e fe ff       	call   0x4040e2
41a229:	85 c0                	test   %eax,%eax
41a22b:	75 68                	jne    0x41a295
41a22d:	8d 45 f4             	lea    -0xc(%ebp),%eax
41a230:	50                   	push   %eax
41a231:	6a 00                	push   $0x0
41a233:	57                   	push   %edi
41a234:	e8 31 e6 ff ff       	call   0x41886a
41a239:	8b f0                	mov    %eax,%esi
41a23b:	85 f6                	test   %esi,%esi
41a23d:	79 1a                	jns    0x41a259
41a23f:	85 ff                	test   %edi,%edi
41a241:	b8 34 63 45 00       	mov    $0x456334,%eax
41a246:	b9 40 63 45 00       	mov    $0x456340,%ecx
41a24b:	0f 44 c1             	cmove  %ecx,%eax
41a24e:	50                   	push   %eax
41a24f:	68 d4 63 45 00       	push   $0x4563d4
41a254:	e9 6f ff ff ff       	jmp    0x41a1c8
41a259:	8d 45 fc             	lea    -0x4(%ebp),%eax
41a25c:	50                   	push   %eax
41a25d:	ff 75 0c             	push   0xc(%ebp)
41a260:	ff 75 f4             	push   -0xc(%ebp)
41a263:	e8 11 8b fe ff       	call   0x402d79
41a268:	8b f0                	mov    %eax,%esi
41a26a:	85 f6                	test   %esi,%esi
41a26c:	78 85                	js     0x41a1f3
41a26e:	8d 45 fc             	lea    -0x4(%ebp),%eax
41a271:	50                   	push   %eax
41a272:	e8 b7 88 fe ff       	call   0x402b2e
41a277:	8b f0                	mov    %eax,%esi
41a279:	85 f6                	test   %esi,%esi
41a27b:	78 97                	js     0x41a214
41a27d:	6a 00                	push   $0x0
41a27f:	ff 75 fc             	push   -0x4(%ebp)
41a282:	e8 5b 9e fe ff       	call   0x4040e2
41a287:	85 c0                	test   %eax,%eax
41a289:	74 0a                	je     0x41a295
41a28b:	8b 45 10             	mov    0x10(%ebp),%eax
41a28e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41a291:	89 08                	mov    %ecx,(%eax)
41a293:	eb 1a                	jmp    0x41a2af
41a295:	8b 45 10             	mov    0x10(%ebp),%eax
41a298:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41a29b:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
41a29f:	89 08                	mov    %ecx,(%eax)
41a2a1:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
41a2a5:	74 0c                	je     0x41a2b3
41a2a7:	ff 75 fc             	push   -0x4(%ebp)
41a2aa:	e8 40 b2 02 00       	call   0x4454ef
41a2af:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41a2b3:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
41a2b7:	74 0c                	je     0x41a2c5
41a2b9:	ff 75 f8             	push   -0x8(%ebp)
41a2bc:	e8 2e b2 02 00       	call   0x4454ef
41a2c1:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
41a2c5:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
41a2c9:	74 08                	je     0x41a2d3
41a2cb:	ff 75 f4             	push   -0xc(%ebp)
41a2ce:	e8 1c b2 02 00       	call   0x4454ef
41a2d3:	5f                   	pop    %edi
41a2d4:	8b c6                	mov    %esi,%eax
41a2d6:	5e                   	pop    %esi
41a2d7:	5b                   	pop    %ebx
41a2d8:	8b e5                	mov    %ebp,%esp
41a2da:	5d                   	pop    %ebp
41a2db:	c2 0c 00             	ret    $0xc
41a2de:	55                   	push   %ebp
41a2df:	8b ec                	mov    %esp,%ebp
41a2e1:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
41a2e5:	ff 75 10             	push   0x10(%ebp)
41a2e8:	74 0f                	je     0x41a2f9
41a2ea:	68 24 b5 44 00       	push   $0x44b524
41a2ef:	ff 75 08             	push   0x8(%ebp)
41a2f2:	e8 1a e4 ff ff       	call   0x418711
41a2f7:	eb 0a                	jmp    0x41a303
41a2f9:	6a 01                	push   $0x1
41a2fb:	ff 75 08             	push   0x8(%ebp)
41a2fe:	e8 67 e5 ff ff       	call   0x41886a
41a303:	5d                   	pop    %ebp
41a304:	c2 0c 00             	ret    $0xc
41a307:	55                   	push   %ebp
41a308:	8b ec                	mov    %esp,%ebp
41a30a:	83 ec 18             	sub    $0x18,%esp
41a30d:	33 c0                	xor    %eax,%eax
41a30f:	56                   	push   %esi
41a310:	8b f0                	mov    %eax,%esi
41a312:	89 45 fc             	mov    %eax,-0x4(%ebp)
41a315:	57                   	push   %edi
41a316:	8b f8                	mov    %eax,%edi
41a318:	89 45 f0             	mov    %eax,-0x10(%ebp)
41a31b:	89 7d ec             	mov    %edi,-0x14(%ebp)
41a31e:	89 45 f8             	mov    %eax,-0x8(%ebp)
41a321:	89 45 f4             	mov    %eax,-0xc(%ebp)
41a324:	89 45 e8             	mov    %eax,-0x18(%ebp)
41a327:	39 05 a4 aa 46 00    	cmp    %eax,0x46aaa4
41a32d:	0f 85 c8 01 00 00    	jne    0x41a4fb
41a333:	50                   	push   %eax
41a334:	8d 45 fc             	lea    -0x4(%ebp),%eax
41a337:	50                   	push   %eax
41a338:	e8 9a 90 fe ff       	call   0x4033d7
41a33d:	8b f0                	mov    %eax,%esi
41a33f:	85 f6                	test   %esi,%esi
41a341:	79 12                	jns    0x41a355
41a343:	68 90 bf 44 00       	push   $0x44bf90
41a348:	56                   	push   %esi
41a349:	e8 e1 5d 02 00       	call   0x44012f
41a34e:	59                   	pop    %ecx
41a34f:	59                   	pop    %ecx
41a350:	e9 64 01 00 00       	jmp    0x41a4b9
41a355:	8b 7d 08             	mov    0x8(%ebp),%edi
41a358:	8d 45 ec             	lea    -0x14(%ebp),%eax
41a35b:	50                   	push   %eax
41a35c:	ff 77 10             	push   0x10(%edi)
41a35f:	ff 37                	push   (%edi)
41a361:	e8 23 fe ff ff       	call   0x41a189
41a366:	8b f0                	mov    %eax,%esi
41a368:	85 f6                	test   %esi,%esi
41a36a:	79 15                	jns    0x41a381
41a36c:	68 bc 5f 45 00       	push   $0x455fbc
41a371:	56                   	push   %esi
41a372:	e8 b8 5d 02 00       	call   0x44012f
41a377:	8b 7d ec             	mov    -0x14(%ebp),%edi
41a37a:	59                   	pop    %ecx
41a37b:	59                   	pop    %ecx
41a37c:	e9 38 01 00 00       	jmp    0x41a4b9
41a381:	8d 45 f0             	lea    -0x10(%ebp),%eax
41a384:	50                   	push   %eax
41a385:	ff 77 48             	push   0x48(%edi)
41a388:	8b 7d ec             	mov    -0x14(%ebp),%edi
41a38b:	57                   	push   %edi
41a38c:	e8 e8 89 fe ff       	call   0x402d79
41a391:	8b f0                	mov    %eax,%esi
41a393:	85 f6                	test   %esi,%esi
41a395:	79 07                	jns    0x41a39e
41a397:	68 e8 5f 45 00       	push   $0x455fe8
41a39c:	eb aa                	jmp    0x41a348
41a39e:	8d 45 e8             	lea    -0x18(%ebp),%eax
41a3a1:	50                   	push   %eax
41a3a2:	ff 75 f0             	push   -0x10(%ebp)
41a3a5:	ff 75 fc             	push   -0x4(%ebp)
41a3a8:	e8 58 89 fe ff       	call   0x402d05
41a3ad:	8b f0                	mov    %eax,%esi
41a3af:	85 f6                	test   %esi,%esi
41a3b1:	79 16                	jns    0x41a3c9
41a3b3:	ff 75 fc             	push   -0x4(%ebp)
41a3b6:	68 20 60 45 00       	push   $0x456020
41a3bb:	56                   	push   %esi
41a3bc:	e8 6e 5d 02 00       	call   0x44012f
41a3c1:	83 c4 0c             	add    $0xc,%esp
41a3c4:	e9 f0 00 00 00       	jmp    0x41a4b9
41a3c9:	33 c0                	xor    %eax,%eax
41a3cb:	83 7d e8 02          	cmpl   $0x2,-0x18(%ebp)
41a3cf:	53                   	push   %ebx
41a3d0:	8b 5d 10             	mov    0x10(%ebp),%ebx
41a3d3:	0f 94 c0             	sete   %al
41a3d6:	85 db                	test   %ebx,%ebx
41a3d8:	a3 a8 aa 46 00       	mov    %eax,0x46aaa8
41a3dd:	6a 00                	push   $0x0
41a3df:	0f 44 5d fc          	cmove  -0x4(%ebp),%ebx
41a3e3:	53                   	push   %ebx
41a3e4:	68 90 aa 46 00       	push   $0x46aa90
41a3e9:	e8 b7 7d fe ff       	call   0x4021a5
41a3ee:	8b f0                	mov    %eax,%esi
41a3f0:	85 f6                	test   %esi,%esi
41a3f2:	79 0a                	jns    0x41a3fe
41a3f4:	68 50 60 45 00       	push   $0x456050
41a3f9:	e9 a6 00 00 00       	jmp    0x41a4a4
41a3fe:	83 3d a8 aa 46 00 00 	cmpl   $0x0,0x46aaa8
41a405:	0f 85 a3 00 00 00    	jne    0x41a4ae
41a40b:	8d 45 f8             	lea    -0x8(%ebp),%eax
41a40e:	be 78 4a 45 00       	mov    $0x454a78,%esi
41a413:	50                   	push   %eax
41a414:	56                   	push   %esi
41a415:	ff 75 0c             	push   0xc(%ebp)
41a418:	e8 71 cf fe ff       	call   0x40738e
41a41d:	3d 90 04 07 80       	cmp    $0x80070490,%eax
41a422:	75 32                	jne    0x41a456
41a424:	6a 00                	push   $0x0
41a426:	53                   	push   %ebx
41a427:	56                   	push   %esi
41a428:	ff 75 0c             	push   0xc(%ebp)
41a42b:	e8 c6 dc fe ff       	call   0x4080f6
41a430:	8b f0                	mov    %eax,%esi
41a432:	85 f6                	test   %esi,%esi
41a434:	79 07                	jns    0x41a43d
41a436:	68 18 4c 45 00       	push   $0x454c18
41a43b:	eb 67                	jmp    0x41a4a4
41a43d:	6a 00                	push   $0x0
41a43f:	53                   	push   %ebx
41a440:	8d 45 f8             	lea    -0x8(%ebp),%eax
41a443:	50                   	push   %eax
41a444:	e8 5c 7d fe ff       	call   0x4021a5
41a449:	8b f0                	mov    %eax,%esi
41a44b:	85 f6                	test   %esi,%esi
41a44d:	79 07                	jns    0x41a456
41a44f:	68 78 60 45 00       	push   $0x456078
41a454:	eb 4e                	jmp    0x41a4a4
41a456:	8d 45 f4             	lea    -0xc(%ebp),%eax
41a459:	bb 0c 5f 45 00       	mov    $0x455f0c,%ebx
41a45e:	50                   	push   %eax
41a45f:	53                   	push   %ebx
41a460:	ff 75 0c             	push   0xc(%ebp)
41a463:	e8 26 cf fe ff       	call   0x40738e
41a468:	8b f0                	mov    %eax,%esi
41a46a:	81 fe 90 04 07 80    	cmp    $0x80070490,%esi
41a470:	75 3c                	jne    0x41a4ae
41a472:	8d 45 f4             	lea    -0xc(%ebp),%eax
41a475:	50                   	push   %eax
41a476:	ff 75 f8             	push   -0x8(%ebp)
41a479:	e8 c8 8f fe ff       	call   0x403446
41a47e:	8b f0                	mov    %eax,%esi
41a480:	85 f6                	test   %esi,%esi
41a482:	79 07                	jns    0x41a48b
41a484:	68 a8 60 45 00       	push   $0x4560a8
41a489:	eb 19                	jmp    0x41a4a4
41a48b:	6a 00                	push   $0x0
41a48d:	ff 75 f4             	push   -0xc(%ebp)
41a490:	53                   	push   %ebx
41a491:	ff 75 0c             	push   0xc(%ebp)
41a494:	e8 5d dc fe ff       	call   0x4080f6
41a499:	8b f0                	mov    %eax,%esi
41a49b:	85 f6                	test   %esi,%esi
41a49d:	79 0f                	jns    0x41a4ae
41a49f:	68 dc 60 45 00       	push   $0x4560dc
41a4a4:	56                   	push   %esi
41a4a5:	e8 85 5c 02 00       	call   0x44012f
41a4aa:	59                   	pop    %ecx
41a4ab:	59                   	pop    %ecx
41a4ac:	eb 0a                	jmp    0x41a4b8
41a4ae:	c7 05 a4 aa 46 00 01 	movl   $0x1,0x46aaa4
41a4b5:	00 00 00
41a4b8:	5b                   	pop    %ebx
41a4b9:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
41a4bd:	74 08                	je     0x41a4c7
41a4bf:	ff 75 fc             	push   -0x4(%ebp)
41a4c2:	e8 28 b0 02 00       	call   0x4454ef
41a4c7:	85 ff                	test   %edi,%edi
41a4c9:	74 06                	je     0x41a4d1
41a4cb:	57                   	push   %edi
41a4cc:	e8 1e b0 02 00       	call   0x4454ef
41a4d1:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
41a4d5:	74 08                	je     0x41a4df
41a4d7:	ff 75 f0             	push   -0x10(%ebp)
41a4da:	e8 10 b0 02 00       	call   0x4454ef
41a4df:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
41a4e3:	74 08                	je     0x41a4ed
41a4e5:	ff 75 f8             	push   -0x8(%ebp)
41a4e8:	e8 02 b0 02 00       	call   0x4454ef
41a4ed:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
41a4f1:	74 08                	je     0x41a4fb
41a4f3:	ff 75 f4             	push   -0xc(%ebp)
41a4f6:	e8 f4 af 02 00       	call   0x4454ef
41a4fb:	5f                   	pop    %edi
41a4fc:	8b c6                	mov    %esi,%eax
41a4fe:	5e                   	pop    %esi
41a4ff:	8b e5                	mov    %ebp,%esp
41a501:	5d                   	pop    %ebp
41a502:	c2 0c 00             	ret    $0xc
41a505:	55                   	push   %ebp
41a506:	8b ec                	mov    %esp,%ebp
41a508:	51                   	push   %ecx
41a509:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41a50d:	8d 45 fc             	lea    -0x4(%ebp),%eax
41a510:	56                   	push   %esi
41a511:	50                   	push   %eax
41a512:	ff 75 08             	push   0x8(%ebp)
41a515:	ff 75 0c             	push   0xc(%ebp)
41a518:	e8 5c 88 fe ff       	call   0x402d79
41a51d:	8b f0                	mov    %eax,%esi
41a51f:	85 f6                	test   %esi,%esi
41a521:	79 0f                	jns    0x41a532
41a523:	68 78 66 45 00       	push   $0x456678
41a528:	56                   	push   %esi
41a529:	e8 01 5c 02 00       	call   0x44012f
41a52e:	59                   	pop    %ecx
41a52f:	59                   	pop    %ecx
41a530:	eb 45                	jmp    0x41a577
41a532:	ff 75 fc             	push   -0x4(%ebp)
41a535:	ff 75 10             	push   0x10(%ebp)
41a538:	68 bc 66 45 00       	push   $0x4566bc
41a53d:	6a 02                	push   $0x2
41a53f:	e8 d6 60 02 00       	call   0x44061a
41a544:	83 c4 10             	add    $0x10,%esp
41a547:	68 d0 07 00 00       	push   $0x7d0
41a54c:	6a 03                	push   $0x3
41a54e:	6a 01                	push   $0x1
41a550:	6a 01                	push   $0x1
41a552:	ff 75 fc             	push   -0x4(%ebp)
41a555:	ff 75 10             	push   0x10(%ebp)
41a558:	e8 74 9c 02 00       	call   0x4441d1
41a55d:	8b f0                	mov    %eax,%esi
41a55f:	85 f6                	test   %esi,%esi
41a561:	79 14                	jns    0x41a577
41a563:	ff 75 fc             	push   -0x4(%ebp)
41a566:	ff 75 10             	push   0x10(%ebp)
41a569:	68 e0 66 45 00       	push   $0x4566e0
41a56e:	56                   	push   %esi
41a56f:	e8 bb 5b 02 00       	call   0x44012f
41a574:	83 c4 10             	add    $0x10,%esp
41a577:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
41a57b:	74 08                	je     0x41a585
41a57d:	ff 75 fc             	push   -0x4(%ebp)
41a580:	e8 6a af 02 00       	call   0x4454ef
41a585:	8b c6                	mov    %esi,%eax
41a587:	5e                   	pop    %esi
41a588:	8b e5                	mov    %ebp,%esp