41544f:	6a 00                	push   $0x0
415451:	b8 2e ee 48 00       	mov    $0x48ee2e,%eax
415456:	e8 ef a5 02 00       	call   0x43fa4a
41545b:	8b f1                	mov    %ecx,%esi
41545d:	f7 46 08 00 01 00 00 	testl  $0x100,0x8(%esi)
415464:	74 13                	je     0x415479
415466:	8b 46 0c             	mov    0xc(%esi),%eax
415469:	ff 75 08             	push   0x8(%ebp)
41546c:	8b 48 04             	mov    0x4(%eax),%ecx
41546f:	8b 01                	mov    (%ecx),%eax
415471:	ff 50 20             	call   *0x20(%eax)
415474:	0f b7 d8             	movzwl %ax,%ebx
415477:	eb 03                	jmp    0x41547c
415479:	8b 5d 08             	mov    0x8(%ebp),%ebx
41547c:	8b 7e 04             	mov    0x4(%esi),%edi
41547f:	8b 77 18             	mov    0x18(%edi),%esi
415482:	85 f6                	test   %esi,%esi
415484:	75 2d                	jne    0x4154b3
415486:	6a 20                	push   $0x20
415488:	e8 16 9e 02 00       	call   0x43f2a3
41548d:	8b f0                	mov    %eax,%esi
41548f:	59                   	pop    %ecx
415490:	89 75 08             	mov    %esi,0x8(%ebp)
415493:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
415497:	85 f6                	test   %esi,%esi
415499:	74 0f                	je     0x4154aa
41549b:	6a 20                	push   $0x20
41549d:	6a 00                	push   $0x0
41549f:	56                   	push   %esi
4154a0:	e8 bb e9 02 00       	call   0x443e60
4154a5:	83 c4 0c             	add    $0xc,%esp
4154a8:	eb 02                	jmp    0x4154ac
4154aa:	33 f6                	xor    %esi,%esi
4154ac:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4154b0:	89 77 18             	mov    %esi,0x18(%edi)
4154b3:	0f b7 d3             	movzwl %bx,%edx
4154b6:	8b ca                	mov    %edx,%ecx
4154b8:	83 e2 07             	and    $0x7,%edx
4154bb:	c1 e9 03             	shr    $0x3,%ecx
4154be:	0f b6 04 31          	movzbl (%ecx,%esi,1),%eax
4154c2:	0f ab d0             	bts    %edx,%eax
4154c5:	88 04 31             	mov    %al,(%ecx,%esi,1)
4154c8:	e8 46 a5 02 00       	call   0x43fa13
4154cd:	c2 04 00             	ret    $0x4
4154d0:	55                   	push   %ebp
4154d1:	8b ec                	mov    %esp,%ebp
4154d3:	b8 00 01 00 00       	mov    $0x100,%eax
4154d8:	66 39 45 08          	cmp    %ax,0x8(%ebp)
4154dc:	73 06                	jae    0x4154e4
4154de:	5d                   	pop    %ebp
4154df:	e9 6b ff ff ff       	jmp    0x41544f
4154e4:	5d                   	pop    %ebp
4154e5:	e9 75 fe ff ff       	jmp    0x41535f
4154ea:	6a 04                	push   $0x4
4154ec:	b8 56 ee 48 00       	mov    $0x48ee56,%eax
4154f1:	e8 54 a5 02 00       	call   0x43fa4a
4154f6:	8b f1                	mov    %ecx,%esi
4154f8:	6a 2c                	push   $0x2c
4154fa:	e8 a4 9d 02 00       	call   0x43f2a3
4154ff:	59                   	pop    %ecx
415500:	8b c8                	mov    %eax,%ecx
415502:	89 4d f0             	mov    %ecx,-0x10(%ebp)
415505:	33 c0                	xor    %eax,%eax
415507:	89 45 fc             	mov    %eax,-0x4(%ebp)
41550a:	85 c9                	test   %ecx,%ecx
41550c:	74 08                	je     0x415516
41550e:	50                   	push   %eax
41550f:	6a 07                	push   $0x7
415511:	e8 e5 55 ff ff       	call   0x40aafb
415516:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
41551a:	8b ce                	mov    %esi,%ecx
41551c:	50                   	push   %eax
41551d:	e8 2f 61 00 00       	call   0x41b651
415522:	e8 ec a4 02 00       	call   0x43fa13
415527:	c3                   	ret
415528:	6a 04                	push   $0x4
41552a:	b8 7e ee 48 00       	mov    $0x48ee7e,%eax
41552f:	e8 16 a5 02 00       	call   0x43fa4a
415534:	8b f1                	mov    %ecx,%esi
415536:	6a 2c                	push   $0x2c
415538:	e8 66 9d 02 00       	call   0x43f2a3
41553d:	59                   	pop    %ecx
41553e:	8b c8                	mov    %eax,%ecx
415540:	89 4d f0             	mov    %ecx,-0x10(%ebp)
415543:	33 c0                	xor    %eax,%eax
415545:	89 45 fc             	mov    %eax,-0x4(%ebp)
415548:	85 c9                	test   %ecx,%ecx
41554a:	74 08                	je     0x415554
41554c:	50                   	push   %eax
41554d:	6a 07                	push   $0x7
41554f:	e8 fc 55 ff ff       	call   0x40ab50
415554:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
415558:	8b ce                	mov    %esi,%ecx
41555a:	50                   	push   %eax
41555b:	e8 26 61 00 00       	call   0x41b686
415560:	e8 ae a4 02 00       	call   0x43fa13
415565:	c3                   	ret
415566:	6a 04                	push   $0x4
415568:	b8 a6 ee 48 00       	mov    $0x48eea6,%eax
41556d:	e8 d8 a4 02 00       	call   0x43fa4a
415572:	8b c1                	mov    %ecx,%eax
415574:	89 45 f0             	mov    %eax,-0x10(%ebp)
415577:	8b 5d 08             	mov    0x8(%ebp),%ebx
41557a:	33 ff                	xor    %edi,%edi
41557c:	ff 75 0c             	push   0xc(%ebp)
41557f:	8b 48 0c             	mov    0xc(%eax),%ecx
415582:	57                   	push   %edi
415583:	e8 98 ca 00 00       	call   0x422020
415588:	3a 45 10             	cmp    0x10(%ebp),%al
41558b:	74 48                	je     0x4155d5
41558d:	8b 73 18             	mov    0x18(%ebx),%esi
415590:	85 f6                	test   %esi,%esi
415592:	75 2d                	jne    0x4155c1
415594:	6a 20                	push   $0x20
415596:	e8 08 9d 02 00       	call   0x43f2a3
41559b:	8b f0                	mov    %eax,%esi
41559d:	59                   	pop    %ecx
41559e:	89 75 08             	mov    %esi,0x8(%ebp)
4155a1:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4155a5:	85 f6                	test   %esi,%esi
4155a7:	74 0f                	je     0x4155b8
4155a9:	6a 20                	push   $0x20
4155ab:	6a 00                	push   $0x0
4155ad:	56                   	push   %esi
4155ae:	e8 ad e8 02 00       	call   0x443e60
4155b3:	83 c4 0c             	add    $0xc,%esp
4155b6:	eb 02                	jmp    0x4155ba
4155b8:	33 f6                	xor    %esi,%esi
4155ba:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4155be:	89 73 18             	mov    %esi,0x18(%ebx)
4155c1:	8b d7                	mov    %edi,%edx
4155c3:	8b c7                	mov    %edi,%eax
4155c5:	c1 ea 03             	shr    $0x3,%edx
4155c8:	83 e0 07             	and    $0x7,%eax
4155cb:	0f b6 0c 32          	movzbl (%edx,%esi,1),%ecx
4155cf:	0f ab c1             	bts    %eax,%ecx
4155d2:	88 0c 32             	mov    %cl,(%edx,%esi,1)
4155d5:	8b 45 f0             	mov    -0x10(%ebp),%eax
4155d8:	47                   	inc    %edi
4155d9:	81 ff 00 01 00 00    	cmp    $0x100,%edi
4155df:	72 9b                	jb     0x41557c
4155e1:	e8 2d a4 02 00       	call   0x43fa13
4155e6:	c2 0c 00             	ret    $0xc
4155e9:	6a 04                	push   $0x4
4155eb:	b8 ce ee 48 00       	mov    $0x48eece,%eax
4155f0:	e8 55 a4 02 00       	call   0x43fa4a
4155f5:	8b c1                	mov    %ecx,%eax
4155f7:	89 45 f0             	mov    %eax,-0x10(%ebp)
4155fa:	8b 5d 08             	mov    0x8(%ebp),%ebx
4155fd:	33 ff                	xor    %edi,%edi
4155ff:	ff 75 0c             	push   0xc(%ebp)
415602:	8b 48 0c             	mov    0xc(%eax),%ecx
415605:	57                   	push   %edi
415606:	e8 60 ca 00 00       	call   0x42206b
41560b:	3a 45 10             	cmp    0x10(%ebp),%al
41560e:	74 48                	je     0x415658
415610:	8b 73 18             	mov    0x18(%ebx),%esi
415613:	85 f6                	test   %esi,%esi
415615:	75 2d                	jne    0x415644
415617:	6a 20                	push   $0x20
415619:	e8 85 9c 02 00       	call   0x43f2a3
41561e:	8b f0                	mov    %eax,%esi
415620:	59                   	pop    %ecx
415621:	89 75 08             	mov    %esi,0x8(%ebp)
415624:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
415628:	85 f6                	test   %esi,%esi
41562a:	74 0f                	je     0x41563b
41562c:	6a 20                	push   $0x20
41562e:	6a 00                	push   $0x0
415630:	56                   	push   %esi
415631:	e8 2a e8 02 00       	call   0x443e60
415636:	83 c4 0c             	add    $0xc,%esp
415639:	eb 02                	jmp    0x41563d
41563b:	33 f6                	xor    %esi,%esi
41563d:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
415641:	89 73 18             	mov    %esi,0x18(%ebx)
415644:	8b d7                	mov    %edi,%edx
415646:	8b c7                	mov    %edi,%eax
415648:	c1 ea 03             	shr    $0x3,%edx
41564b:	83 e0 07             	and    $0x7,%eax
41564e:	0f b6 0c 32          	movzbl (%edx,%esi,1),%ecx
415652:	0f ab c1             	bts    %eax,%ecx
415655:	88 0c 32             	mov    %cl,(%edx,%esi,1)
415658:	8b 45 f0             	mov    -0x10(%ebp),%eax
41565b:	47                   	inc    %edi
41565c:	81 ff 00 01 00 00    	cmp    $0x100,%edi
415662:	72 9b                	jb     0x4155ff
415664:	e8 aa a3 02 00       	call   0x43fa13
415669:	c2 0c 00             	ret    $0xc
41566c:	6a 44                	push   $0x44
41566e:	b8 06 ef 48 00       	mov    $0x48ef06,%eax
415673:	e8 06 a4 02 00       	call   0x43fa7e
415678:	8b f1                	mov    %ecx,%esi
41567a:	89 75 b4             	mov    %esi,-0x4c(%ebp)
41567d:	8b 45 0c             	mov    0xc(%ebp),%eax
415680:	8b 55 08             	mov    0x8(%ebp),%edx
415683:	8b 4e 0c             	mov    0xc(%esi),%ecx
415686:	8b 7e 04             	mov    0x4(%esi),%edi
415689:	50                   	push   %eax
41568a:	52                   	push   %edx
41568b:	8d 45 d8             	lea    -0x28(%ebp),%eax
41568e:	50                   	push   %eax
41568f:	e8 5c 32 ff ff       	call   0x4088f0
415694:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
415698:	33 db                	xor    %ebx,%ebx
41569a:	89 5d b8             	mov    %ebx,-0x48(%ebp)
41569d:	8b 4e 0c             	mov    0xc(%esi),%ecx
4156a0:	8d 45 c0             	lea    -0x40(%ebp),%eax
4156a3:	50                   	push   %eax
4156a4:	8d 45 bf             	lea    -0x41(%ebp),%eax
4156a7:	88 5d bf             	mov    %bl,-0x41(%ebp)
4156aa:	50                   	push   %eax
4156ab:	8d 45 c0             	lea    -0x40(%ebp),%eax
4156ae:	50                   	push   %eax
4156af:	e8 ea 30 ff ff       	call   0x40879e
4156b4:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4156b8:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4156bb:	51                   	push   %ecx
4156bc:	8b c8                	mov    %eax,%ecx
4156be:	e8 b5 3e 00 00       	call   0x419578
4156c3:	8a d8                	mov    %al,%bl
4156c5:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
4156c9:	8d 4d c0             	lea    -0x40(%ebp),%ecx
4156cc:	e8 03 7c 00 00       	call   0x41d2d4
4156d1:	84 db                	test   %bl,%bl
4156d3:	74 50                	je     0x415725
4156d5:	8b 77 18             	mov    0x18(%edi),%esi
4156d8:	85 f6                	test   %esi,%esi
4156da:	75 2d                	jne    0x415709
4156dc:	6a 20                	push   $0x20
4156de:	e8 c0 9b 02 00       	call   0x43f2a3
4156e3:	8b f0                	mov    %eax,%esi
4156e5:	59                   	pop    %ecx
4156e6:	89 75 b0             	mov    %esi,-0x50(%ebp)
4156e9:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
4156ed:	85 f6                	test   %esi,%esi
4156ef:	74 0f                	je     0x415700
4156f1:	6a 20                	push   $0x20
4156f3:	6a 00                	push   $0x0
4156f5:	56                   	push   %esi
4156f6:	e8 65 e7 02 00       	call   0x443e60
4156fb:	83 c4 0c             	add    $0xc,%esp
4156fe:	eb 02                	jmp    0x415702
415700:	33 f6                	xor    %esi,%esi
415702:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
415706:	89 77 18             	mov    %esi,0x18(%edi)
415709:	8b 5d b8             	mov    -0x48(%ebp),%ebx
41570c:	8b d3                	mov    %ebx,%edx
41570e:	c1 ea 03             	shr    $0x3,%edx
415711:	8b c3                	mov    %ebx,%eax
415713:	83 e0 07             	and    $0x7,%eax
415716:	0f b6 0c 32          	movzbl (%edx,%esi,1),%ecx
41571a:	0f ab c1             	bts    %eax,%ecx
41571d:	88 0c 32             	mov    %cl,(%edx,%esi,1)
415720:	8b 75 b4             	mov    -0x4c(%ebp),%esi
415723:	eb 03                	jmp    0x415728
415725:	8b 5d b8             	mov    -0x48(%ebp),%ebx
415728:	43                   	inc    %ebx
415729:	89 5d b8             	mov    %ebx,-0x48(%ebp)
41572c:	81 fb 00 01 00 00    	cmp    $0x100,%ebx
415732:	0f 82 65 ff ff ff    	jb     0x41569d
415738:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
41573c:	8d 4d d8             	lea    -0x28(%ebp),%ecx
41573f:	e8 90 7b 00 00       	call   0x41d2d4
415744:	e8 df a2 02 00       	call   0x43fa28
415749:	c2 0c 00             	ret    $0xc
41574c:	6a 4c                	push   $0x4c
41574e:	b8 48 ef 48 00       	mov    $0x48ef48,%eax
415753:	e8 26 a3 02 00       	call   0x43fa7e
415758:	8b f1                	mov    %ecx,%esi
41575a:	89 75 b4             	mov    %esi,-0x4c(%ebp)
41575d:	8b 55 0c             	mov    0xc(%ebp),%edx
415760:	8b 46 04             	mov    0x4(%esi),%eax
415763:	8b 4d 08             	mov    0x8(%ebp),%ecx
415766:	52                   	push   %edx
415767:	89 45 b8             	mov    %eax,-0x48(%ebp)
41576a:	8d 45 d8             	lea    -0x28(%ebp),%eax
41576d:	51                   	push   %ecx
41576e:	89 4d ac             	mov    %ecx,-0x54(%ebp)
415771:	8b 4e 0c             	mov    0xc(%esi),%ecx
415774:	50                   	push   %eax
415775:	89 55 b0             	mov    %edx,-0x50(%ebp)
415778:	e8 18 32 ff ff       	call   0x408995
41577d:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
415781:	33 ff                	xor    %edi,%edi
415783:	8b 4e 0c             	mov    0xc(%esi),%ecx
415786:	0f b7 c7             	movzwl %di,%eax
415789:	89 45 bc             	mov    %eax,-0x44(%ebp)
41578c:	8d 45 be             	lea    -0x42(%ebp),%eax
41578f:	50                   	push   %eax
415790:	8d 45 bc             	lea    -0x44(%ebp),%eax
415793:	50                   	push   %eax
415794:	8d 45 c0             	lea    -0x40(%ebp),%eax
415797:	50                   	push   %eax
415798:	e8 a6 30 ff ff       	call   0x408843
41579d:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4157a1:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4157a4:	51                   	push   %ecx
4157a5:	8b c8                	mov    %eax,%ecx
4157a7:	e8 2b 3e 00 00       	call   0x4195d7
4157ac:	8a d8                	mov    %al,%bl
4157ae:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
4157b2:	8d 4d c0             	lea    -0x40(%ebp),%ecx
4157b5:	e8 40 7b 00 00       	call   0x41d2fa
4157ba:	84 db                	test   %bl,%bl
4157bc:	8b 5d b8             	mov    -0x48(%ebp),%ebx
4157bf:	74 4b                	je     0x41580c
4157c1:	8b 73 18             	mov    0x18(%ebx),%esi
4157c4:	85 f6                	test   %esi,%esi
4157c6:	75 2d                	jne    0x4157f5
4157c8:	6a 20                	push   $0x20
4157ca:	e8 d4 9a 02 00       	call   0x43f2a3
4157cf:	8b f0                	mov    %eax,%esi
4157d1:	59                   	pop    %ecx
4157d2:	89 75 a8             	mov    %esi,-0x58(%ebp)
4157d5:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
4157d9:	85 f6                	test   %esi,%esi
4157db:	74 0f                	je     0x4157ec
4157dd:	6a 20                	push   $0x20
4157df:	6a 00                	push   $0x0
4157e1:	56                   	push   %esi
4157e2:	e8 79 e6 02 00       	call   0x443e60
4157e7:	83 c4 0c             	add    $0xc,%esp
4157ea:	eb 02                	jmp    0x4157ee
4157ec:	33 f6                	xor    %esi,%esi
4157ee:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
4157f2:	89 73 18             	mov    %esi,0x18(%ebx)
4157f5:	8b d7                	mov    %edi,%edx
4157f7:	8b c7                	mov    %edi,%eax
4157f9:	c1 ea 03             	shr    $0x3,%edx
4157fc:	83 e0 07             	and    $0x7,%eax
4157ff:	0f b6 0c 32          	movzbl (%edx,%esi,1),%ecx
415803:	0f ab c1             	bts    %eax,%ecx
415806:	88 0c 32             	mov    %cl,(%edx,%esi,1)
415809:	8b 75 b4             	mov    -0x4c(%ebp),%esi
41580c:	47                   	inc    %edi
41580d:	81 ff 00 01 00 00    	cmp    $0x100,%edi
415813:	0f 82 6a ff ff ff    	jb     0x415783
415819:	8d 43 28             	lea    0x28(%ebx),%eax
41581c:	8b ce                	mov    %esi,%ecx
41581e:	50                   	push   %eax
41581f:	ff 75 10             	push   0x10(%ebp)
415822:	ff 75 b0             	push   -0x50(%ebp)
415825:	ff 75 ac             	push   -0x54(%ebp)
415828:	e8 73 1a 00 00       	call   0x4172a0
41582d:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
415831:	8d 4d d8             	lea    -0x28(%ebp),%ecx
415834:	e8 c1 7a 00 00       	call   0x41d2fa
415839:	e8 ea a1 02 00       	call   0x43fa28
41583e:	c2 0c 00             	ret    $0xc