a477b9:	6a 16                	push   $0x16
a477bb:	eb 0c                	jmp    0xa477c9
a477bd:	39 75 0c             	cmp    %esi,0xc(%ebp)
a477c0:	73 13                	jae    0xa477d5
a477c2:	e8 a8 70 9f ff       	call   0x43e86f
a477c7:	6a 22                	push   $0x22
a477c9:	5e                   	pop    %esi
a477ca:	89 30                	mov    %esi,(%eax)
a477cc:	e8 27 7b 9d ff       	call   0x41f2f8
a477d1:	8b c6                	mov    %esi,%eax
a477d3:	eb 03                	jmp    0xa477d8
a477d5:	6a 16                	push   $0x16
a477d7:	58                   	pop    %eax
a477d8:	5f                   	pop    %edi
a477d9:	5e                   	pop    %esi
a477da:	5d                   	pop    %ebp
a477db:	c3                   	ret
a477dc:	cc                   	int3
a477dd:	cc                   	int3
a477de:	cc                   	int3
a477df:	cc                   	int3
a477e0:	cc                   	int3
a477e1:	cc                   	int3
a477e2:	cc                   	int3
a477e3:	cc                   	int3
a477e4:	cc                   	int3
a477e5:	cc                   	int3
a477e6:	cc                   	int3
a477e7:	cc                   	int3
a477e8:	cc                   	int3
a477e9:	cc                   	int3
a477ea:	cc                   	int3
a477eb:	cc                   	int3
a477ec:	cc                   	int3
a477ed:	cc                   	int3
a477ee:	cc                   	int3
a477ef:	cc                   	int3
a477f0:	cc                   	int3
a477f1:	cc                   	int3
a477f2:	cc                   	int3
a477f3:	cc                   	int3
a477f4:	cc                   	int3
a477f5:	cc                   	int3
a477f6:	cc                   	int3
a477f7:	cc                   	int3
a477f8:	cc                   	int3
a477f9:	cc                   	int3
a477fa:	cc                   	int3
a477fb:	55                   	push   %ebp
a477fc:	8b ec                	mov    %esp,%ebp
a477fe:	8b 45 14             	mov    0x14(%ebp),%eax
a47801:	56                   	push   %esi
a47802:	85 c0                	test   %eax,%eax
a47804:	74 3c                	je     0xa47842
a47806:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
a4780a:	75 13                	jne    0xa4781f
a4780c:	e8 5e 70 9f ff       	call   0x43e86f
a47811:	6a 16                	push   $0x16
a47813:	5e                   	pop    %esi
a47814:	89 30                	mov    %esi,(%eax)
a47816:	e8 dd 7a 9d ff       	call   0x41f2f8
a4781b:	8b c6                	mov    %esi,%eax
a4781d:	eb 25                	jmp    0xa47844
a4781f:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
a47823:	74 e7                	je     0xa4780c
a47825:	39 45 0c             	cmp    %eax,0xc(%ebp)
a47828:	73 09                	jae    0xa47833
a4782a:	e8 40 70 9f ff       	call   0x43e86f
a4782f:	6a 22                	push   $0x22
a47831:	eb e0                	jmp    0xa47813
a47833:	50                   	push   %eax
a47834:	ff 75 10             	push   0x10(%ebp)
a47837:	ff 75 08             	push   0x8(%ebp)
a4783a:	e8 43 73 9d ff       	call   0x41eb82
a4783f:	83 c4 0c             	add    $0xc,%esp
a47842:	33 c0                	xor    %eax,%eax
a47844:	5e                   	pop    %esi
a47845:	5d                   	pop    %ebp
a47846:	c3                   	ret
a47847:	cc                   	int3
a47848:	cc                   	int3
a47849:	cc                   	int3
a4784a:	cc                   	int3
a4784b:	cc                   	int3
a4784c:	cc                   	int3
a4784d:	cc                   	int3
a4784e:	cc                   	int3
a4784f:	cc                   	int3
a47850:	cc                   	int3
a47851:	cc                   	int3
a47852:	cc                   	int3
a47853:	cc                   	int3
a47854:	cc                   	int3
a47855:	cc                   	int3
a47856:	cc                   	int3
a47857:	cc                   	int3
a47858:	cc                   	int3
a47859:	cc                   	int3
a4785a:	55                   	push   %ebp
a4785b:	8b ec                	mov    %esp,%ebp
a4785d:	51                   	push   %ecx
a4785e:	56                   	push   %esi
a4785f:	8b f1                	mov    %ecx,%esi
a47861:	89 75 fc             	mov    %esi,-0x4(%ebp)
a47864:	e8 ea 9d 9c ff       	call   0x411653
a47869:	33 c0                	xor    %eax,%eax
a4786b:	c7 06 2c 66 c7 00    	movl   $0xc7662c,(%esi)
a47871:	89 86 c8 00 00 00    	mov    %eax,0xc8(%esi)
a47877:	89 86 cc 00 00 00    	mov    %eax,0xcc(%esi)
a4787d:	89 86 d4 00 00 00    	mov    %eax,0xd4(%esi)
a47883:	89 86 d0 00 00 00    	mov    %eax,0xd0(%esi)
a47889:	8b c6                	mov    %esi,%eax
a4788b:	5e                   	pop    %esi
a4788c:	8b e5                	mov    %ebp,%esp
a4788e:	5d                   	pop    %ebp
a4788f:	c3                   	ret
a47890:	cc                   	int3
a47891:	cc                   	int3
a47892:	cc                   	int3
a47893:	cc                   	int3
a47894:	cc                   	int3
a47895:	cc                   	int3
a47896:	cc                   	int3
a47897:	cc                   	int3
a47898:	cc                   	int3
a47899:	cc                   	int3
a4789a:	cc                   	int3
a4789b:	cc                   	int3
a4789c:	cc                   	int3
a4789d:	55                   	push   %ebp
a4789e:	8b ec                	mov    %esp,%ebp
a478a0:	6a ff                	push   $0xffffffff
a478a2:	68 f1 ab bb 00       	push   $0xbbabf1
a478a7:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
a478ad:	50                   	push   %eax
a478ae:	56                   	push   %esi
a478af:	a1 24 f6 d5 00       	mov    0xd5f624,%eax
a478b4:	33 c5                	xor    %ebp,%eax
a478b6:	50                   	push   %eax
a478b7:	8d 45 f4             	lea    -0xc(%ebp),%eax
a478ba:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
a478c0:	8b f1                	mov    %ecx,%esi
a478c2:	c7 06 2c 66 c7 00    	movl   $0xc7662c,(%esi)
a478c8:	e8 aa ff 9d ff       	call   0x427877
a478cd:	8b ce                	mov    %esi,%ecx
a478cf:	e8 74 a3 9c ff       	call   0x411c48
a478d4:	8b 4d f4             	mov    -0xc(%ebp),%ecx
a478d7:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
a478de:	59                   	pop    %ecx
a478df:	5e                   	pop    %esi
a478e0:	8b e5                	mov    %ebp,%esp
a478e2:	5d                   	pop    %ebp
a478e3:	c3                   	ret
a478e4:	cc                   	int3
a478e5:	cc                   	int3
a478e6:	cc                   	int3
a478e7:	cc                   	int3
a478e8:	cc                   	int3
a478e9:	cc                   	int3
a478ea:	cc                   	int3
a478eb:	cc                   	int3
a478ec:	cc                   	int3
a478ed:	cc                   	int3
a478ee:	cc                   	int3
a478ef:	cc                   	int3
a478f0:	cc                   	int3
a478f1:	cc                   	int3
a478f2:	cc                   	int3
a478f3:	cc                   	int3
a478f4:	cc                   	int3
a478f5:	55                   	push   %ebp
a478f6:	8b ec                	mov    %esp,%ebp
a478f8:	56                   	push   %esi
a478f9:	8b f1                	mov    %ecx,%esi
a478fb:	e8 f7 b6 9d ff       	call   0x422ff7
a47900:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
a47904:	74 1b                	je     0xa47921
a47906:	f6 45 08 04          	testb  $0x4,0x8(%ebp)
a4790a:	75 08                	jne    0xa47914
a4790c:	56                   	push   %esi
a4790d:	e8 7d 9e 9b ff       	call   0x40178f
a47912:	eb 0c                	jmp    0xa47920
a47914:	68 d8 00 00 00       	push   $0xd8
a47919:	56                   	push   %esi
a4791a:	e8 bb 7e 9d ff       	call   0x41f7da
a4791f:	59                   	pop    %ecx
a47920:	59                   	pop    %ecx
a47921:	8b c6                	mov    %esi,%eax
a47923:	5e                   	pop    %esi
a47924:	5d                   	pop    %ebp
a47925:	c2 04 00             	ret    $0x4
a47928:	cc                   	int3
a47929:	cc                   	int3
a4792a:	cc                   	int3
a4792b:	cc                   	int3
a4792c:	cc                   	int3
a4792d:	cc                   	int3
a4792e:	cc                   	int3
a4792f:	cc                   	int3
a47930:	cc                   	int3
a47931:	cc                   	int3
a47932:	cc                   	int3
a47933:	cc                   	int3
a47934:	55                   	push   %ebp
a47935:	8b ec                	mov    %esp,%ebp
a47937:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
a4793b:	8b d1                	mov    %ecx,%edx
a4793d:	74 2c                	je     0xa4796b
a4793f:	8b 45 10             	mov    0x10(%ebp),%eax
a47942:	b9 ff 7f 00 00       	mov    $0x7fff,%ecx
a47947:	56                   	push   %esi
a47948:	85 c0                	test   %eax,%eax
a4794a:	74 08                	je     0xa47954
a4794c:	8b b2 cc 00 00 00    	mov    0xcc(%edx),%esi
a47952:	eb 02                	jmp    0xa47956
a47954:	8b f1                	mov    %ecx,%esi
a47956:	85 c0                	test   %eax,%eax
a47958:	75 06                	jne    0xa47960
a4795a:	8b 8a c8 00 00 00    	mov    0xc8(%edx),%ecx
a47960:	8b 45 08             	mov    0x8(%ebp),%eax
a47963:	89 70 04             	mov    %esi,0x4(%eax)
a47966:	89 08                	mov    %ecx,(%eax)
a47968:	5e                   	pop    %esi
a47969:	eb 14                	jmp    0xa4797f
a4796b:	8b 45 08             	mov    0x8(%ebp),%eax
a4796e:	8b 8a c8 00 00 00    	mov    0xc8(%edx),%ecx
a47974:	89 08                	mov    %ecx,(%eax)
a47976:	8b 8a cc 00 00 00    	mov    0xcc(%edx),%ecx
a4797c:	89 48 04             	mov    %ecx,0x4(%eax)
a4797f:	5d                   	pop    %ebp
a47980:	c2 0c 00             	ret    $0xc
a47983:	cc                   	int3
a47984:	cc                   	int3
a47985:	cc                   	int3
a47986:	cc                   	int3
a47987:	cc                   	int3
a47988:	cc                   	int3
a47989:	cc                   	int3
a4798a:	cc                   	int3
a4798b:	cc                   	int3
a4798c:	cc                   	int3
a4798d:	cc                   	int3
a4798e:	cc                   	int3
a4798f:	cc                   	int3
a47990:	cc                   	int3
a47991:	cc                   	int3
a47992:	cc                   	int3
a47993:	cc                   	int3
a47994:	cc                   	int3
a47995:	cc                   	int3
a47996:	55                   	push   %ebp
a47997:	8b ec                	mov    %esp,%ebp
a47999:	0f b7 45 0c          	movzwl 0xc(%ebp),%eax
a4799d:	56                   	push   %esi
a4799e:	57                   	push   %edi
a4799f:	ff 75 14             	push   0x14(%ebp)
a479a2:	8b f9                	mov    %ecx,%edi
a479a4:	ff 75 10             	push   0x10(%ebp)
a479a7:	50                   	push   %eax
a479a8:	8b 37                	mov    (%edi),%esi
a479aa:	ff 75 08             	push   0x8(%ebp)
a479ad:	8b b6 a8 01 00 00    	mov    0x1a8(%esi),%esi
a479b3:	8b ce                	mov    %esi,%ecx
a479b5:	e8 ab 4c 9e ff       	call   0x42c665
a479ba:	8b cf                	mov    %edi,%ecx
a479bc:	ff d6                	call   *%esi
a479be:	5f                   	pop    %edi
a479bf:	5e                   	pop    %esi
a479c0:	5d                   	pop    %ebp
a479c1:	c2 10 00             	ret    $0x10
a479c4:	cc                   	int3
a479c5:	cc                   	int3
a479c6:	cc                   	int3
a479c7:	cc                   	int3
a479c8:	cc                   	int3
a479c9:	cc                   	int3
a479ca:	cc                   	int3
a479cb:	cc                   	int3
a479cc:	cc                   	int3
a479cd:	cc                   	int3
a479ce:	cc                   	int3
a479cf:	55                   	push   %ebp
a479d0:	8b ec                	mov    %esp,%ebp
a479d2:	83 ec 4c             	sub    $0x4c,%esp
a479d5:	a1 24 f6 d5 00       	mov    0xd5f624,%eax
a479da:	33 c5                	xor    %ebp,%eax
a479dc:	89 45 fc             	mov    %eax,-0x4(%ebp)
a479df:	8b 45 0c             	mov    0xc(%ebp),%eax
a479e2:	53                   	push   %ebx
a479e3:	8b 5d 08             	mov    0x8(%ebp),%ebx
a479e6:	56                   	push   %esi
a479e7:	8b 75 10             	mov    0x10(%ebp),%esi
a479ea:	89 45 e4             	mov    %eax,-0x1c(%ebp)
a479ed:	8b 45 14             	mov    0x14(%ebp),%eax
a479f0:	57                   	push   %edi
a479f1:	89 45 e8             	mov    %eax,-0x18(%ebp)
a479f4:	8b f9                	mov    %ecx,%edi
a479f6:	8b c6                	mov    %esi,%eax
a479f8:	25 ff ff 40 00       	and    $0x40ffff,%eax
a479fd:	6a 30                	push   $0x30
a479ff:	89 87 b0 00 00 00    	mov    %eax,0xb0(%edi)
a47a05:	8d 45 b4             	lea    -0x4c(%ebp),%eax
a47a08:	6a 00                	push   $0x0
a47a0a:	50                   	push   %eax
a47a0b:	e8 a8 cd 9c ff       	call   0x4147b8
a47a10:	8b 45 e8             	mov    -0x18(%ebp),%eax
a47a13:	83 c4 0c             	add    $0xc,%esp
a47a16:	81 ce 00 00 00 40    	or     $0x40000000,%esi
a47a1c:	c7 45 dc cc 60 c3 00 	movl   $0xc360cc,-0x24(%ebp)
a47a23:	89 75 d4             	mov    %esi,-0x2c(%ebp)
a47a26:	89 45 bc             	mov    %eax,-0x44(%ebp)
a47a29:	e8 01 69 9e ff       	call   0x42e32f
a47a2e:	8b 40 08             	mov    0x8(%eax),%eax
a47a31:	89 45 b8             	mov    %eax,-0x48(%ebp)
a47a34:	85 db                	test   %ebx,%ebx
a47a36:	75 05                	jne    0xa47a3d
a47a38:	21 5d c0             	and    %ebx,-0x40(%ebp)
a47a3b:	eb 06                	jmp    0xa47a43
a47a3d:	8b 43 20             	mov    0x20(%ebx),%eax
a47a40:	89 45 c0             	mov    %eax,-0x40(%ebp)
a47a43:	8b 07                	mov    (%edi),%eax
a47a45:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
a47a48:	51                   	push   %ecx
a47a49:	8b 70 64             	mov    0x64(%eax),%esi
a47a4c:	8b ce                	mov    %esi,%ecx
a47a4e:	e8 12 4c 9e ff       	call   0x42c665
a47a53:	8b cf                	mov    %edi,%ecx
a47a55:	ff d6                	call   *%esi
a47a57:	85 c0                	test   %eax,%eax
a47a59:	75 07                	jne    0xa47a62
a47a5b:	33 c0                	xor    %eax,%eax
a47a5d:	e9 99 00 00 00       	jmp    0xa47afb
a47a62:	8b 75 e4             	mov    -0x1c(%ebp),%esi
a47a65:	6a 10                	push   $0x10
a47a67:	89 b7 d4 00 00 00    	mov    %esi,0xd4(%edi)
a47a6d:	e8 f3 d3 9d ff       	call   0x424e65
a47a72:	68 00 c0 0f 00       	push   $0xfc000
a47a77:	e8 e9 d3 9d ff       	call   0x424e65
a47a7c:	53                   	push   %ebx
a47a7d:	56                   	push   %esi
a47a7e:	8b cf                	mov    %edi,%ecx
a47a80:	e8 79 7f 9f ff       	call   0x43f9fe
a47a85:	33 db                	xor    %ebx,%ebx
a47a87:	89 9f d4 00 00 00    	mov    %ebx,0xd4(%edi)
a47a8d:	85 c0                	test   %eax,%eax
a47a8f:	74 ca                	je     0xa47a5b
a47a91:	ff 75 e8             	push   -0x18(%ebp)
a47a94:	8b cf                	mov    %edi,%ecx
a47a96:	e8 07 66 9c ff       	call   0x40e0a2
a47a9b:	8d 45 ec             	lea    -0x14(%ebp),%eax