41524d:	f7 46 08 00 01 00 00 	testl  $0x100,0x8(%esi)
415254:	74 12                	je     0x415268
415256:	8b 46 0c             	mov    0xc(%esi),%eax
415259:	ff 75 08             	push   0x8(%ebp)
41525c:	8b 48 04             	mov    0x4(%eax),%ecx
41525f:	8b 01                	mov    (%ecx),%eax
415261:	8b 40 10             	mov    0x10(%eax),%eax
415264:	ff d0                	call   *%eax
415266:	eb 14                	jmp    0x41527c
415268:	f7 46 08 00 08 00 00 	testl  $0x800,0x8(%esi)
41526f:	74 0e                	je     0x41527f
415271:	ff 75 08             	push   0x8(%ebp)
415274:	8b 4e 0c             	mov    0xc(%esi),%ecx
415277:	e8 78 e0 00 00       	call   0x4232f4
41527c:	88 45 08             	mov    %al,0x8(%ebp)
41527f:	8b 4e 04             	mov    0x4(%esi),%ecx
415282:	ff 75 08             	push   0x8(%ebp)
415285:	83 c1 14             	add    $0x14,%ecx
415288:	e8 46 5e 00 00       	call   0x41b0d3
41528d:	5e                   	pop    %esi
41528e:	5d                   	pop    %ebp
41528f:	c2 04 00             	ret    $0x4
415292:	55                   	push   %ebp
415293:	8b ec                	mov    %esp,%ebp
415295:	56                   	push   %esi
415296:	8b f1                	mov    %ecx,%esi
415298:	8b 46 04             	mov    0x4(%esi),%eax
41529b:	83 78 04 06          	cmpl   $0x6,0x4(%eax)
41529f:	75 06                	jne    0x4152a7
4152a1:	f6 40 08 04          	testb  $0x4,0x8(%eax)
4152a5:	74 05                	je     0x4152ac
4152a7:	e8 63 0c 00 00       	call   0x415f0f
4152ac:	f7 46 08 00 01 00 00 	testl  $0x100,0x8(%esi)
4152b3:	74 13                	je     0x4152c8
4152b5:	8b 46 0c             	mov    0xc(%esi),%eax
4152b8:	ff 75 08             	push   0x8(%ebp)
4152bb:	8b 48 04             	mov    0x4(%eax),%ecx
4152be:	8b 01                	mov    (%ecx),%eax
4152c0:	ff 50 20             	call   *0x20(%eax)
4152c3:	0f b7 c0             	movzwl %ax,%eax
4152c6:	eb 19                	jmp    0x4152e1
4152c8:	f7 46 08 00 08 00 00 	testl  $0x800,0x8(%esi)
4152cf:	74 0d                	je     0x4152de
4152d1:	ff 75 08             	push   0x8(%ebp)
4152d4:	8b 4e 0c             	mov    0xc(%esi),%ecx
4152d7:	e8 69 e0 00 00       	call   0x423345
4152dc:	eb e5                	jmp    0x4152c3
4152de:	8b 45 08             	mov    0x8(%ebp),%eax
4152e1:	8b 4e 04             	mov    0x4(%esi),%ecx
4152e4:	50                   	push   %eax
4152e5:	83 c1 14             	add    $0x14,%ecx
4152e8:	e8 10 5e 00 00       	call   0x41b0fd
4152ed:	5e                   	pop    %esi
4152ee:	5d                   	pop    %ebp
4152ef:	c2 04 00             	ret    $0x4
4152f2:	6a 04                	push   $0x4
4152f4:	b8 b6 ed 48 00       	mov    $0x48edb6,%eax
4152f9:	e8 4c a7 02 00       	call   0x43fa4a
4152fe:	8b f1                	mov    %ecx,%esi
415300:	f7 46 08 00 01 00 00 	testl  $0x100,0x8(%esi)
415307:	74 13                	je     0x41531c
415309:	8b 46 0c             	mov    0xc(%esi),%eax
41530c:	ff 75 08             	push   0x8(%ebp)
41530f:	8b 48 04             	mov    0x4(%eax),%ecx
415312:	8b 01                	mov    (%ecx),%eax
415314:	8b 40 10             	mov    0x10(%eax),%eax
415317:	ff d0                	call   *%eax
415319:	88 45 08             	mov    %al,0x8(%ebp)
41531c:	8b 76 04             	mov    0x4(%esi),%esi
41531f:	8b 46 1c             	mov    0x1c(%esi),%eax
415322:	85 c0                	test   %eax,%eax
415324:	75 27                	jne    0x41534d
415326:	6a 0c                	push   $0xc
415328:	e8 76 9f 02 00       	call   0x43f2a3
41532d:	59                   	pop    %ecx
41532e:	89 45 f0             	mov    %eax,-0x10(%ebp)
415331:	33 c9                	xor    %ecx,%ecx
415333:	89 4d fc             	mov    %ecx,-0x4(%ebp)
415336:	85 c0                	test   %eax,%eax
415338:	74 0a                	je     0x415344
41533a:	89 08                	mov    %ecx,(%eax)
41533c:	89 48 04             	mov    %ecx,0x4(%eax)
41533f:	89 48 08             	mov    %ecx,0x8(%eax)
415342:	eb 02                	jmp    0x415346
415344:	8b c1                	mov    %ecx,%eax
415346:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
41534a:	89 46 1c             	mov    %eax,0x1c(%esi)
41534d:	ff 75 08             	push   0x8(%ebp)
415350:	8b c8                	mov    %eax,%ecx
415352:	e8 7c 5d 00 00       	call   0x41b0d3
415357:	e8 b7 a6 02 00       	call   0x43fa13
41535c:	c2 04 00             	ret    $0x4
41535f:	6a 00                	push   $0x0
415361:	b8 de ed 48 00       	mov    $0x48edde,%eax
415366:	e8 df a6 02 00       	call   0x43fa4a
41536b:	8b f1                	mov    %ecx,%esi
41536d:	f7 46 08 00 01 00 00 	testl  $0x100,0x8(%esi)
415374:	74 13                	je     0x415389
415376:	8b 46 0c             	mov    0xc(%esi),%eax
415379:	ff 75 08             	push   0x8(%ebp)
41537c:	8b 48 04             	mov    0x4(%eax),%ecx
41537f:	8b 01                	mov    (%ecx),%eax
415381:	ff 50 20             	call   *0x20(%eax)
415384:	0f b7 f8             	movzwl %ax,%edi
415387:	eb 03                	jmp    0x41538c
415389:	8b 7d 08             	mov    0x8(%ebp),%edi
41538c:	8b 76 04             	mov    0x4(%esi),%esi
41538f:	8b 46 1c             	mov    0x1c(%esi),%eax
415392:	85 c0                	test   %eax,%eax
415394:	75 27                	jne    0x4153bd
415396:	6a 0c                	push   $0xc
415398:	e8 06 9f 02 00       	call   0x43f2a3
41539d:	59                   	pop    %ecx
41539e:	89 45 08             	mov    %eax,0x8(%ebp)
4153a1:	33 c9                	xor    %ecx,%ecx
4153a3:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4153a6:	85 c0                	test   %eax,%eax
4153a8:	74 0a                	je     0x4153b4
4153aa:	89 08                	mov    %ecx,(%eax)
4153ac:	89 48 04             	mov    %ecx,0x4(%eax)
4153af:	89 48 08             	mov    %ecx,0x8(%eax)
4153b2:	eb 02                	jmp    0x4153b6
4153b4:	8b c1                	mov    %ecx,%eax
4153b6:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4153ba:	89 46 1c             	mov    %eax,0x1c(%esi)
4153bd:	57                   	push   %edi
4153be:	8b c8                	mov    %eax,%ecx
4153c0:	e8 38 5d 00 00       	call   0x41b0fd
4153c5:	e8 49 a6 02 00       	call   0x43fa13
4153ca:	c2 04 00             	ret    $0x4
4153cd:	6a 00                	push   $0x0
4153cf:	b8 06 ee 48 00       	mov    $0x48ee06,%eax
4153d4:	e8 71 a6 02 00       	call   0x43fa4a
4153d9:	8b f1                	mov    %ecx,%esi
4153db:	f7 46 08 00 01 00 00 	testl  $0x100,0x8(%esi)
4153e2:	74 14                	je     0x4153f8
4153e4:	8b 46 0c             	mov    0xc(%esi),%eax
4153e7:	ff 75 08             	push   0x8(%ebp)
4153ea:	8b 48 04             	mov    0x4(%eax),%ecx
4153ed:	8b 01                	mov    (%ecx),%eax
4153ef:	8b 40 10             	mov    0x10(%eax),%eax
4153f2:	ff d0                	call   *%eax
4153f4:	8a d8                	mov    %al,%bl
4153f6:	eb 03                	jmp    0x4153fb
4153f8:	8a 5d 08             	mov    0x8(%ebp),%bl
4153fb:	8b 7e 04             	mov    0x4(%esi),%edi
4153fe:	8b 77 18             	mov    0x18(%edi),%esi
415401:	85 f6                	test   %esi,%esi
415403:	75 2d                	jne    0x415432
415405:	6a 20                	push   $0x20
415407:	e8 97 9e 02 00       	call   0x43f2a3
41540c:	8b f0                	mov    %eax,%esi
41540e:	59                   	pop    %ecx
41540f:	89 75 08             	mov    %esi,0x8(%ebp)
415412:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
415416:	85 f6                	test   %esi,%esi
415418:	74 0f                	je     0x415429
41541a:	6a 20                	push   $0x20
41541c:	6a 00                	push   $0x0
41541e:	56                   	push   %esi
41541f:	e8 3c ea 02 00       	call   0x443e60
415424:	83 c4 0c             	add    $0xc,%esp
415427:	eb 02                	jmp    0x41542b
415429:	33 f6                	xor    %esi,%esi
41542b:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
41542f:	89 77 18             	mov    %esi,0x18(%edi)
415432:	0f b6 d3             	movzbl %bl,%edx
415435:	8b ca                	mov    %edx,%ecx
415437:	83 e2 07             	and    $0x7,%edx
41543a:	c1 e9 03             	shr    $0x3,%ecx
41543d:	0f b6 04 31          	movzbl (%ecx,%esi,1),%eax
415441:	0f ab d0             	bts    %edx,%eax
415444:	88 04 31             	mov    %al,(%ecx,%esi,1)
415447:	e8 c7 a5 02 00       	call   0x43fa13
41544c:	c2 04 00             	ret    $0x4
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)