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
418841:	50                   	push   %eax
418842:	68 28 52 40 00       	push   $0x405228
418847:	57                   	push   %edi
418848:	ff 15 ec a3 43 00    	call   *0x43a3ec
41884e:	8b d7                	mov    %edi,%edx
418850:	39 3e                	cmp    %edi,(%esi)
418852:	76 21                	jbe    0x418875
418854:	8d 4e 08             	lea    0x8(%esi),%ecx
418857:	8b 41 fc             	mov    -0x4(%ecx),%eax
41885a:	3b 45 dc             	cmp    -0x24(%ebp),%eax
41885d:	75 07                	jne    0x418866
41885f:	8b 01                	mov    (%ecx),%eax
418861:	3b 45 e0             	cmp    -0x20(%ebp),%eax
418864:	74 07                	je     0x41886d
418866:	c7 41 04 04 00 00 00 	movl   $0x4,0x4(%ecx)
41886d:	42                   	inc    %edx
41886e:	83 c1 0c             	add    $0xc,%ecx
418871:	3b 16                	cmp    (%esi),%edx
418873:	72 e2                	jb     0x418857
418875:	57                   	push   %edi
418876:	57                   	push   %edi
418877:	ff 75 f0             	push   -0x10(%ebp)
41887a:	56                   	push   %esi
41887b:	57                   	push   %edi
41887c:	ff 75 ec             	push   -0x14(%ebp)
41887f:	ff 15 cc a3 43 00    	call   *0x43a3cc
418885:	85 c0                	test   %eax,%eax
418887:	75 15                	jne    0x41889e
418889:	ff 15 a8 a0 43 00    	call   *0x43a0a8
41888f:	8b f8                	mov    %eax,%edi
418891:	85 ff                	test   %edi,%edi
418893:	7e 09                	jle    0x41889e
418895:	0f b7 ff             	movzwl %di,%edi
418898:	81 cf 00 00 07 80    	or     $0x80070000,%edi
41889e:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4188a2:	56                   	push   %esi
4188a3:	8b 35 40 1a 40 00    	mov    0x401a40,%esi
4188a9:	8b ce                	mov    %esi,%ecx
4188ab:	ff 15 20 a5 43 00    	call   *0x43a520
4188b1:	ff d6                	call   *%esi
4188b3:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4188b7:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4188ba:	85 c9                	test   %ecx,%ecx
4188bc:	74 1c                	je     0x4188da
4188be:	83 f9 ff             	cmp    $0xffffffff,%ecx
4188c1:	74 17                	je     0x4188da
4188c3:	89 4d e8             	mov    %ecx,-0x18(%ebp)
4188c6:	8d 55 e8             	lea    -0x18(%ebp),%edx
4188c9:	8b 0d 10 a1 43 00    	mov    0x43a110,%ecx
4188cf:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
4188d2:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
4188d5:	e8 8a 2d 00 00       	call   0x41b664
4188da:	8b c7                	mov    %edi,%eax
4188dc:	e8 fb 24 00 00       	call   0x41addc
4188e1:	c3                   	ret
4188e2:	8b ff                	mov    %edi,%edi
4188e4:	55                   	push   %ebp
4188e5:	8b ec                	mov    %esp,%ebp
4188e7:	56                   	push   %esi
4188e8:	8b f1                	mov    %ecx,%esi
4188ea:	8b 0e                	mov    (%esi),%ecx
4188ec:	85 c9                	test   %ecx,%ecx
4188ee:	74 05                	je     0x4188f5
4188f0:	83 f9 ff             	cmp    $0xffffffff,%ecx
4188f3:	75 0a                	jne    0x4188ff
4188f5:	8b 45 08             	mov    0x8(%ebp),%eax
4188f8:	89 06                	mov    %eax,(%esi)
4188fa:	5e                   	pop    %esi
4188fb:	5d                   	pop    %ebp
4188fc:	c2 04 00             	ret    $0x4
4188ff:	e8 4c 5a 01 00       	call   0x42e350
418904:	eb ef                	jmp    0x4188f5
418906:	8b ff                	mov    %edi,%edi
418908:	55                   	push   %ebp
418909:	8b ec                	mov    %esp,%ebp
41890b:	83 ec 0c             	sub    $0xc,%esp
41890e:	56                   	push   %esi
41890f:	6a 04                	push   $0x4
418911:	8d 45 fc             	lea    -0x4(%ebp),%eax
418914:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
41891b:	50                   	push   %eax
41891c:	6a 09                	push   $0x9
41891e:	ff 15 0c a2 43 00    	call   *0x43a20c
418924:	6a 04                	push   $0x4
418926:	8d 45 f8             	lea    -0x8(%ebp),%eax
418929:	33 f6                	xor    %esi,%esi
41892b:	50                   	push   %eax
41892c:	46                   	inc    %esi
41892d:	6a 0a                	push   $0xa
41892f:	89 75 f8             	mov    %esi,-0x8(%ebp)
418932:	ff 15 0c a2 43 00    	call   *0x43a20c
418938:	6a 04                	push   $0x4
41893a:	8d 45 f4             	lea    -0xc(%ebp),%eax
41893d:	89 75 f4             	mov    %esi,-0xc(%ebp)
418940:	50                   	push   %eax
418941:	6a 0d                	push   $0xd
418943:	ff 15 0c a2 43 00    	call   *0x43a20c
418949:	5e                   	pop    %esi
41894a:	c9                   	leave
41894b:	c3                   	ret
41894c:	8b ff                	mov    %edi,%edi
41894e:	55                   	push   %ebp
41894f:	8b ec                	mov    %esp,%ebp
418951:	83 e4 f8             	and    $0xfffffff8,%esp
418954:	a1 f4 89 43 00       	mov    0x4389f4,%eax
418959:	83 ec 50             	sub    $0x50,%esp
41895c:	b9 70 7d 42 00       	mov    $0x427d70,%ecx
418961:	85 c0                	test   %eax,%eax
418963:	0f 85 39 a6 00 00    	jne    0x422fa2
418969:	89 0d f4 89 43 00    	mov    %ecx,0x4389f4
41896f:	8b e5                	mov    %ebp,%esp
418971:	5d                   	pop    %ebp
418972:	c3                   	ret
418973:	a1 00 80 43 00       	mov    0x438000,%eax
418978:	0b 05 04 80 43 00    	or     0x438004,%eax
41897e:	75 1a                	jne    0x41899a
418980:	b8 00 80 43 00       	mov    $0x438000,%eax
418985:	50                   	push   %eax
418986:	50                   	push   %eax
418987:	68 00 ec 42 00       	push   $0x42ec00
41898c:	68 0c 43 40 00       	push   $0x40430c
418991:	ff 15 70 a3 43 00    	call   *0x43a370
418997:	c2 08 00             	ret    $0x8
41899a:	33 c0                	xor    %eax,%eax
41899c:	eb f9                	jmp    0x418997
41899e:	83 3d bc 8e 43 00 00 	cmpl   $0x0,0x438ebc
4189a5:	0f 85 1a a6 00 00    	jne    0x422fc5
4189ab:	c3                   	ret
4189ac:	6a 14                	push   $0x14
4189ae:	b8 fc ed 41 00       	mov    $0x41edfc,%eax
4189b3:	e8 bf 24 00 00       	call   0x41ae77
4189b8:	8b f9                	mov    %ecx,%edi
4189ba:	89 7d e4             	mov    %edi,-0x1c(%ebp)
4189bd:	8b 75 08             	mov    0x8(%ebp),%esi
4189c0:	8b ce                	mov    %esi,%ecx
4189c2:	83 65 ec 00          	andl   $0x0,-0x14(%ebp)
4189c6:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4189ca:	6a 00                	push   $0x0
4189cc:	8b 46 08             	mov    0x8(%esi),%eax
4189cf:	89 45 e8             	mov    %eax,-0x18(%ebp)
4189d2:	e8 b1 b8 ff ff       	call   0x414288
4189d7:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4189da:	51                   	push   %ecx
4189db:	ff 75 e8             	push   -0x18(%ebp)
4189de:	50                   	push   %eax
4189df:	57                   	push   %edi
4189e0:	e8 9b 56 00 00       	call   0x41e080
4189e5:	8b f8                	mov    %eax,%edi
4189e7:	81 ff 7a 00 07 80    	cmp    $0x8007007a,%edi
4189ed:	0f 84 05 ad 00 00    	je     0x4236f8
4189f3:	85 ff                	test   %edi,%edi
4189f5:	0f 89 28 ad 00 00    	jns    0x423723
4189fb:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4189ff:	85 ff                	test   %edi,%edi
418a01:	79 09                	jns    0x418a0c
418a03:	6a 00                	push   $0x0
418a05:	8b ce                	mov    %esi,%ecx
418a07:	e8 f8 b6 ff ff       	call   0x414104
418a0c:	8b c7                	mov    %edi,%eax
418a0e:	e8 c9 23 00 00       	call   0x41addc
418a13:	c2 04 00             	ret    $0x4
418a16:	cc                   	int3
418a17:	cc                   	int3
418a18:	cc                   	int3
418a19:	cc                   	int3
418a1a:	cc                   	int3
418a1b:	cc                   	int3
418a1c:	cc                   	int3
418a1d:	cc                   	int3
418a1e:	cc                   	int3
418a1f:	cc                   	int3
418a20:	8b ff                	mov    %edi,%edi
418a22:	55                   	push   %ebp
418a23:	8b ec                	mov    %esp,%ebp
418a25:	83 ec 10             	sub    $0x10,%esp