418489:	8b f8                	mov    %eax,%edi
41848b:	85 ff                	test   %edi,%edi
41848d:	78 14                	js     0x4184a3
41848f:	6a 00                	push   $0x0
418491:	ff 36                	push   (%esi)
418493:	ff 33                	push   (%ebx)
418495:	ff 15 94 a3 43 00    	call   *0x43a394
41849b:	85 c0                	test   %eax,%eax
41849d:	0f 84 1d aa 00 00    	je     0x422ec0
4184a3:	8b c7                	mov    %edi,%eax
4184a5:	5f                   	pop    %edi
4184a6:	5e                   	pop    %esi
4184a7:	5b                   	pop    %ebx
4184a8:	5d                   	pop    %ebp
4184a9:	c2 08 00             	ret    $0x8
4184ac:	33 c0                	xor    %eax,%eax
4184ae:	eb f5                	jmp    0x4184a5
4184b0:	e8 2e 02 00 00       	call   0x4186e3
4184b5:	8b f8                	mov    %eax,%edi
4184b7:	eb ea                	jmp    0x4184a3
4184b9:	8b ff                	mov    %edi,%edi
4184bb:	55                   	push   %ebp
4184bc:	8b ec                	mov    %esp,%ebp
4184be:	51                   	push   %ecx
4184bf:	56                   	push   %esi
4184c0:	57                   	push   %edi
4184c1:	8b f9                	mov    %ecx,%edi
4184c3:	33 c0                	xor    %eax,%eax
4184c5:	89 45 fc             	mov    %eax,-0x4(%ebp)
4184c8:	8b f2                	mov    %edx,%esi
4184ca:	85 ff                	test   %edi,%edi
4184cc:	74 02                	je     0x4184d0
4184ce:	89 07                	mov    %eax,(%edi)
4184d0:	85 f6                	test   %esi,%esi
4184d2:	74 02                	je     0x4184d6
4184d4:	89 06                	mov    %eax,(%esi)
4184d6:	8d 45 fc             	lea    -0x4(%ebp),%eax
4184d9:	50                   	push   %eax
4184da:	6a 08                	push   $0x8
4184dc:	ff 15 e8 a1 43 00    	call   *0x43a1e8
4184e2:	50                   	push   %eax
4184e3:	ff 15 ec a1 43 00    	call   *0x43a1ec
4184e9:	85 c0                	test   %eax,%eax
4184eb:	74 1c                	je     0x418509
4184ed:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4184f0:	8b d7                	mov    %edi,%edx
4184f2:	56                   	push   %esi
4184f3:	e8 1a 00 00 00       	call   0x418512
4184f8:	ff 75 fc             	push   -0x4(%ebp)
4184fb:	8b f0                	mov    %eax,%esi
4184fd:	ff 15 10 a1 43 00    	call   *0x43a110
418503:	5f                   	pop    %edi
418504:	8b c6                	mov    %esi,%eax
418506:	5e                   	pop    %esi
418507:	c9                   	leave
418508:	c3                   	ret
418509:	e8 d5 01 00 00       	call   0x4186e3
41850e:	8b f0                	mov    %eax,%esi
418510:	eb f1                	jmp    0x418503
418512:	8b ff                	mov    %edi,%edi
418514:	55                   	push   %ebp
418515:	8b ec                	mov    %esp,%ebp
418517:	83 ec 0c             	sub    $0xc,%esp
41851a:	53                   	push   %ebx
41851b:	8b da                	mov    %edx,%ebx
41851d:	8b c1                	mov    %ecx,%eax
41851f:	33 d2                	xor    %edx,%edx
418521:	89 45 f8             	mov    %eax,-0x8(%ebp)
418524:	89 55 fc             	mov    %edx,-0x4(%ebp)
418527:	56                   	push   %esi
418528:	8b f2                	mov    %edx,%esi
41852a:	57                   	push   %edi
41852b:	85 db                	test   %ebx,%ebx
41852d:	74 02                	je     0x418531
41852f:	89 13                	mov    %edx,(%ebx)
418531:	8b 7d 08             	mov    0x8(%ebp),%edi
418534:	85 ff                	test   %edi,%edi
418536:	74 02                	je     0x41853a
418538:	89 17                	mov    %edx,(%edi)
41853a:	85 db                	test   %ebx,%ebx
41853c:	74 72                	je     0x4185b0
41853e:	8d 4d fc             	lea    -0x4(%ebp),%ecx
418541:	51                   	push   %ecx
418542:	52                   	push   %edx
418543:	52                   	push   %edx
418544:	6a 01                	push   $0x1
418546:	50                   	push   %eax
418547:	ff 15 e0 a3 43 00    	call   *0x43a3e0
41854d:	ff 15 a8 a0 43 00    	call   *0x43a0a8
418553:	83 f8 7a             	cmp    $0x7a,%eax
418556:	0f 85 90 a9 00 00    	jne    0x422eec
41855c:	ff 75 fc             	push   -0x4(%ebp)
41855f:	ff 15 e4 a4 43 00    	call   *0x43a4e4
418565:	8b f0                	mov    %eax,%esi
418567:	89 75 f4             	mov    %esi,-0xc(%ebp)
41856a:	59                   	pop    %ecx
41856b:	85 f6                	test   %esi,%esi
41856d:	0f 84 6f a9 00 00    	je     0x422ee2
418573:	8d 45 fc             	lea    -0x4(%ebp),%eax
418576:	50                   	push   %eax
418577:	ff 75 fc             	push   -0x4(%ebp)
41857a:	56                   	push   %esi
41857b:	6a 01                	push   $0x1
41857d:	ff 75 f8             	push   -0x8(%ebp)
418580:	ff 15 e0 a3 43 00    	call   *0x43a3e0
418586:	85 c0                	test   %eax,%eax
418588:	0f 84 4a a9 00 00    	je     0x422ed8
41858e:	8b 16                	mov    (%esi),%edx
418590:	8b cb                	mov    %ebx,%ecx
418592:	e8 99 00 00 00       	call   0x418630
418597:	ff 75 f4             	push   -0xc(%ebp)
41859a:	8b f0                	mov    %eax,%esi
41859c:	ff 15 14 a4 43 00    	call   *0x43a414
4185a2:	59                   	pop    %ecx
4185a3:	85 f6                	test   %esi,%esi
4185a5:	0f 88 5d a9 00 00    	js     0x422f08
4185ab:	8b 45 f8             	mov    -0x8(%ebp),%eax
4185ae:	33 d2                	xor    %edx,%edx
4185b0:	85 ff                	test   %edi,%edi
4185b2:	74 5d                	je     0x418611
4185b4:	8d 4d fc             	lea    -0x4(%ebp),%ecx
4185b7:	51                   	push   %ecx
4185b8:	52                   	push   %edx
4185b9:	52                   	push   %edx
4185ba:	6a 05                	push   $0x5
4185bc:	50                   	push   %eax
4185bd:	ff 15 e0 a3 43 00    	call   *0x43a3e0
4185c3:	ff 15 a8 a0 43 00    	call   *0x43a0a8
4185c9:	83 f8 7a             	cmp    $0x7a,%eax
4185cc:	0f 85 28 a9 00 00    	jne    0x422efa
4185d2:	ff 75 fc             	push   -0x4(%ebp)
4185d5:	ff 15 e4 a4 43 00    	call   *0x43a4e4
4185db:	8b f0                	mov    %eax,%esi
4185dd:	89 75 f4             	mov    %esi,-0xc(%ebp)
4185e0:	59                   	pop    %ecx
4185e1:	85 f6                	test   %esi,%esi
4185e3:	74 44                	je     0x418629
4185e5:	8d 45 fc             	lea    -0x4(%ebp),%eax
4185e8:	50                   	push   %eax
4185e9:	ff 75 fc             	push   -0x4(%ebp)
4185ec:	56                   	push   %esi
4185ed:	6a 05                	push   $0x5
4185ef:	ff 75 f8             	push   -0x8(%ebp)
4185f2:	ff 15 e0 a3 43 00    	call   *0x43a3e0
4185f8:	85 c0                	test   %eax,%eax
4185fa:	74 26                	je     0x418622
4185fc:	8b 16                	mov    (%esi),%edx
4185fe:	8b cf                	mov    %edi,%ecx
418600:	e8 2b 00 00 00       	call   0x418630
418605:	ff 75 f4             	push   -0xc(%ebp)
418608:	8b f0                	mov    %eax,%esi
41860a:	ff 15 14 a4 43 00    	call   *0x43a414
418610:	59                   	pop    %ecx
418611:	85 f6                	test   %esi,%esi
418613:	0f 88 ef a8 00 00    	js     0x422f08
418619:	5f                   	pop    %edi
41861a:	8b c6                	mov    %esi,%eax
41861c:	5e                   	pop    %esi
41861d:	5b                   	pop    %ebx
41861e:	c9                   	leave
41861f:	c2 04 00             	ret    $0x4
418622:	e8 bc 00 00 00       	call   0x4186e3
418627:	eb dc                	jmp    0x418605
418629:	be 0e 00 07 80       	mov    $0x8007000e,%esi
41862e:	eb e1                	jmp    0x418611
418630:	8b ff                	mov    %edi,%edi
418632:	55                   	push   %ebp
418633:	8b ec                	mov    %esp,%ebp
418635:	51                   	push   %ecx
418636:	53                   	push   %ebx
418637:	56                   	push   %esi
418638:	8b f1                	mov    %ecx,%esi
41863a:	33 db                	xor    %ebx,%ebx
41863c:	57                   	push   %edi
41863d:	8b fa                	mov    %edx,%edi
41863f:	85 f6                	test   %esi,%esi
418641:	74 43                	je     0x418686
418643:	39 1e                	cmp    %ebx,(%esi)
418645:	75 4d                	jne    0x418694
418647:	21 1e                	and    %ebx,(%esi)
418649:	57                   	push   %edi
41864a:	ff 15 a0 a3 43 00    	call   *0x43a3a0
418650:	85 c0                	test   %eax,%eax
418652:	74 40                	je     0x418694
418654:	57                   	push   %edi
418655:	ff 15 d8 a3 43 00    	call   *0x43a3d8
41865b:	50                   	push   %eax
41865c:	89 45 fc             	mov    %eax,-0x4(%ebp)
41865f:	ff 15 e4 a4 43 00    	call   *0x43a4e4
418665:	89 06                	mov    %eax,(%esi)
418667:	59                   	pop    %ecx
418668:	85 c0                	test   %eax,%eax
41866a:	74 21                	je     0x41868d
41866c:	57                   	push   %edi
41866d:	50                   	push   %eax
41866e:	ff 75 fc             	push   -0x4(%ebp)
418671:	ff 15 ac a3 43 00    	call   *0x43a3ac
418677:	85 c0                	test   %eax,%eax
418679:	0f 84 b2 a8 00 00    	je     0x422f31
41867f:	8b c3                	mov    %ebx,%eax
418681:	5f                   	pop    %edi
418682:	5e                   	pop    %esi
418683:	5b                   	pop    %ebx
418684:	c9                   	leave
418685:	c3                   	ret
418686:	b8 03 40 00 80       	mov    $0x80004003,%eax
41868b:	eb f4                	jmp    0x418681
41868d:	b8 0e 00 07 80       	mov    $0x8007000e,%eax
418692:	eb ed                	jmp    0x418681
418694:	b8 57 00 07 80       	mov    $0x80070057,%eax
418699:	eb e6                	jmp    0x418681
41869b:	8b ff                	mov    %edi,%edi
41869d:	55                   	push   %ebp
41869e:	8b ec                	mov    %esp,%ebp
4186a0:	51                   	push   %ecx
4186a1:	56                   	push   %esi
4186a2:	57                   	push   %edi
4186a3:	8b f9                	mov    %ecx,%edi
4186a5:	8b f2                	mov    %edx,%esi
4186a7:	33 c9                	xor    %ecx,%ecx
4186a9:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4186ac:	85 ff                	test   %edi,%edi
4186ae:	74 02                	je     0x4186b2
4186b0:	89 0f                	mov    %ecx,(%edi)
4186b2:	85 f6                	test   %esi,%esi
4186b4:	74 02                	je     0x4186b8
4186b6:	89 0e                	mov    %ecx,(%esi)
4186b8:	8d 45 fc             	lea    -0x4(%ebp),%eax
4186bb:	50                   	push   %eax
4186bc:	51                   	push   %ecx
4186bd:	6a 08                	push   $0x8
4186bf:	ff 15 dc a1 43 00    	call   *0x43a1dc
4186c5:	50                   	push   %eax
4186c6:	ff 15 e4 a1 43 00    	call   *0x43a1e4
4186cc:	85 c0                	test   %eax,%eax
4186ce:	0f 85 75 a8 00 00    	jne    0x422f49
4186d4:	e8 0a 00 00 00       	call   0x4186e3
4186d9:	8b f0                	mov    %eax,%esi
4186db:	5f                   	pop    %edi
4186dc:	8b c6                	mov    %esi,%eax
4186de:	5e                   	pop    %esi
4186df:	c9                   	leave
4186e0:	c2 04 00             	ret    $0x4
4186e3:	ff 15 a8 a0 43 00    	call   *0x43a0a8
4186e9:	85 c0                	test   %eax,%eax
4186eb:	7e 08                	jle    0x4186f5
4186ed:	0f b7 c0             	movzwl %ax,%eax
4186f0:	0d 00 00 07 80       	or     $0x80070000,%eax
4186f5:	c3                   	ret
4186f6:	6a 08                	push   $0x8
4186f8:	b8 be ed 41 00       	mov    $0x41edbe,%eax
4186fd:	e8 75 27 00 00       	call   0x41ae77
418702:	8b d9                	mov    %ecx,%ebx
418704:	89 5d ec             	mov    %ebx,-0x14(%ebp)
418707:	33 ff                	xor    %edi,%edi
418709:	89 7d fc             	mov    %edi,-0x4(%ebp)
41870c:	ff 33                	push   (%ebx)
41870e:	8b 35 40 1a 40 00    	mov    0x401a40,%esi
418714:	8b ce                	mov    %esi,%ecx
418716:	ff 15 20 a5 43 00    	call   *0x43a520
41871c:	ff d6                	call   *%esi
41871e:	ff 73 04             	push   0x4(%ebx)
418721:	89 3b                	mov    %edi,(%ebx)
418723:	ff 15 14 a4 43 00    	call   *0x43a414
418729:	ff 73 08             	push   0x8(%ebx)
41872c:	89 7b 04             	mov    %edi,0x4(%ebx)
41872f:	ff 15 14 a4 43 00    	call   *0x43a414
418735:	ff 73 0c             	push   0xc(%ebx)
418738:	89 7b 08             	mov    %edi,0x8(%ebx)
41873b:	ff 15 14 a4 43 00    	call   *0x43a414
418741:	ff 73 10             	push   0x10(%ebx)
418744:	89 7b 0c             	mov    %edi,0xc(%ebx)
418747:	ff 15 14 a4 43 00    	call   *0x43a414
41874d:	83 c4 10             	add    $0x10,%esp
418750:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
418757:	8b 35 3c 1a 40 00    	mov    0x401a3c,%esi
41875d:	8b ce                	mov    %esi,%ecx
41875f:	89 7b 10             	mov    %edi,0x10(%ebx)
418762:	6a 14                	push   $0x14
418764:	ff 15 20 a5 43 00    	call   *0x43a520
41876a:	ff d6                	call   *%esi
41876c:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
418770:	89 03                	mov    %eax,(%ebx)
418772:	85 c0                	test   %eax,%eax
418774:	74 19                	je     0x41878f
418776:	6a 01                	push   $0x1
418778:	50                   	push   %eax
418779:	ff 15 b8 a3 43 00    	call   *0x43a3b8
41877f:	85 c0                	test   %eax,%eax
418781:	0f 84 f1 a7 00 00    	je     0x422f78
418787:	33 c0                	xor    %eax,%eax
418789:	e8 4e 26 00 00       	call   0x41addc
41878e:	c3                   	ret
41878f:	b8 0e 00 07 80       	mov    $0x8007000e,%eax
418794:	eb f3                	jmp    0x418789
418796:	6a 18                	push   $0x18
418798:	b8 e1 ed 41 00       	mov    $0x41ede1,%eax
41879d:	e8 6c 26 00 00       	call   0x41ae0e
4187a2:	33 ff                	xor    %edi,%edi
4187a4:	89 7d ec             	mov    %edi,-0x14(%ebp)
4187a7:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4187aa:	89 7d fc             	mov    %edi,-0x4(%ebp)
4187ad:	e8 9d 37 00 00       	call   0x41bf4f
4187b2:	50                   	push   %eax
4187b3:	6a 28                	push   $0x28
4187b5:	ff 15 e8 a1 43 00    	call   *0x43a1e8
4187bb:	50                   	push   %eax
4187bc:	ff 15 ec a1 43 00    	call   *0x43a1ec
4187c2:	85 c0                	test   %eax,%eax
4187c4:	74 23                	je     0x4187e9
4187c6:	8d 45 f0             	lea    -0x10(%ebp),%eax
4187c9:	89 7d f0             	mov    %edi,-0x10(%ebp)
4187cc:	50                   	push   %eax
4187cd:	57                   	push   %edi
4187ce:	57                   	push   %edi
4187cf:	6a 03                	push   $0x3
4187d1:	ff 75 ec             	push   -0x14(%ebp)
4187d4:	ff 15 e0 a3 43 00    	call   *0x43a3e0
4187da:	85 c0                	test   %eax,%eax
4187dc:	75 29                	jne    0x418807
4187de:	ff 15 a8 a0 43 00    	call   *0x43a0a8
4187e4:	83 f8 7a             	cmp    $0x7a,%eax
4187e7:	74 1e                	je     0x418807
4187e9:	ff 15 a8 a0 43 00    	call   *0x43a0a8
4187ef:	8b f8                	mov    %eax,%edi
4187f1:	85 ff                	test   %edi,%edi
4187f3:	0f 8e ba 00 00 00    	jle    0x4188b3
4187f9:	0f b7 ff             	movzwl %di,%edi
4187fc:	81 cf 00 00 07 80    	or     $0x80070000,%edi
418802:	e9 ac 00 00 00       	jmp    0x4188b3
418807:	ff 75 f0             	push   -0x10(%ebp)
41880a:	8b 35 3c 1a 40 00    	mov    0x401a3c,%esi
418810:	8b ce                	mov    %esi,%ecx
418812:	ff 15 20 a5 43 00    	call   *0x43a520
418818:	ff d6                	call   *%esi
41881a:	8b f0                	mov    %eax,%esi
41881c:	85 f6                	test   %esi,%esi
41881e:	75 07                	jne    0x418827
418820:	bf 0e 00 07 80       	mov    $0x8007000e,%edi
418825:	eb 77                	jmp    0x41889e
418827:	8d 45 f0             	lea    -0x10(%ebp),%eax
41882a:	50                   	push   %eax
41882b:	ff 75 f0             	push   -0x10(%ebp)
41882e:	56                   	push   %esi
41882f:	6a 03                	push   $0x3
418831:	ff 75 ec             	push   -0x14(%ebp)
418834:	ff 15 e0 a3 43 00    	call   *0x43a3e0
41883a:	85 c0                	test   %eax,%eax
41883c:	74 4b                	je     0x418889
41883e:	8d 45 dc             	lea    -0x24(%ebp),%eax