48a852:	83 3d b0 62 4c 00 00 	cmpl   $0x0,0x4c62b0
48a859:	53                   	push   %ebx
48a85a:	56                   	push   %esi
48a85b:	57                   	push   %edi
48a85c:	74 10                	je     0x48a86e
48a85e:	ff 75 0c             	push   0xc(%ebp)
48a861:	ff 75 08             	push   0x8(%ebp)
48a864:	e8 f7 02 00 00       	call   0x48ab60
48a869:	e9 e9 02 00 00       	jmp    0x48ab57
48a86e:	8b 75 08             	mov    0x8(%ebp),%esi
48a871:	8b 46 10             	mov    0x10(%esi),%eax
48a874:	8b c8                	mov    %eax,%ecx
48a876:	8b 5e 18             	mov    0x18(%esi),%ebx
48a879:	83 e1 10             	and    $0x10,%ecx
48a87c:	89 4c 24 14          	mov    %ecx,0x14(%esp)
48a880:	8b c8                	mov    %eax,%ecx
48a882:	83 e0 01             	and    $0x1,%eax
48a885:	83 e1 06             	and    $0x6,%ecx
48a888:	89 44 24 1c          	mov    %eax,0x1c(%esp)
48a88c:	a1 28 f5 48 00       	mov    0x48f528,%eax
48a891:	89 4c 24 24          	mov    %ecx,0x24(%esp)
48a895:	85 c9                	test   %ecx,%ecx
48a897:	74 11                	je     0x48a8aa
48a899:	6a 0e                	push   $0xe
48a89b:	ff d0                	call   *%eax
48a89d:	50                   	push   %eax
48a89e:	53                   	push   %ebx
48a89f:	ff 15 20 f1 48 00    	call   *0x48f120
48a8a5:	8b 7d 0c             	mov    0xc(%ebp),%edi
48a8a8:	eb 1a                	jmp    0x48a8c4
48a8aa:	8b 7d 0c             	mov    0xc(%ebp),%edi
48a8ad:	83 7f 4c ff          	cmpl   $0xffffffff,0x4c(%edi)
48a8b1:	75 07                	jne    0x48a8ba
48a8b3:	6a 12                	push   $0x12
48a8b5:	ff d0                	call   *%eax
48a8b7:	50                   	push   %eax
48a8b8:	eb 03                	jmp    0x48a8bd
48a8ba:	ff 77 4c             	push   0x4c(%edi)
48a8bd:	53                   	push   %ebx
48a8be:	ff 15 20 f1 48 00    	call   *0x48f120
48a8c4:	83 7f 48 ff          	cmpl   $0xffffffff,0x48(%edi)
48a8c8:	89 44 24 20          	mov    %eax,0x20(%esp)
48a8cc:	75 16                	jne    0x48a8e4
48a8ce:	6a 0f                	push   $0xf
48a8d0:	ff 15 30 f7 48 00    	call   *0x48f730
48a8d6:	6a 0f                	push   $0xf
48a8d8:	89 44 24 14          	mov    %eax,0x14(%esp)
48a8dc:	ff 15 28 f5 48 00    	call   *0x48f528
48a8e2:	eb 10                	jmp    0x48a8f4
48a8e4:	ff 77 48             	push   0x48(%edi)
48a8e7:	ff 15 48 f1 48 00    	call   *0x48f148
48a8ed:	89 44 24 10          	mov    %eax,0x10(%esp)
48a8f1:	8b 47 48             	mov    0x48(%edi),%eax
48a8f4:	50                   	push   %eax
48a8f5:	53                   	push   %ebx
48a8f6:	ff 15 40 f1 48 00    	call   *0x48f140
48a8fc:	ff 74 24 10          	push   0x10(%esp)
48a900:	89 44 24 30          	mov    %eax,0x30(%esp)
48a904:	53                   	push   %ebx
48a905:	ff 15 ec f0 48 00    	call   *0x48f0ec
48a90b:	83 7c 24 1c 00       	cmpl   $0x0,0x1c(%esp)
48a910:	8d 7c 24 30          	lea    0x30(%esp),%edi
48a914:	89 44 24 28          	mov    %eax,0x28(%esp)
48a918:	8d 46 1c             	lea    0x1c(%esi),%eax
48a91b:	8b f0                	mov    %eax,%esi
48a91d:	89 44 24 18          	mov    %eax,0x18(%esp)
48a921:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48a922:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48a923:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48a924:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48a925:	74 36                	je     0x48a95d
48a927:	6a ff                	push   $0xffffffff
48a929:	6a ff                	push   $0xffffffff
48a92b:	8d 44 24 38          	lea    0x38(%esp),%eax
48a92f:	50                   	push   %eax
48a930:	ff 15 2c f5 48 00    	call   *0x48f52c
48a936:	6a 10                	push   $0x10
48a938:	ff 15 28 f5 48 00    	call   *0x48f528
48a93e:	50                   	push   %eax
48a93f:	ff 15 48 f1 48 00    	call   *0x48f148
48a945:	8b f0                	mov    %eax,%esi
48a947:	8d 44 24 30          	lea    0x30(%esp),%eax
48a94b:	56                   	push   %esi
48a94c:	50                   	push   %eax
48a94d:	53                   	push   %ebx
48a94e:	ff 15 38 f5 48 00    	call   *0x48f538
48a954:	56                   	push   %esi
48a955:	ff 15 c8 f0 48 00    	call   *0x48f0c8
48a95b:	eb 26                	jmp    0x48a983
48a95d:	83 7c 24 14 00       	cmpl   $0x0,0x14(%esp)
48a962:	74 0f                	je     0x48a973
48a964:	6a ff                	push   $0xffffffff
48a966:	6a ff                	push   $0xffffffff
48a968:	8d 44 24 38          	lea    0x38(%esp),%eax
48a96c:	50                   	push   %eax
48a96d:	ff 15 2c f5 48 00    	call   *0x48f52c
48a973:	6a 10                	push   $0x10
48a975:	6a 04                	push   $0x4
48a977:	8d 44 24 38          	lea    0x38(%esp),%eax
48a97b:	50                   	push   %eax
48a97c:	53                   	push   %ebx
48a97d:	ff 15 3c f5 48 00    	call   *0x48f53c
48a983:	8b 74 24 18          	mov    0x18(%esp),%esi
48a987:	8d 7c 24 30          	lea    0x30(%esp),%edi
48a98b:	8d 44 24 30          	lea    0x30(%esp),%eax
48a98f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48a990:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48a991:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48a992:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48a993:	8b 74 24 1c          	mov    0x1c(%esp),%esi
48a997:	85 f6                	test   %esi,%esi
48a999:	74 0d                	je     0x48a9a8
48a99b:	6a fe                	push   $0xfffffffe
48a99d:	6a fe                	push   $0xfffffffe
48a99f:	50                   	push   %eax
48a9a0:	ff 15 2c f5 48 00    	call   *0x48f52c
48a9a6:	eb 20                	jmp    0x48a9c8
48a9a8:	83 7c 24 14 00       	cmpl   $0x0,0x14(%esp)
48a9ad:	74 06                	je     0x48a9b5
48a9af:	6a fd                	push   $0xfffffffd
48a9b1:	6a fd                	push   $0xfffffffd
48a9b3:	eb 04                	jmp    0x48a9b9
48a9b5:	6a fe                	push   $0xfffffffe
48a9b7:	6a fe                	push   $0xfffffffe
48a9b9:	50                   	push   %eax
48a9ba:	ff 15 2c f5 48 00    	call   *0x48f52c
48a9c0:	ff 4c 24 30          	decl   0x30(%esp)
48a9c4:	ff 4c 24 34          	decl   0x34(%esp)
48a9c8:	ff 74 24 10          	push   0x10(%esp)
48a9cc:	8d 44 24 34          	lea    0x34(%esp),%eax
48a9d0:	50                   	push   %eax
48a9d1:	53                   	push   %ebx
48a9d2:	ff 15 40 f5 48 00    	call   *0x48f540
48a9d8:	6a 02                	push   $0x2
48a9da:	58                   	pop    %eax
48a9db:	85 f6                	test   %esi,%esi
48a9dd:	75 06                	jne    0x48a9e5
48a9df:	39 74 24 24          	cmp    %esi,0x24(%esp)
48a9e3:	74 08                	je     0x48a9ed
48a9e5:	01 44 24 30          	add    %eax,0x30(%esp)
48a9e9:	01 44 24 34          	add    %eax,0x34(%esp)
48a9ed:	8b 75 0c             	mov    0xc(%ebp),%esi
48a9f0:	bf 04 01 00 00       	mov    $0x104,%edi
48a9f5:	6a f0                	push   $0xfffffff0
48a9f7:	89 7c 24 10          	mov    %edi,0x10(%esp)
48a9fb:	ff 36                	push   (%esi)
48a9fd:	ff 15 5c f6 48 00    	call   *0x48f65c
48aa03:	8b c8                	mov    %eax,%ecx
48aa05:	f7 c1 00 20 00 00    	test   $0x2000,%ecx
48aa0b:	75 07                	jne    0x48aa14
48aa0d:	83 c7 20             	add    $0x20,%edi
48aa10:	89 7c 24 0c          	mov    %edi,0xc(%esp)
48aa14:	ba 00 03 00 00       	mov    $0x300,%edx
48aa19:	8b c1                	mov    %ecx,%eax
48aa1b:	23 c2                	and    %edx,%eax
48aa1d:	3b c2                	cmp    %edx,%eax
48aa1f:	75 07                	jne    0x48aa28
48aa21:	83 cf 01             	or     $0x1,%edi
48aa24:	89 7c 24 0c          	mov    %edi,0xc(%esp)
48aa28:	f7 c1 00 02 00 00    	test   $0x200,%ecx
48aa2e:	74 07                	je     0x48aa37
48aa30:	6a 02                	push   $0x2
48aa32:	58                   	pop    %eax
48aa33:	0b f8                	or     %eax,%edi
48aa35:	eb 0b                	jmp    0x48aa42
48aa37:	f7 c1 00 01 00 00    	test   $0x100,%ecx
48aa3d:	75 07                	jne    0x48aa46
48aa3f:	83 cf 01             	or     $0x1,%edi
48aa42:	89 7c 24 0c          	mov    %edi,0xc(%esp)
48aa46:	6a 00                	push   $0x0
48aa48:	6a 00                	push   $0x0
48aa4a:	6a 0e                	push   $0xe
48aa4c:	ff 36                	push   (%esi)
48aa4e:	ff 15 88 f6 48 00    	call   *0x48f688
48aa54:	33 c9                	xor    %ecx,%ecx
48aa56:	6a 02                	push   $0x2
48aa58:	5a                   	pop    %edx
48aa59:	8d 70 01             	lea    0x1(%eax),%esi
48aa5c:	8b c6                	mov    %esi,%eax
48aa5e:	f7 e2                	mul    %edx
48aa60:	0f 90 c1             	seto   %cl
48aa63:	f7 d9                	neg    %ecx
48aa65:	0b c8                	or     %eax,%ecx
48aa67:	51                   	push   %ecx
48aa68:	e8 89 65 f9 ff       	call   0x420ff6
48aa6d:	59                   	pop    %ecx
48aa6e:	56                   	push   %esi
48aa6f:	50                   	push   %eax
48aa70:	89 44 24 24          	mov    %eax,0x24(%esp)
48aa74:	8b 45 0c             	mov    0xc(%ebp),%eax
48aa77:	ff 30                	push   (%eax)
48aa79:	ff 15 6c f6 48 00    	call   *0x48f66c
48aa7f:	57                   	push   %edi
48aa80:	8d 44 24 34          	lea    0x34(%esp),%eax
48aa84:	50                   	push   %eax
48aa85:	6a ff                	push   $0xffffffff
48aa87:	ff 74 24 28          	push   0x28(%esp)
48aa8b:	53                   	push   %ebx
48aa8c:	ff 15 34 f5 48 00    	call   *0x48f534
48aa92:	83 7c 24 24 00       	cmpl   $0x0,0x24(%esp)
48aa97:	74 3a                	je     0x48aad3
48aa99:	8b 74 24 18          	mov    0x18(%esp),%esi
48aa9d:	8d 7c 24 30          	lea    0x30(%esp),%edi
48aaa1:	6a 11                	push   $0x11
48aaa3:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48aaa4:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48aaa5:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48aaa6:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48aaa7:	ff 44 24 34          	incl   0x34(%esp)
48aaab:	ff 44 24 38          	incl   0x38(%esp)
48aaaf:	ff 15 28 f5 48 00    	call   *0x48f528
48aab5:	50                   	push   %eax
48aab6:	53                   	push   %ebx
48aab7:	ff 15 20 f1 48 00    	call   *0x48f120
48aabd:	ff 74 24 0c          	push   0xc(%esp)
48aac1:	8d 44 24 34          	lea    0x34(%esp),%eax
48aac5:	50                   	push   %eax
48aac6:	6a ff                	push   $0xffffffff
48aac8:	ff 74 24 28          	push   0x28(%esp)
48aacc:	53                   	push   %ebx
48aacd:	ff 15 34 f5 48 00    	call   *0x48f534
48aad3:	83 7c 24 14 00       	cmpl   $0x0,0x14(%esp)
48aad8:	74 45                	je     0x48ab1f
48aada:	8b 74 24 18          	mov    0x18(%esp),%esi
48aade:	8d 7c 24 30          	lea    0x30(%esp),%edi
48aae2:	6a 00                	push   $0x0
48aae4:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48aae5:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48aae6:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48aae7:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48aae8:	ff 15 48 f1 48 00    	call   *0x48f148
48aaee:	8b f0                	mov    %eax,%esi
48aaf0:	8d 44 24 30          	lea    0x30(%esp),%eax
48aaf4:	56                   	push   %esi
48aaf5:	50                   	push   %eax
48aaf6:	53                   	push   %ebx
48aaf7:	ff 15 38 f5 48 00    	call   *0x48f538
48aafd:	56                   	push   %esi
48aafe:	ff 15 c8 f0 48 00    	call   *0x48f0c8
48ab04:	6a fc                	push   $0xfffffffc
48ab06:	6a fc                	push   $0xfffffffc
48ab08:	8d 44 24 38          	lea    0x38(%esp),%eax
48ab0c:	50                   	push   %eax
48ab0d:	ff 15 2c f5 48 00    	call   *0x48f52c
48ab13:	8d 44 24 30          	lea    0x30(%esp),%eax
48ab17:	50                   	push   %eax
48ab18:	53                   	push   %ebx
48ab19:	ff 15 30 f5 48 00    	call   *0x48f530
48ab1f:	ff 74 24 1c          	push   0x1c(%esp)
48ab23:	e8 44 65 f9 ff       	call   0x42106c
48ab28:	59                   	pop    %ecx
48ab29:	ff 74 24 28          	push   0x28(%esp)
48ab2d:	53                   	push   %ebx
48ab2e:	ff 15 ec f0 48 00    	call   *0x48f0ec
48ab34:	ff 74 24 10          	push   0x10(%esp)
48ab38:	ff 15 c8 f0 48 00    	call   *0x48f0c8
48ab3e:	ff 74 24 20          	push   0x20(%esp)
48ab42:	53                   	push   %ebx
48ab43:	ff 15 20 f1 48 00    	call   *0x48f120
48ab49:	ff 74 24 2c          	push   0x2c(%esp)
48ab4d:	53                   	push   %ebx
48ab4e:	ff 15 40 f1 48 00    	call   *0x48f140
48ab54:	33 c0                	xor    %eax,%eax
48ab56:	40                   	inc    %eax
48ab57:	5f                   	pop    %edi
48ab58:	5e                   	pop    %esi
48ab59:	5b                   	pop    %ebx
48ab5a:	8b e5                	mov    %ebp,%esp
48ab5c:	5d                   	pop    %ebp
48ab5d:	c2 08 00             	ret    $0x8
48ab60:	55                   	push   %ebp
48ab61:	8b ec                	mov    %esp,%ebp
48ab63:	83 ec 34             	sub    $0x34,%esp
48ab66:	8b 45 08             	mov    0x8(%ebp),%eax
48ab69:	53                   	push   %ebx
48ab6a:	56                   	push   %esi
48ab6b:	57                   	push   %edi
48ab6c:	8b 70 10             	mov    0x10(%eax),%esi
48ab6f:	8b ce                	mov    %esi,%ecx
48ab71:	8b 58 18             	mov    0x18(%eax),%ebx
48ab74:	83 e1 10             	and    $0x10,%ecx
48ab77:	8b 3d 28 f5 48 00    	mov    0x48f528,%edi
48ab7d:	83 e6 06             	and    $0x6,%esi
48ab80:	89 4d f0             	mov    %ecx,-0x10(%ebp)
48ab83:	89 75 ec             	mov    %esi,-0x14(%ebp)
48ab86:	74 04                	je     0x48ab8c
48ab88:	6a 0e                	push   $0xe
48ab8a:	eb 0d                	jmp    0x48ab99
48ab8c:	8b 45 0c             	mov    0xc(%ebp),%eax
48ab8f:	8b 40 4c             	mov    0x4c(%eax),%eax
48ab92:	83 f8 ff             	cmp    $0xffffffff,%eax
48ab95:	75 04                	jne    0x48ab9b
48ab97:	6a 12                	push   $0x12
48ab99:	ff d7                	call   *%edi
48ab9b:	50                   	push   %eax
48ab9c:	53                   	push   %ebx
48ab9d:	ff 15 20 f1 48 00    	call   *0x48f120
48aba3:	89 45 f8             	mov    %eax,-0x8(%ebp)
48aba6:	8b 45 0c             	mov    0xc(%ebp),%eax
48aba9:	8b 40 48             	mov    0x48(%eax),%eax
48abac:	83 f8 ff             	cmp    $0xffffffff,%eax
48abaf:	75 11                	jne    0x48abc2
48abb1:	6a 0f                	push   $0xf
48abb3:	ff 15 30 f7 48 00    	call   *0x48f730
48abb9:	6a 0f                	push   $0xf
48abbb:	89 45 fc             	mov    %eax,-0x4(%ebp)
48abbe:	ff d7                	call   *%edi
48abc0:	eb 10                	jmp    0x48abd2
48abc2:	50                   	push   %eax
48abc3:	ff 15 48 f1 48 00    	call   *0x48f148
48abc9:	89 45 fc             	mov    %eax,-0x4(%ebp)
48abcc:	8b 45 0c             	mov    0xc(%ebp),%eax
48abcf:	8b 40 48             	mov    0x48(%eax),%eax
48abd2:	89 45 f4             	mov    %eax,-0xc(%ebp)
48abd5:	85 f6                	test   %esi,%esi
48abd7:	74 06                	je     0x48abdf
48abd9:	6a 11                	push   $0x11
48abdb:	ff d7                	call   *%edi
48abdd:	eb 05                	jmp    0x48abe4
48abdf:	b8 00 3c 74 00       	mov    $0x743c00,%eax
48abe4:	50                   	push   %eax
48abe5:	6a 01                	push   $0x1
48abe7:	6a 00                	push   $0x0
48abe9:	ff 15 44 f1 48 00    	call   *0x48f144
48abef:	8b 35 ec f0 48 00    	mov    0x48f0ec,%esi
48abf5:	50                   	push   %eax
48abf6:	53                   	push   %ebx
48abf7:	89 45 e0             	mov    %eax,-0x20(%ebp)
48abfa:	ff d6                	call   *%esi
48abfc:	ff 75 f4             	push   -0xc(%ebp)
48abff:	89 45 e4             	mov    %eax,-0x1c(%ebp)
48ac02:	53                   	push   %ebx
48ac03:	ff 15 40 f1 48 00    	call   *0x48f140
48ac09:	ff 75 fc             	push   -0x4(%ebp)
48ac0c:	89 45 dc             	mov    %eax,-0x24(%ebp)
48ac0f:	53                   	push   %ebx
48ac10:	ff d6                	call   *%esi
48ac12:	89 45 e8             	mov    %eax,-0x18(%ebp)
48ac15:	8d 7d cc             	lea    -0x34(%ebp),%edi
48ac18:	8b 45 08             	mov    0x8(%ebp),%eax
48ac1b:	83 c0 1c             	add    $0x1c,%eax
48ac1e:	8b f0                	mov    %eax,%esi
48ac20:	89 45 f4             	mov    %eax,-0xc(%ebp)
48ac23:	6a ff                	push   $0xffffffff
48ac25:	6a ff                	push   $0xffffffff
48ac27:	8d 45 cc             	lea    -0x34(%ebp),%eax
48ac2a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48ac2b:	50                   	push   %eax
48ac2c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48ac2d:	a5                   	movsl  %ds:(%esi),%es:(%edi)