41a34f:	83 c4 f4             	add    $0xfffffff4,%esp
41a352:	53                   	push   %ebx
41a353:	56                   	push   %esi
41a354:	57                   	push   %edi
41a355:	89 4d fc             	mov    %ecx,-0x4(%ebp)
41a358:	8b fa                	mov    %edx,%edi
41a35a:	8b d8                	mov    %eax,%ebx
41a35c:	8b 75 08             	mov    0x8(%ebp),%esi
41a35f:	85 ff                	test   %edi,%edi
41a361:	74 44                	je     0x41a3a7
41a363:	8b d6                	mov    %esi,%edx
41a365:	8b 45 fc             	mov    -0x4(%ebp),%eax
41a368:	e8 13 d9 fe ff       	call   0x407c80
41a36d:	84 c0                	test   %al,%al
41a36f:	75 36                	jne    0x41a3a7
41a371:	3b 5f 04             	cmp    0x4(%edi),%ebx
41a374:	75 31                	jne    0x41a3a7
41a376:	8b d6                	mov    %esi,%edx
41a378:	8b c3                	mov    %ebx,%eax
41a37a:	e8 65 00 00 00       	call   0x41a3e4
41a37f:	85 c0                	test   %eax,%eax
41a381:	74 24                	je     0x41a3a7
41a383:	89 75 f4             	mov    %esi,-0xc(%ebp)
41a386:	c6 45 f8 0b          	movb   $0xb,-0x8(%ebp)
41a38a:	8d 45 f4             	lea    -0xc(%ebp),%eax
41a38d:	50                   	push   %eax
41a38e:	6a 00                	push   $0x0
41a390:	8b 0d 5c dc 46 00    	mov    0x46dc5c,%ecx
41a396:	b2 01                	mov    $0x1,%dl
41a398:	a1 70 17 41 00       	mov    0x411770,%eax
41a39d:	e8 be 12 ff ff       	call   0x40b660
41a3a2:	e8 2d 96 fe ff       	call   0x4039d4
41a3a7:	f6 43 1c 10          	testb  $0x10,0x1c(%ebx)
41a3ab:	74 14                	je     0x41a3c1
41a3ad:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
41a3b1:	74 0e                	je     0x41a3c1
41a3b3:	56                   	push   %esi
41a3b4:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41a3b7:	8b d7                	mov    %edi,%edx
41a3b9:	8b 43 04             	mov    0x4(%ebx),%eax
41a3bc:	8b 18                	mov    (%eax),%ebx
41a3be:	ff 53 20             	call   *0x20(%ebx)
41a3c1:	5f                   	pop    %edi
41a3c2:	5e                   	pop    %esi
41a3c3:	5b                   	pop    %ebx
41a3c4:	8b e5                	mov    %ebp,%esp
41a3c6:	5d                   	pop    %ebp
41a3c7:	c2 04 00             	ret    $0x4
41a3ca:	8b c0                	mov    %eax,%eax
41a3cc:	56                   	push   %esi
41a3cd:	8b f0                	mov    %eax,%esi
41a3cf:	8b c2                	mov    %edx,%eax
41a3d1:	8b d6                	mov    %esi,%edx
41a3d3:	66 be f4 ff          	mov    $0xfff4,%si
41a3d7:	e8 68 90 fe ff       	call   0x403444
41a3dc:	5e                   	pop    %esi
41a3dd:	c3                   	ret
41a3de:	8b c0                	mov    %eax,%eax
41a3e0:	c3                   	ret
41a3e1:	8d 40 00             	lea    0x0(%eax),%eax
41a3e4:	53                   	push   %ebx
41a3e5:	56                   	push   %esi
41a3e6:	57                   	push   %edi
41a3e7:	55                   	push   %ebp
41a3e8:	51                   	push   %ecx
41a3e9:	89 14 24             	mov    %edx,(%esp)
41a3ec:	8b f8                	mov    %eax,%edi
41a3ee:	83 3c 24 00          	cmpl   $0x0,(%esp)
41a3f2:	74 33                	je     0x41a427
41a3f4:	83 7f 10 00          	cmpl   $0x0,0x10(%edi)
41a3f8:	74 2d                	je     0x41a427
41a3fa:	8b 47 10             	mov    0x10(%edi),%eax
41a3fd:	8b 58 08             	mov    0x8(%eax),%ebx
41a400:	4b                   	dec    %ebx
41a401:	85 db                	test   %ebx,%ebx
41a403:	7c 22                	jl     0x41a427
41a405:	43                   	inc    %ebx
41a406:	33 ed                	xor    %ebp,%ebp
41a408:	8b 47 10             	mov    0x10(%edi),%eax
41a40b:	8b d5                	mov    %ebp,%edx
41a40d:	e8 6a 99 ff ff       	call   0x413d7c
41a412:	8b f0                	mov    %eax,%esi
41a414:	8b 46 08             	mov    0x8(%esi),%eax
41a417:	8b 14 24             	mov    (%esp),%edx
41a41a:	e8 61 d8 fe ff       	call   0x407c80
41a41f:	84 c0                	test   %al,%al
41a421:	75 06                	jne    0x41a429
41a423:	45                   	inc    %ebp
41a424:	4b                   	dec    %ebx
41a425:	75 e1                	jne    0x41a408
41a427:	33 f6                	xor    %esi,%esi
41a429:	8b c6                	mov    %esi,%eax
41a42b:	5a                   	pop    %edx
41a42c:	5d                   	pop    %ebp
41a42d:	5f                   	pop    %edi
41a42e:	5e                   	pop    %esi
41a42f:	5b                   	pop    %ebx
41a430:	c3                   	ret
41a431:	8d 40 00             	lea    0x0(%eax),%eax
41a434:	53                   	push   %ebx
41a435:	56                   	push   %esi
41a436:	57                   	push   %edi
41a437:	83 c4 f8             	add    $0xfffffff8,%esp
41a43a:	8b f2                	mov    %edx,%esi
41a43c:	8b d8                	mov    %eax,%ebx
41a43e:	8b 43 08             	mov    0x8(%ebx),%eax
41a441:	8b d6                	mov    %esi,%edx
41a443:	e8 5c 9f fe ff       	call   0x4043a4
41a448:	74 6f                	je     0x41a4b9
41a44a:	85 f6                	test   %esi,%esi
41a44c:	74 2d                	je     0x41a47b
41a44e:	8b c6                	mov    %esi,%eax
41a450:	e8 7b d9 fe ff       	call   0x407dd0
41a455:	84 c0                	test   %al,%al
41a457:	75 22                	jne    0x41a47b
41a459:	89 34 24             	mov    %esi,(%esp)
41a45c:	c6 44 24 04 0b       	movb   $0xb,0x4(%esp)
41a461:	54                   	push   %esp
41a462:	6a 00                	push   $0x0
41a464:	8b 0d f0 db 46 00    	mov    0x46dbf0,%ecx
41a46a:	b2 01                	mov    $0x1,%dl
41a46c:	a1 70 17 41 00       	mov    0x411770,%eax
41a471:	e8 ea 11 ff ff       	call   0x40b660
41a476:	e8 59 95 fe ff       	call   0x4039d4
41a47b:	8b 7b 04             	mov    0x4(%ebx),%edi
41a47e:	85 ff                	test   %edi,%edi
41a480:	74 0f                	je     0x41a491
41a482:	56                   	push   %esi
41a483:	8b 4b 08             	mov    0x8(%ebx),%ecx
41a486:	8b d3                	mov    %ebx,%edx
41a488:	8b c7                	mov    %edi,%eax
41a48a:	8b 38                	mov    (%eax),%edi
41a48c:	ff 57 20             	call   *0x20(%edi)
41a48f:	eb 0d                	jmp    0x41a49e
41a491:	56                   	push   %esi
41a492:	8b 4b 08             	mov    0x8(%ebx),%ecx
41a495:	33 d2                	xor    %edx,%edx
41a497:	8b c3                	mov    %ebx,%eax
41a499:	8b 38                	mov    (%eax),%edi
41a49b:	ff 57 20             	call   *0x20(%edi)
41a49e:	33 d2                	xor    %edx,%edx
41a4a0:	8b c3                	mov    %ebx,%eax
41a4a2:	e8 0d 01 00 00       	call   0x41a5b4
41a4a7:	8b d6                	mov    %esi,%edx
41a4a9:	8b c3                	mov    %ebx,%eax
41a4ab:	e8 10 00 00 00       	call   0x41a4c0
41a4b0:	b2 01                	mov    $0x1,%dl
41a4b2:	8b c3                	mov    %ebx,%eax
41a4b4:	e8 fb 00 00 00       	call   0x41a5b4
41a4b9:	59                   	pop    %ecx
41a4ba:	5a                   	pop    %edx
41a4bb:	5f                   	pop    %edi
41a4bc:	5e                   	pop    %esi
41a4bd:	5b                   	pop    %ebx
41a4be:	c3                   	ret
41a4bf:	90                   	nop
41a4c0:	53                   	push   %ebx
41a4c1:	56                   	push   %esi
41a4c2:	8b f2                	mov    %edx,%esi
41a4c4:	8b d8                	mov    %eax,%ebx
41a4c6:	8d 43 08             	lea    0x8(%ebx),%eax
41a4c9:	8b d6                	mov    %esi,%edx
41a4cb:	e8 1c 9b fe ff       	call   0x403fec
41a4d0:	5e                   	pop    %esi
41a4d1:	5b                   	pop    %ebx
41a4d2:	c3                   	ret
41a4d3:	90                   	nop
41a4d4:	53                   	push   %ebx
41a4d5:	56                   	push   %esi
41a4d6:	8b f2                	mov    %edx,%esi
41a4d8:	8b d8                	mov    %eax,%ebx
41a4da:	83 7b 10 00          	cmpl   $0x0,0x10(%ebx)
41a4de:	75 12                	jne    0x41a4f2
41a4e0:	8b 15 14 dd 46 00    	mov    0x46dd14,%edx
41a4e6:	8b ce                	mov    %esi,%ecx
41a4e8:	a1 88 18 41 00       	mov    0x411888,%eax
41a4ed:	e8 16 98 ff ff       	call   0x413d08
41a4f2:	8b d6                	mov    %esi,%edx
41a4f4:	8b 43 10             	mov    0x10(%ebx),%eax
41a4f7:	e8 80 98 ff ff       	call   0x413d7c
41a4fc:	5e                   	pop    %esi
41a4fd:	5b                   	pop    %ebx
41a4fe:	c3                   	ret
41a4ff:	90                   	nop
41a500:	8b 50 10             	mov    0x10(%eax),%edx
41a503:	85 d2                	test   %edx,%edx
41a505:	74 04                	je     0x41a50b
41a507:	8b 42 08             	mov    0x8(%edx),%eax
41a50a:	c3                   	ret
41a50b:	33 c0                	xor    %eax,%eax
41a50d:	c3                   	ret
41a50e:	8b c0                	mov    %eax,%eax
41a510:	53                   	push   %ebx
41a511:	56                   	push   %esi
41a512:	57                   	push   %edi
41a513:	8b f2                	mov    %edx,%esi
41a515:	8b d8                	mov    %eax,%ebx
41a517:	8b 43 04             	mov    0x4(%ebx),%eax
41a51a:	85 c0                	test   %eax,%eax
41a51c:	74 3f                	je     0x41a55d
41a51e:	8b 40 10             	mov    0x10(%eax),%eax
41a521:	8b d3                	mov    %ebx,%edx
41a523:	e8 b0 98 ff ff       	call   0x413dd8
41a528:	85 c0                	test   %eax,%eax
41a52a:	7c 31                	jl     0x41a55d
41a52c:	8b 53 04             	mov    0x4(%ebx),%edx
41a52f:	8b 7a 10             	mov    0x10(%edx),%edi
41a532:	8b 57 08             	mov    0x8(%edi),%edx
41a535:	85 f6                	test   %esi,%esi
41a537:	7d 02                	jge    0x41a53b
41a539:	33 f6                	xor    %esi,%esi
41a53b:	3b d6                	cmp    %esi,%edx
41a53d:	7f 03                	jg     0x41a542
41a53f:	8b f2                	mov    %edx,%esi
41a541:	4e                   	dec    %esi
41a542:	3b c6                	cmp    %esi,%eax
41a544:	74 17                	je     0x41a55d
41a546:	8b d7                	mov    %edi,%edx
41a548:	92                   	xchg   %eax,%edx
41a549:	e8 1e 97 ff ff       	call   0x413c6c
41a54e:	8b 43 04             	mov    0x4(%ebx),%eax
41a551:	8b 40 10             	mov    0x10(%eax),%eax
41a554:	8b cb                	mov    %ebx,%ecx
41a556:	8b d6                	mov    %esi,%edx
41a558:	e8 9b 98 ff ff       	call   0x413df8
41a55d:	5f                   	pop    %edi
41a55e:	5e                   	pop    %esi
41a55f:	5b                   	pop    %ebx
41a560:	c3                   	ret
41a561:	8d 40 00             	lea    0x0(%eax),%eax
41a564:	53                   	push   %ebx
41a565:	56                   	push   %esi
41a566:	57                   	push   %edi
41a567:	55                   	push   %ebp
41a568:	51                   	push   %ecx
41a569:	88 0c 24             	mov    %cl,(%esp)
41a56c:	8b da                	mov    %edx,%ebx
41a56e:	8b f0                	mov    %eax,%esi
41a570:	84 db                	test   %bl,%bl
41a572:	74 07                	je     0x41a57b
41a574:	66 83 4e 1c 10       	orw    $0x10,0x1c(%esi)
41a579:	eb 05                	jmp    0x41a580
41a57b:	66 83 66 1c ef       	andw   $0xffef,0x1c(%esi)
41a580:	80 3c 24 00          	cmpb   $0x0,(%esp)
41a584:	74 27                	je     0x41a5ad
41a586:	8b c6                	mov    %esi,%eax
41a588:	e8 73 ff ff ff       	call   0x41a500
41a58d:	8b e8                	mov    %eax,%ebp
41a58f:	4d                   	dec    %ebp
41a590:	85 ed                	test   %ebp,%ebp
41a592:	7c 19                	jl     0x41a5ad
41a594:	45                   	inc    %ebp
41a595:	33 ff                	xor    %edi,%edi
41a597:	8b d7                	mov    %edi,%edx
41a599:	8b c6                	mov    %esi,%eax
41a59b:	e8 34 ff ff ff       	call   0x41a4d4
41a5a0:	b1 01                	mov    $0x1,%cl
41a5a2:	8b d3                	mov    %ebx,%edx
41a5a4:	e8 bb ff ff ff       	call   0x41a564
41a5a9:	47                   	inc    %edi
41a5aa:	4d                   	dec    %ebp
41a5ab:	75 ea                	jne    0x41a597
41a5ad:	5a                   	pop    %edx
41a5ae:	5d                   	pop    %ebp
41a5af:	5f                   	pop    %edi
41a5b0:	5e                   	pop    %esi
41a5b1:	5b                   	pop    %ebx
41a5b2:	c3                   	ret
41a5b3:	90                   	nop
41a5b4:	53                   	push   %ebx
41a5b5:	56                   	push   %esi
41a5b6:	57                   	push   %edi
41a5b7:	81 c4 00 ff ff ff    	add    $0xffffff00,%esp
41a5bd:	8b da                	mov    %edx,%ebx
41a5bf:	8b f8                	mov    %eax,%edi
41a5c1:	8b 77 04             	mov    0x4(%edi),%esi
41a5c4:	85 f6                	test   %esi,%esi
41a5c6:	74 28                	je     0x41a5f0
41a5c8:	8b c4                	mov    %esp,%eax
41a5ca:	8b 57 08             	mov    0x8(%edi),%edx
41a5cd:	b9 ff 00 00 00       	mov    $0xff,%ecx
41a5d2:	e8 5d 9c fe ff       	call   0x404234
41a5d7:	8b d4                	mov    %esp,%edx
41a5d9:	8b c6                	mov    %esi,%eax
41a5db:	e8 3c 8f fe ff       	call   0x40351c
41a5e0:	85 c0                	test   %eax,%eax
41a5e2:	74 0c                	je     0x41a5f0
41a5e4:	84 db                	test   %bl,%bl
41a5e6:	74 04                	je     0x41a5ec
41a5e8:	89 38                	mov    %edi,(%eax)
41a5ea:	eb 04                	jmp    0x41a5f0
41a5ec:	33 d2                	xor    %edx,%edx
41a5ee:	89 10                	mov    %edx,(%eax)
41a5f0:	81 c4 00 01 00 00    	add    $0x100,%esp
41a5f6:	5f                   	pop    %edi
41a5f7:	5e                   	pop    %esi
41a5f8:	5b                   	pop    %ebx
41a5f9:	c3                   	ret
41a5fa:	8b c0                	mov    %eax,%eax
41a5fc:	53                   	push   %ebx
41a5fd:	56                   	push   %esi
41a5fe:	57                   	push   %edi
41a5ff:	8b fa                	mov    %edx,%edi
41a601:	8b f0                	mov    %eax,%esi
41a603:	8b d6                	mov    %esi,%edx
41a605:	8b c7                	mov    %edi,%eax
41a607:	8b 08                	mov    (%eax),%ecx
41a609:	ff 51 38             	call   *0x38(%ecx)
41a60c:	8b d8                	mov    %eax,%ebx
41a60e:	84 db                	test   %bl,%bl
41a610:	74 09                	je     0x41a61b
41a612:	8b d6                	mov    %esi,%edx
41a614:	8b c7                	mov    %edi,%eax
41a616:	8b 08                	mov    (%eax),%ecx
41a618:	ff 51 40             	call   *0x40(%ecx)
41a61b:	8b c3                	mov    %ebx,%eax
41a61d:	5f                   	pop    %edi
41a61e:	5e                   	pop    %esi
41a61f:	5b                   	pop    %ebx
41a620:	c3                   	ret
41a621:	8d 40 00             	lea    0x0(%eax),%eax
41a624:	53                   	push   %ebx
41a625:	56                   	push   %esi
41a626:	57                   	push   %edi
41a627:	8b fa                	mov    %edx,%edi
41a629:	8b f0                	mov    %eax,%esi
41a62b:	8b d6                	mov    %esi,%edx
41a62d:	8b c7                	mov    %edi,%eax
41a62f:	8b 08                	mov    (%eax),%ecx
41a631:	ff 51 38             	call   *0x38(%ecx)
41a634:	8b d8                	mov    %eax,%ebx
41a636:	84 db                	test   %bl,%bl
41a638:	74 09                	je     0x41a643
41a63a:	8b d6                	mov    %esi,%edx
41a63c:	8b c7                	mov    %edi,%eax
41a63e:	8b 08                	mov    (%eax),%ecx
41a640:	ff 51 3c             	call   *0x3c(%ecx)
41a643:	8b c3                	mov    %ebx,%eax
41a645:	5f                   	pop    %edi
41a646:	5e                   	pop    %esi
41a647:	5b                   	pop    %ebx
41a648:	c3                   	ret
41a649:	8d 40 00             	lea    0x0(%eax),%eax
41a64c:	53                   	push   %ebx
41a64d:	83 78 20 00          	cmpl   $0x0,0x20(%eax)
41a651:	74 0a                	je     0x41a65d
41a653:	8b 40 20             	mov    0x20(%eax),%eax
41a656:	8b 18                	mov    (%eax),%ebx
41a658:	ff 53 1c             	call   *0x1c(%ebx)
41a65b:	5b                   	pop    %ebx