48fd99:	8b 45 f8             	mov    -0x8(%ebp),%eax
48fd9c:	e8 1f 8f f9 ff       	call   0x428cc0
48fda1:	50                   	push   %eax
48fda2:	a1 dc 6c 6a 00       	mov    0x6a6cdc,%eax
48fda7:	8b 00                	mov    (%eax),%eax
48fda9:	50                   	push   %eax
48fdaa:	a1 e0 6e 6a 00       	mov    0x6a6ee0,%eax
48fdaf:	8b 00                	mov    (%eax),%eax
48fdb1:	ff d0                	call   *%eax
48fdb3:	8d 75 e0             	lea    -0x20(%ebp),%esi
48fdb6:	8d 7d b8             	lea    -0x48(%ebp),%edi
48fdb9:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48fdba:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48fdbb:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48fdbc:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48fdbd:	8b 45 e4             	mov    -0x1c(%ebp),%eax
48fdc0:	03 45 ec             	add    -0x14(%ebp),%eax
48fdc3:	d1 f8                	sar    $1,%eax
48fdc5:	79 03                	jns    0x48fdca
48fdc7:	83 d0 00             	adc    $0x0,%eax
48fdca:	89 45 bc             	mov    %eax,-0x44(%ebp)
48fdcd:	f6 45 cc 08          	testb  $0x8,-0x34(%ebp)
48fdd1:	0f 95 45 ff          	setne  -0x1(%ebp)
48fdd5:	80 7d d7 00          	cmpb   $0x0,-0x29(%ebp)
48fdd9:	74 07                	je     0x48fde2
48fddb:	bb 04 00 00 00       	mov    $0x4,%ebx
48fde0:	eb 1f                	jmp    0x48fe01
48fde2:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
48fde6:	74 07                	je     0x48fdef
48fde8:	bb 03 00 00 00       	mov    $0x3,%ebx
48fded:	eb 12                	jmp    0x48fe01
48fdef:	80 7d f7 00          	cmpb   $0x0,-0x9(%ebp)
48fdf3:	74 07                	je     0x48fdfc
48fdf5:	bb 02 00 00 00       	mov    $0x2,%ebx
48fdfa:	eb 05                	jmp    0x48fe01
48fdfc:	bb 01 00 00 00       	mov    $0x1,%ebx
48fe01:	6a 00                	push   $0x0
48fe03:	8d 45 b8             	lea    -0x48(%ebp),%eax
48fe06:	50                   	push   %eax
48fe07:	53                   	push   %ebx
48fe08:	6a 02                	push   $0x2
48fe0a:	8b 45 f8             	mov    -0x8(%ebp),%eax
48fe0d:	e8 ae 8e f9 ff       	call   0x428cc0
48fe12:	50                   	push   %eax
48fe13:	a1 dc 6c 6a 00       	mov    0x6a6cdc,%eax
48fe18:	8b 00                	mov    (%eax),%eax
48fe1a:	50                   	push   %eax
48fe1b:	a1 e0 6e 6a 00       	mov    0x6a6ee0,%eax
48fe20:	8b 00                	mov    (%eax),%eax
48fe22:	ff d0                	call   *%eax
48fe24:	e9 f7 00 00 00       	jmp    0x48ff20
48fe29:	83 45 e0 02          	addl   $0x2,-0x20(%ebp)
48fe2d:	80 7d d7 00          	cmpb   $0x0,-0x29(%ebp)
48fe31:	75 64                	jne    0x48fe97
48fe33:	8a 45 ff             	mov    -0x1(%ebp),%al
48fe36:	0a 45 f7             	or     -0x9(%ebp),%al
48fe39:	74 1e                	je     0x48fe59
48fe3b:	8b 45 e0             	mov    -0x20(%ebp),%eax
48fe3e:	48                   	dec    %eax
48fe3f:	50                   	push   %eax
48fe40:	8b 55 ec             	mov    -0x14(%ebp),%edx
48fe43:	42                   	inc    %edx
48fe44:	52                   	push   %edx
48fe45:	8b 56 0c             	mov    0xc(%esi),%edx
48fe48:	52                   	push   %edx
48fe49:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
48fe4c:	49                   	dec    %ecx
48fe4d:	8b d0                	mov    %eax,%edx
48fe4f:	8b 45 f0             	mov    -0x10(%ebp),%eax
48fe52:	e8 39 90 ff ff       	call   0x488e90
48fe57:	eb 3e                	jmp    0x48fe97
48fe59:	80 7d f6 00          	cmpb   $0x0,-0xa(%ebp)
48fe5d:	74 1d                	je     0x48fe7c
48fe5f:	8b 45 e0             	mov    -0x20(%ebp),%eax
48fe62:	48                   	dec    %eax
48fe63:	50                   	push   %eax
48fe64:	8b 55 ec             	mov    -0x14(%ebp),%edx
48fe67:	52                   	push   %edx
48fe68:	68 10 00 00 80       	push   $0x80000010
48fe6d:	8b d0                	mov    %eax,%edx
48fe6f:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
48fe72:	8b 45 f0             	mov    -0x10(%ebp),%eax
48fe75:	e8 16 90 ff ff       	call   0x488e90
48fe7a:	eb 1b                	jmp    0x48fe97
48fe7c:	8b 45 e0             	mov    -0x20(%ebp),%eax
48fe7f:	48                   	dec    %eax
48fe80:	50                   	push   %eax
48fe81:	8b 55 ec             	mov    -0x14(%ebp),%edx
48fe84:	52                   	push   %edx
48fe85:	68 05 00 00 80       	push   $0x80000005
48fe8a:	8b d0                	mov    %eax,%edx
48fe8c:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
48fe8f:	8b 45 f0             	mov    -0x10(%ebp),%eax
48fe92:	e8 f9 8f ff ff       	call   0x488e90
48fe97:	8d 75 e0             	lea    -0x20(%ebp),%esi
48fe9a:	8d 7d b8             	lea    -0x48(%ebp),%edi
48fe9d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48fe9e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48fe9f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48fea0:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48fea1:	8b 45 e4             	mov    -0x1c(%ebp),%eax
48fea4:	03 45 ec             	add    -0x14(%ebp),%eax
48fea7:	40                   	inc    %eax
48fea8:	d1 f8                	sar    $1,%eax
48feaa:	79 03                	jns    0x48feaf
48feac:	83 d0 00             	adc    $0x0,%eax
48feaf:	89 45 c4             	mov    %eax,-0x3c(%ebp)
48feb2:	f6 45 cc 04          	testb  $0x4,-0x34(%ebp)
48feb6:	0f 95 45 ff          	setne  -0x1(%ebp)
48feba:	8a 45 f7             	mov    -0x9(%ebp),%al
48febd:	0a 45 ff             	or     -0x1(%ebp),%al
48fec0:	74 03                	je     0x48fec5
48fec2:	ff 4d c4             	decl   -0x3c(%ebp)
48fec5:	80 7d d7 00          	cmpb   $0x0,-0x29(%ebp)
48fec9:	75 0a                	jne    0x48fed5
48fecb:	55                   	push   %ebp
48fecc:	8d 45 b8             	lea    -0x48(%ebp),%eax
48fecf:	e8 b0 f8 ff ff       	call   0x48f784
48fed4:	59                   	pop    %ecx
48fed5:	55                   	push   %ebp
48fed6:	e8 19 f9 ff ff       	call   0x48f7f4
48fedb:	59                   	pop    %ecx
48fedc:	8d 75 e0             	lea    -0x20(%ebp),%esi
48fedf:	8d 7d b8             	lea    -0x48(%ebp),%edi
48fee2:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48fee3:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48fee4:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48fee5:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48fee6:	8b 45 e4             	mov    -0x1c(%ebp),%eax
48fee9:	03 45 ec             	add    -0x14(%ebp),%eax
48feec:	d1 f8                	sar    $1,%eax
48feee:	79 03                	jns    0x48fef3
48fef0:	83 d0 00             	adc    $0x0,%eax
48fef3:	89 45 bc             	mov    %eax,-0x44(%ebp)
48fef6:	f6 45 cc 08          	testb  $0x8,-0x34(%ebp)
48fefa:	0f 95 45 ff          	setne  -0x1(%ebp)
48fefe:	8a 45 f7             	mov    -0x9(%ebp),%al
48ff01:	0a 45 ff             	or     -0x1(%ebp),%al
48ff04:	74 03                	je     0x48ff09
48ff06:	ff 45 bc             	incl   -0x44(%ebp)
48ff09:	80 7d d7 00          	cmpb   $0x0,-0x29(%ebp)
48ff0d:	75 0a                	jne    0x48ff19
48ff0f:	55                   	push   %ebp
48ff10:	8d 45 b8             	lea    -0x48(%ebp),%eax
48ff13:	e8 6c f8 ff ff       	call   0x48f784
48ff18:	59                   	pop    %ecx
48ff19:	55                   	push   %ebp
48ff1a:	e8 95 fa ff ff       	call   0x48f9b4
48ff1f:	59                   	pop    %ecx
48ff20:	5f                   	pop    %edi
48ff21:	5e                   	pop    %esi
48ff22:	5b                   	pop    %ebx
48ff23:	8b e5                	mov    %ebp,%esp
48ff25:	5d                   	pop    %ebp
48ff26:	c2 08 00             	ret    $0x8
48ff29:	8d 40 00             	lea    0x0(%eax),%eax
48ff2c:	55                   	push   %ebp
48ff2d:	8b ec                	mov    %esp,%ebp
48ff2f:	83 c4 e4             	add    $0xffffffe4,%esp
48ff32:	53                   	push   %ebx
48ff33:	56                   	push   %esi
48ff34:	57                   	push   %edi
48ff35:	89 4d f4             	mov    %ecx,-0xc(%ebp)
48ff38:	89 55 f8             	mov    %edx,-0x8(%ebp)
48ff3b:	89 45 fc             	mov    %eax,-0x4(%ebp)
48ff3e:	8b 5d 08             	mov    0x8(%ebp),%ebx
48ff41:	8b 45 f4             	mov    -0xc(%ebp),%eax
48ff44:	8b f0                	mov    %eax,%esi
48ff46:	8d 7d e4             	lea    -0x1c(%ebp),%edi
48ff49:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48ff4a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48ff4b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48ff4c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48ff4d:	8b 45 0c             	mov    0xc(%ebp),%eax
48ff50:	50                   	push   %eax
48ff51:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
48ff54:	8b 55 f8             	mov    -0x8(%ebp),%edx
48ff57:	8b 45 fc             	mov    -0x4(%ebp),%eax
48ff5a:	8b 30                	mov    (%eax),%esi
48ff5c:	ff 56 54             	call   *0x54(%esi)
48ff5f:	ba 3c 00 00 00       	mov    $0x3c,%edx
48ff64:	8b 45 fc             	mov    -0x4(%ebp),%eax
48ff67:	8b 08                	mov    (%eax),%ecx
48ff69:	ff 91 80 00 00 00    	call   *0x80(%ecx)
48ff6f:	8b f0                	mov    %eax,%esi
48ff71:	8b fe                	mov    %esi,%edi
48ff73:	f7 df                	neg    %edi
48ff75:	57                   	push   %edi
48ff76:	8b c6                	mov    %esi,%eax
48ff78:	f7 d8                	neg    %eax
48ff7a:	57                   	push   %edi
48ff7b:	8d 45 e4             	lea    -0x1c(%ebp),%eax
48ff7e:	50                   	push   %eax
48ff7f:	e8 04 7c f7 ff       	call   0x407b88
48ff84:	8b 43 04             	mov    0x4(%ebx),%eax
48ff87:	85 c0                	test   %eax,%eax
48ff89:	7e 06                	jle    0x48ff91
48ff8b:	83 e8 02             	sub    $0x2,%eax
48ff8e:	29 45 ec             	sub    %eax,-0x14(%ebp)
48ff91:	8b 45 f8             	mov    -0x8(%ebp),%eax
48ff94:	8b 40 14             	mov    0x14(%eax),%eax
48ff97:	ba 05 00 00 80       	mov    $0x80000005,%edx
48ff9c:	e8 e3 82 f9 ff       	call   0x428284
48ffa1:	8b 45 0c             	mov    0xc(%ebp),%eax
48ffa4:	80 78 08 00          	cmpb   $0x0,0x8(%eax)
48ffa8:	74 0b                	je     0x48ffb5
48ffaa:	8d 55 e4             	lea    -0x1c(%ebp),%edx
48ffad:	8b 45 f8             	mov    -0x8(%ebp),%eax
48ffb0:	e8 47 87 f9 ff       	call   0x4286fc
48ffb5:	8b 03                	mov    (%ebx),%eax
48ffb7:	85 c0                	test   %eax,%eax
48ffb9:	7e 06                	jle    0x48ffc1
48ffbb:	83 e8 02             	sub    $0x2,%eax
48ffbe:	01 45 e4             	add    %eax,-0x1c(%ebp)
48ffc1:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
48ffc5:	7e 40                	jle    0x490007
48ffc7:	8b 45 f4             	mov    -0xc(%ebp),%eax
48ffca:	56                   	push   %esi
48ffcb:	57                   	push   %edi
48ffcc:	8b f0                	mov    %eax,%esi
48ffce:	8d 7d e4             	lea    -0x1c(%ebp),%edi
48ffd1:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48ffd2:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48ffd3:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48ffd4:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48ffd5:	5f                   	pop    %edi
48ffd6:	5e                   	pop    %esi
48ffd7:	8b c6                	mov    %esi,%eax
48ffd9:	f7 d8                	neg    %eax
48ffdb:	57                   	push   %edi
48ffdc:	f7 de                	neg    %esi
48ffde:	57                   	push   %edi
48ffdf:	8d 45 e4             	lea    -0x1c(%ebp),%eax
48ffe2:	50                   	push   %eax
48ffe3:	e8 a0 7b f7 ff       	call   0x407b88
48ffe8:	8b 45 ec             	mov    -0x14(%ebp),%eax
48ffeb:	2b 43 04             	sub    0x4(%ebx),%eax
48ffee:	89 45 e4             	mov    %eax,-0x1c(%ebp)
48fff1:	8b 45 0c             	mov    0xc(%ebp),%eax
48fff4:	50                   	push   %eax
48fff5:	8d 43 10             	lea    0x10(%ebx),%eax
48fff8:	50                   	push   %eax
48fff9:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
48fffc:	8b 55 f8             	mov    -0x8(%ebp),%edx
48ffff:	8b 45 fc             	mov    -0x4(%ebp),%eax
490002:	8b 18                	mov    (%eax),%ebx
490004:	ff 53 40             	call   *0x40(%ebx)
490007:	5f                   	pop    %edi
490008:	5e                   	pop    %esi
490009:	5b                   	pop    %ebx
49000a:	8b e5                	mov    %ebp,%esp
49000c:	5d                   	pop    %ebp
49000d:	c2 08 00             	ret    $0x8
490010:	55                   	push   %ebp
490011:	8b ec                	mov    %esp,%ebp
490013:	83 c4 d0             	add    $0xffffffd0,%esp
490016:	53                   	push   %ebx
490017:	8b d8                	mov    %eax,%ebx
490019:	8b 45 08             	mov    0x8(%ebp),%eax
49001c:	8b 40 fc             	mov    -0x4(%eax),%eax
49001f:	8b 40 10             	mov    0x10(%eax),%eax
490022:	8b d3                	mov    %ebx,%edx
490024:	e8 5b 7f f9 ff       	call   0x427f84
490029:	8b 45 08             	mov    0x8(%ebp),%eax
49002c:	8b 40 fc             	mov    -0x4(%eax),%eax
49002f:	8b 40 14             	mov    0x14(%eax),%eax
490032:	8b d3                	mov    %ebx,%edx
490034:	e8 4b 82 f9 ff       	call   0x428284
490039:	8b 45 08             	mov    0x8(%ebp),%eax
49003c:	8b 40 08             	mov    0x8(%eax),%eax
49003f:	80 78 18 00          	cmpb   $0x0,0x18(%eax)
490043:	74 7e                	je     0x4900c3
490045:	8d 4d e0             	lea    -0x20(%ebp),%ecx
490048:	8b 45 08             	mov    0x8(%ebp),%eax
49004b:	8b 50 f4             	mov    -0xc(%eax),%edx
49004e:	83 c2 02             	add    $0x2,%edx
490051:	8b 45 08             	mov    0x8(%ebp),%eax
490054:	8b 40 f8             	mov    -0x8(%eax),%eax
490057:	e8 f0 a5 f8 ff       	call   0x41a64c
49005c:	8b 45 e0             	mov    -0x20(%ebp),%eax
49005f:	89 45 e8             	mov    %eax,-0x18(%ebp)
490062:	8b 45 e4             	mov    -0x1c(%ebp),%eax
490065:	89 45 ec             	mov    %eax,-0x14(%ebp)
490068:	8d 4d d8             	lea    -0x28(%ebp),%ecx
49006b:	8b 45 08             	mov    0x8(%ebp),%eax
49006e:	8b 50 f4             	mov    -0xc(%eax),%edx
490071:	83 ea 02             	sub    $0x2,%edx
490074:	8b 45 08             	mov    0x8(%ebp),%eax
490077:	8b 40 f8             	mov    -0x8(%eax),%eax
49007a:	e8 cd a5 f8 ff       	call   0x41a64c
49007f:	8b 45 d8             	mov    -0x28(%ebp),%eax
490082:	89 45 f0             	mov    %eax,-0x10(%ebp)
490085:	8b 45 dc             	mov    -0x24(%ebp),%eax
490088:	89 45 f4             	mov    %eax,-0xc(%ebp)
49008b:	8d 4d d0             	lea    -0x30(%ebp),%ecx
49008e:	8b 45 08             	mov    0x8(%ebp),%eax
490091:	8b 50 f4             	mov    -0xc(%eax),%edx
490094:	8b 45 08             	mov    0x8(%ebp),%eax
490097:	8b 40 f8             	mov    -0x8(%eax),%eax
49009a:	83 e8 02             	sub    $0x2,%eax
49009d:	e8 aa a5 f8 ff       	call   0x41a64c
4900a2:	8b 45 d0             	mov    -0x30(%ebp),%eax
4900a5:	89 45 f8             	mov    %eax,-0x8(%ebp)
4900a8:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4900ab:	89 45 fc             	mov    %eax,-0x4(%ebp)
4900ae:	8d 55 e8             	lea    -0x18(%ebp),%edx
4900b1:	8b 45 08             	mov    0x8(%ebp),%eax
4900b4:	8b 40 fc             	mov    -0x4(%eax),%eax
4900b7:	b9 02 00 00 00       	mov    $0x2,%ecx
4900bc:	e8 3f 87 f9 ff       	call   0x428800
4900c1:	eb 7c                	jmp    0x49013f
4900c3:	8d 4d e0             	lea    -0x20(%ebp),%ecx
4900c6:	8b 45 08             	mov    0x8(%ebp),%eax
4900c9:	8b 50 f4             	mov    -0xc(%eax),%edx
4900cc:	8b 45 08             	mov    0x8(%ebp),%eax
4900cf:	8b 40 f8             	mov    -0x8(%eax),%eax
4900d2:	83 e8 02             	sub    $0x2,%eax
4900d5:	e8 72 a5 f8 ff       	call   0x41a64c
4900da:	8b 45 e0             	mov    -0x20(%ebp),%eax
4900dd:	89 45 e8             	mov    %eax,-0x18(%ebp)
4900e0:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4900e3:	89 45 ec             	mov    %eax,-0x14(%ebp)
4900e6:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4900e9:	8b 45 08             	mov    0x8(%ebp),%eax
4900ec:	8b 50 f4             	mov    -0xc(%eax),%edx
4900ef:	8b 45 08             	mov    0x8(%ebp),%eax
4900f2:	8b 40 f8             	mov    -0x8(%eax),%eax
4900f5:	83 c0 02             	add    $0x2,%eax
4900f8:	e8 4f a5 f8 ff       	call   0x41a64c
4900fd:	8b 45 d8             	mov    -0x28(%ebp),%eax
490100:	89 45 f0             	mov    %eax,-0x10(%ebp)
490103:	8b 45 dc             	mov    -0x24(%ebp),%eax
490106:	89 45 f4             	mov    %eax,-0xc(%ebp)
490109:	8d 4d d0             	lea    -0x30(%ebp),%ecx
49010c:	8b 45 08             	mov    0x8(%ebp),%eax
49010f:	8b 50 f4             	mov    -0xc(%eax),%edx
490112:	83 c2 02             	add    $0x2,%edx
490115:	8b 45 08             	mov    0x8(%ebp),%eax
490118:	8b 40 f8             	mov    -0x8(%eax),%eax
49011b:	e8 2c a5 f8 ff       	call   0x41a64c
490120:	8b 45 d0             	mov    -0x30(%ebp),%eax
490123:	89 45 f8             	mov    %eax,-0x8(%ebp)
490126:	8b 45 d4             	mov    -0x2c(%ebp),%eax
490129:	89 45 fc             	mov    %eax,-0x4(%ebp)
49012c:	8d 55 e8             	lea    -0x18(%ebp),%edx
49012f:	8b 45 08             	mov    0x8(%ebp),%eax
490132:	8b 40 fc             	mov    -0x4(%eax),%eax
490135:	b9 02 00 00 00       	mov    $0x2,%ecx
49013a:	e8 c1 86 f9 ff       	call   0x428800
49013f:	5b                   	pop    %ebx