47376c:	ba 02 00 00 00       	mov    $0x2,%edx
473771:	e8 16 11 f9 ff       	call   0x40488c
473776:	8d 45 f0             	lea    -0x10(%ebp),%eax
473779:	e8 ea 10 f9 ff       	call   0x404868
47377e:	c3                   	ret
47377f:	e9 88 0a f9 ff       	jmp    0x40420c
473784:	eb e3                	jmp    0x473769
473786:	5f                   	pop    %edi
473787:	5e                   	pop    %esi
473788:	5b                   	pop    %ebx
473789:	8b e5                	mov    %ebp,%esp
47378b:	5d                   	pop    %ebp
47378c:	c2 04 00             	ret    $0x4
47378f:	90                   	nop
473790:	55                   	push   %ebp
473791:	8b ec                	mov    %esp,%ebp
473793:	8b 45 08             	mov    0x8(%ebp),%eax
473796:	8b 40 ec             	mov    -0x14(%eax),%eax
473799:	e8 36 fd ff ff       	call   0x4734d4
47379e:	84 c0                	test   %al,%al
4737a0:	75 34                	jne    0x4737d6
4737a2:	8b 45 08             	mov    0x8(%ebp),%eax
4737a5:	8b 40 08             	mov    0x8(%eax),%eax
4737a8:	50                   	push   %eax
4737a9:	8b 45 08             	mov    0x8(%ebp),%eax
4737ac:	83 c0 f0             	add    $0xfffffff0,%eax
4737af:	50                   	push   %eax
4737b0:	8b 45 08             	mov    0x8(%ebp),%eax
4737b3:	8b 40 10             	mov    0x10(%eax),%eax
4737b6:	e8 65 13 f9 ff       	call   0x404b20
4737bb:	50                   	push   %eax
4737bc:	8b 45 08             	mov    0x8(%ebp),%eax
4737bf:	8b 40 10             	mov    0x10(%eax),%eax
4737c2:	e8 51 15 f9 ff       	call   0x404d18
4737c7:	50                   	push   %eax
4737c8:	8b 45 08             	mov    0x8(%ebp),%eax
4737cb:	8b 40 e8             	mov    -0x18(%eax),%eax
4737ce:	50                   	push   %eax
4737cf:	e8 64 41 f9 ff       	call   0x407938
4737d4:	5d                   	pop    %ebp
4737d5:	c3                   	ret
4737d6:	8b 45 08             	mov    0x8(%ebp),%eax
4737d9:	8b 40 08             	mov    0x8(%eax),%eax
4737dc:	50                   	push   %eax
4737dd:	8b 45 08             	mov    0x8(%ebp),%eax
4737e0:	8d 48 f0             	lea    -0x10(%eax),%ecx
4737e3:	8b 45 08             	mov    0x8(%ebp),%eax
4737e6:	8b 50 10             	mov    0x10(%eax),%edx
4737e9:	8b 45 08             	mov    0x8(%ebp),%eax
4737ec:	8b 40 e8             	mov    -0x18(%eax),%eax
4737ef:	e8 cc 90 ff ff       	call   0x46c8c0
4737f4:	5d                   	pop    %ebp
4737f5:	c3                   	ret
4737f6:	8b c0                	mov    %eax,%eax
4737f8:	55                   	push   %ebp
4737f9:	8b ec                	mov    %esp,%ebp
4737fb:	83 c4 e8             	add    $0xffffffe8,%esp
4737fe:	53                   	push   %ebx
4737ff:	56                   	push   %esi
473800:	57                   	push   %edi
473801:	8b f1                	mov    %ecx,%esi
473803:	8d 7d f0             	lea    -0x10(%ebp),%edi
473806:	a5                   	movsl  %ds:(%esi),%es:(%edi)
473807:	a5                   	movsl  %ds:(%esi),%es:(%edi)
473808:	a5                   	movsl  %ds:(%esi),%es:(%edi)
473809:	a5                   	movsl  %ds:(%esi),%es:(%edi)
47380a:	8b da                	mov    %edx,%ebx
47380c:	89 45 ec             	mov    %eax,-0x14(%ebp)
47380f:	8b c3                	mov    %ebx,%eax
473811:	e8 aa 54 fb ff       	call   0x428cc0
473816:	89 45 e8             	mov    %eax,-0x18(%ebp)
473819:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
47381d:	75 09                	jne    0x473828
47381f:	55                   	push   %ebp
473820:	e8 6b ff ff ff       	call   0x473790
473825:	59                   	pop    %ecx
473826:	eb 5a                	jmp    0x473882
473828:	6a 10                	push   $0x10
47382a:	e8 d9 42 f9 ff       	call   0x407b08
47382f:	8b d8                	mov    %eax,%ebx
473831:	6a 14                	push   $0x14
473833:	e8 d0 42 f9 ff       	call   0x407b08
473838:	8b f0                	mov    %eax,%esi
47383a:	6a 01                	push   $0x1
47383c:	6a 01                	push   $0x1
47383e:	8d 45 f0             	lea    -0x10(%ebp),%eax
473841:	50                   	push   %eax
473842:	e8 31 44 f9 ff       	call   0x407c78
473847:	56                   	push   %esi
473848:	8b 45 e8             	mov    -0x18(%ebp),%eax
47384b:	50                   	push   %eax
47384c:	e8 2f 3f f9 ff       	call   0x407780
473851:	8b f0                	mov    %eax,%esi
473853:	55                   	push   %ebp
473854:	e8 37 ff ff ff       	call   0x473790
473859:	59                   	pop    %ecx
47385a:	6a ff                	push   $0xffffffff
47385c:	6a ff                	push   $0xffffffff
47385e:	8d 45 f0             	lea    -0x10(%ebp),%eax
473861:	50                   	push   %eax
473862:	e8 11 44 f9 ff       	call   0x407c78
473867:	53                   	push   %ebx
473868:	8b 45 e8             	mov    -0x18(%ebp),%eax
47386b:	50                   	push   %eax
47386c:	e8 0f 3f f9 ff       	call   0x407780
473871:	55                   	push   %ebp
473872:	e8 19 ff ff ff       	call   0x473790
473877:	59                   	pop    %ecx
473878:	56                   	push   %esi
473879:	8b 45 e8             	mov    -0x18(%ebp),%eax
47387c:	50                   	push   %eax
47387d:	e8 fe 3e f9 ff       	call   0x407780
473882:	5f                   	pop    %edi
473883:	5e                   	pop    %esi
473884:	5b                   	pop    %ebx
473885:	8b e5                	mov    %ebp,%esp
473887:	5d                   	pop    %ebp
473888:	c2 0c 00             	ret    $0xc
47388b:	90                   	nop
47388c:	55                   	push   %ebp
47388d:	8b ec                	mov    %esp,%ebp
47388f:	53                   	push   %ebx
473890:	33 db                	xor    %ebx,%ebx
473892:	e8 75 88 ff ff       	call   0x46c10c
473897:	84 c0                	test   %al,%al
473899:	75 29                	jne    0x4738c4
47389b:	8b 45 08             	mov    0x8(%ebp),%eax
47389e:	8b 40 fc             	mov    -0x4(%eax),%eax
4738a1:	8b 40 24             	mov    0x24(%eax),%eax
4738a4:	f6 80 b4 00 00 00 02 	testb  $0x2,0xb4(%eax)
4738ab:	74 17                	je     0x4738c4
4738ad:	8b 45 08             	mov    0x8(%ebp),%eax
4738b0:	8b 40 fc             	mov    -0x4(%eax),%eax
4738b3:	8b 40 24             	mov    0x24(%eax),%eax
4738b6:	f6 80 b3 00 00 00 20 	testb  $0x20,0xb3(%eax)
4738bd:	75 05                	jne    0x4738c4
4738bf:	bb 00 00 10 00       	mov    $0x100000,%ebx
4738c4:	8b c3                	mov    %ebx,%eax
4738c6:	5b                   	pop    %ebx
4738c7:	5d                   	pop    %ebp
4738c8:	c3                   	ret
4738c9:	8d 40 00             	lea    0x0(%eax),%eax
4738cc:	55                   	push   %ebp
4738cd:	8b ec                	mov    %esp,%ebp
4738cf:	53                   	push   %ebx
4738d0:	56                   	push   %esi
4738d1:	57                   	push   %edi
4738d2:	8b 55 08             	mov    0x8(%ebp),%edx
4738d5:	8b 52 08             	mov    0x8(%edx),%edx
4738d8:	8b 52 f8             	mov    -0x8(%edx),%edx
4738db:	8b 52 14             	mov    0x14(%edx),%edx
4738de:	92                   	xchg   %eax,%edx
4738df:	e8 a0 49 fb ff       	call   0x428284
4738e4:	8b 45 08             	mov    0x8(%ebp),%eax
4738e7:	8b 40 08             	mov    0x8(%eax),%eax
4738ea:	8b 40 f8             	mov    -0x8(%eax),%eax
4738ed:	e8 ce 53 fb ff       	call   0x428cc0
4738f2:	8b d8                	mov    %eax,%ebx
4738f4:	68 ff ff ff 00       	push   $0xffffff
4738f9:	53                   	push   %ebx
4738fa:	e8 81 3e f9 ff       	call   0x407780
4738ff:	8b f0                	mov    %eax,%esi
473901:	6a 00                	push   $0x0
473903:	53                   	push   %ebx
473904:	e8 0f 3e f9 ff       	call   0x407718
473909:	8b f8                	mov    %eax,%edi
47390b:	68 46 07 e2 00       	push   $0xe20746
473910:	6a 00                	push   $0x0
473912:	6a 00                	push   $0x0
473914:	8b 45 08             	mov    0x8(%ebp),%eax
473917:	8b 40 ec             	mov    -0x14(%eax),%eax
47391a:	e8 79 9e fb ff       	call   0x42d798
47391f:	e8 9c 53 fb ff       	call   0x428cc0
473924:	50                   	push   %eax
473925:	8b 45 08             	mov    0x8(%ebp),%eax
473928:	8b 40 08             	mov    0x8(%eax),%eax
47392b:	8b 40 f0             	mov    -0x10(%eax),%eax
47392e:	50                   	push   %eax
47392f:	8b 45 08             	mov    0x8(%ebp),%eax
473932:	8b 40 08             	mov    0x8(%eax),%eax
473935:	8b 40 f4             	mov    -0xc(%eax),%eax
473938:	50                   	push   %eax
473939:	8b 45 08             	mov    0x8(%ebp),%eax
47393c:	8b 40 f4             	mov    -0xc(%eax),%eax
47393f:	50                   	push   %eax
473940:	8b 45 08             	mov    0x8(%ebp),%eax
473943:	8b 40 f0             	mov    -0x10(%eax),%eax
473946:	50                   	push   %eax
473947:	53                   	push   %ebx
473948:	e8 eb 3a f9 ff       	call   0x407438
47394d:	57                   	push   %edi
47394e:	53                   	push   %ebx
47394f:	e8 c4 3d f9 ff       	call   0x407718
473954:	56                   	push   %esi
473955:	53                   	push   %ebx
473956:	e8 25 3e f9 ff       	call   0x407780
47395b:	8b 45 08             	mov    0x8(%ebp),%eax
47395e:	8b 40 08             	mov    0x8(%eax),%eax
473961:	8b 40 f8             	mov    -0x8(%eax),%eax
473964:	8b 40 14             	mov    0x14(%eax),%eax
473967:	b2 01                	mov    $0x1,%dl
473969:	e8 32 4a fb ff       	call   0x4283a0
47396e:	5f                   	pop    %edi
47396f:	5e                   	pop    %esi
473970:	5b                   	pop    %ebx
473971:	5d                   	pop    %ebp
473972:	c3                   	ret
473973:	90                   	nop
473974:	55                   	push   %ebp
473975:	8b ec                	mov    %esp,%ebp
473977:	83 c4 ec             	add    $0xffffffec,%esp
47397a:	b2 01                	mov    $0x1,%dl
47397c:	a1 ec 6a 42 00       	mov    0x426aec,%eax
473981:	e8 4a 98 fb ff       	call   0x42d1d0
473986:	89 45 ec             	mov    %eax,-0x14(%ebp)
473989:	33 d2                	xor    %edx,%edx
47398b:	55                   	push   %ebp
47398c:	68 d7 3a 47 00       	push   $0x473ad7
473991:	64 ff 32             	push   %fs:(%edx)
473994:	64 89 22             	mov    %esp,%fs:(%edx)
473997:	b2 01                	mov    $0x1,%dl
473999:	8b 45 ec             	mov    -0x14(%ebp),%eax
47399c:	e8 b3 ac fb ff       	call   0x42e654
4739a1:	8b 45 08             	mov    0x8(%ebp),%eax
4739a4:	8b 50 f4             	mov    -0xc(%eax),%edx
4739a7:	8b 45 ec             	mov    -0x14(%ebp),%eax
4739aa:	8b 08                	mov    (%eax),%ecx
4739ac:	ff 51 40             	call   *0x40(%ecx)
4739af:	8b 45 08             	mov    0x8(%ebp),%eax
4739b2:	8b 50 f0             	mov    -0x10(%eax),%edx
4739b5:	8b 45 ec             	mov    -0x14(%ebp),%eax
4739b8:	8b 08                	mov    (%eax),%ecx
4739ba:	ff 51 34             	call   *0x34(%ecx)
4739bd:	8b 45 08             	mov    0x8(%ebp),%eax
4739c0:	8b 40 f0             	mov    -0x10(%eax),%eax
4739c3:	50                   	push   %eax
4739c4:	8d 45 f0             	lea    -0x10(%ebp),%eax
4739c7:	50                   	push   %eax
4739c8:	8b 45 08             	mov    0x8(%ebp),%eax
4739cb:	8b 48 f4             	mov    -0xc(%eax),%ecx
4739ce:	33 d2                	xor    %edx,%edx
4739d0:	33 c0                	xor    %eax,%eax
4739d2:	e8 9d 6c fa ff       	call   0x41a674
4739d7:	6a 00                	push   $0x0
4739d9:	6a 02                	push   $0x2
4739db:	8d 45 f0             	lea    -0x10(%ebp),%eax
4739de:	50                   	push   %eax
4739df:	8b 45 ec             	mov    -0x14(%ebp),%eax
4739e2:	e8 b1 9d fb ff       	call   0x42d798
4739e7:	e8 d4 52 fb ff       	call   0x428cc0
4739ec:	50                   	push   %eax
4739ed:	e8 26 3f f9 ff       	call   0x407918
4739f2:	8b 55 08             	mov    0x8(%ebp),%edx
4739f5:	8b 52 ec             	mov    -0x14(%edx),%edx
4739f8:	8b 52 0c             	mov    0xc(%edx),%edx
4739fb:	8b 45 08             	mov    0x8(%ebp),%eax
4739fe:	8b 40 ec             	mov    -0x14(%eax),%eax
473a01:	8b 40 04             	mov    0x4(%eax),%eax
473a04:	2b d0                	sub    %eax,%edx
473a06:	8b 4d 08             	mov    0x8(%ebp),%ecx
473a09:	2b 51 f0             	sub    -0x10(%ecx),%edx
473a0c:	d1 fa                	sar    $1,%edx
473a0e:	79 03                	jns    0x473a13
473a10:	83 d2 00             	adc    $0x0,%edx
473a13:	8b 4d 08             	mov    0x8(%ebp),%ecx
473a16:	8b 49 ec             	mov    -0x14(%ecx),%ecx
473a19:	03 d0                	add    %eax,%edx
473a1b:	52                   	push   %edx
473a1c:	8b 45 08             	mov    0x8(%ebp),%eax
473a1f:	8b 40 ec             	mov    -0x14(%eax),%eax
473a22:	8b 40 08             	mov    0x8(%eax),%eax
473a25:	8b 55 08             	mov    0x8(%ebp),%edx
473a28:	2b 42 f4             	sub    -0xc(%edx),%eax
473a2b:	50                   	push   %eax
473a2c:	8d 45 f0             	lea    -0x10(%ebp),%eax
473a2f:	50                   	push   %eax
473a30:	e8 43 42 f9 ff       	call   0x407c78
473a35:	8b 45 08             	mov    0x8(%ebp),%eax
473a38:	80 78 08 00          	cmpb   $0x0,0x8(%eax)
473a3c:	75 51                	jne    0x473a8f
473a3e:	8b 45 08             	mov    0x8(%ebp),%eax
473a41:	80 78 eb 00          	cmpb   $0x0,-0x15(%eax)
473a45:	74 33                	je     0x473a7a
473a47:	8b 45 08             	mov    0x8(%ebp),%eax
473a4a:	8b 40 fc             	mov    -0x4(%eax),%eax
473a4d:	8b 40 1c             	mov    0x1c(%eax),%eax
473a50:	f6 40 64 20          	testb  $0x20,0x64(%eax)
473a54:	74 24                	je     0x473a7a
473a56:	8b 45 08             	mov    0x8(%ebp),%eax
473a59:	80 78 10 00          	cmpb   $0x0,0x10(%eax)
473a5d:	74 1b                	je     0x473a7a
473a5f:	6a 01                	push   $0x1
473a61:	6a 01                	push   $0x1
473a63:	8d 45 f0             	lea    -0x10(%ebp),%eax
473a66:	50                   	push   %eax
473a67:	e8 0c 42 f9 ff       	call   0x407c78
473a6c:	55                   	push   %ebp
473a6d:	b8 12 00 00 80       	mov    $0x80000012,%eax
473a72:	e8 55 fe ff ff       	call   0x4738cc
473a77:	59                   	pop    %ecx
473a78:	eb 47                	jmp    0x473ac1
473a7a:	55                   	push   %ebp
473a7b:	8b 45 08             	mov    0x8(%ebp),%eax
473a7e:	8b 40 f8             	mov    -0x8(%eax),%eax
473a81:	8b 40 0c             	mov    0xc(%eax),%eax
473a84:	8b 40 18             	mov    0x18(%eax),%eax
473a87:	e8 40 fe ff ff       	call   0x4738cc
473a8c:	59                   	pop    %ecx
473a8d:	eb 32                	jmp    0x473ac1
473a8f:	6a 01                	push   $0x1
473a91:	6a 01                	push   $0x1
473a93:	8d 45 f0             	lea    -0x10(%ebp),%eax
473a96:	50                   	push   %eax
473a97:	e8 dc 41 f9 ff       	call   0x407c78
473a9c:	55                   	push   %ebp
473a9d:	b8 14 00 00 80       	mov    $0x80000014,%eax
473aa2:	e8 25 fe ff ff       	call   0x4738cc
473aa7:	59                   	pop    %ecx
473aa8:	6a ff                	push   $0xffffffff
473aaa:	6a ff                	push   $0xffffffff
473aac:	8d 45 f0             	lea    -0x10(%ebp),%eax
473aaf:	50                   	push   %eax
473ab0:	e8 c3 41 f9 ff       	call   0x407c78
473ab5:	55                   	push   %ebp
473ab6:	b8 10 00 00 80       	mov    $0x80000010,%eax
473abb:	e8 0c fe ff ff       	call   0x4738cc
473ac0:	59                   	pop    %ecx
473ac1:	33 c0                	xor    %eax,%eax
473ac3:	5a                   	pop    %edx
473ac4:	59                   	pop    %ecx
473ac5:	59                   	pop    %ecx
473ac6:	64 89 10             	mov    %edx,%fs:(%eax)
473ac9:	68 de 3a 47 00       	push   $0x473ade
473ace:	8b 45 ec             	mov    -0x14(%ebp),%eax
473ad1:	e8 a2 ff f8 ff       	call   0x403a78
473ad6:	c3                   	ret
473ad7:	e9 30 07 f9 ff       	jmp    0x40420c
473adc:	eb f0                	jmp    0x473ace
473ade:	8b e5                	mov    %ebp,%esp
473ae0:	5d                   	pop    %ebp
473ae1:	c3                   	ret
473ae2:	8b c0                	mov    %eax,%eax
473ae4:	55                   	push   %ebp
473ae5:	8b ec                	mov    %esp,%ebp
473ae7:	83 c4 e8             	add    $0xffffffe8,%esp
473aea:	53                   	push   %ebx
473aeb:	8b d8                	mov    %eax,%ebx
473aed:	8b 45 08             	mov    0x8(%ebp),%eax
473af0:	8b 40 f0             	mov    -0x10(%eax),%eax
473af3:	8b 55 08             	mov    0x8(%ebp),%edx