5bad7a:	33 d2                	xor    %edx,%edx
5bad7c:	8b 45 18             	mov    0x18(%ebp),%eax
5bad7f:	e8 90 e6 fe ff       	call   0x5a9414
5bad84:	5a                   	pop    %edx
5bad85:	e8 92 e6 fe ff       	call   0x5a941c
5bad8a:	89 45 18             	mov    %eax,0x18(%ebp)
5bad8d:	8b 45 fc             	mov    -0x4(%ebp),%eax
5bad90:	8b 10                	mov    (%eax),%edx
5bad92:	ff 52 08             	call   *0x8(%edx)
5bad95:	48                   	dec    %eax
5bad96:	50                   	push   %eax
5bad97:	33 d2                	xor    %edx,%edx
5bad99:	8b 45 14             	mov    0x14(%ebp),%eax
5bad9c:	e8 73 e6 fe ff       	call   0x5a9414
5bada1:	5a                   	pop    %edx
5bada2:	e8 75 e6 fe ff       	call   0x5a941c
5bada7:	89 45 14             	mov    %eax,0x14(%ebp)
5badaa:	8b 45 fc             	mov    -0x4(%ebp),%eax
5badad:	8b 10                	mov    (%eax),%edx
5badaf:	ff 52 0c             	call   *0xc(%edx)
5badb2:	48                   	dec    %eax
5badb3:	50                   	push   %eax
5badb4:	33 d2                	xor    %edx,%edx
5badb6:	8b 45 10             	mov    0x10(%ebp),%eax
5badb9:	e8 56 e6 fe ff       	call   0x5a9414
5badbe:	5a                   	pop    %edx
5badbf:	e8 58 e6 fe ff       	call   0x5a941c
5badc4:	89 45 10             	mov    %eax,0x10(%ebp)
5badc7:	8b 45 fc             	mov    -0x4(%ebp),%eax
5badca:	8b 10                	mov    (%eax),%edx
5badcc:	ff 52 08             	call   *0x8(%edx)
5badcf:	48                   	dec    %eax
5badd0:	50                   	push   %eax
5badd1:	33 d2                	xor    %edx,%edx
5badd3:	8b 45 0c             	mov    0xc(%ebp),%eax
5badd6:	e8 39 e6 fe ff       	call   0x5a9414
5baddb:	5a                   	pop    %edx
5baddc:	e8 3b e6 fe ff       	call   0x5a941c
5bade1:	89 45 0c             	mov    %eax,0xc(%ebp)
5bade4:	8b 45 fc             	mov    -0x4(%ebp),%eax
5bade7:	8b 10                	mov    (%eax),%edx
5bade9:	ff 52 10             	call   *0x10(%edx)
5badec:	fe c8                	dec    %al
5badee:	0f 84 96 00 00 00    	je     0x5bae8a
5badf4:	2c 04                	sub    $0x4,%al
5badf6:	0f 85 02 01 00 00    	jne    0x5baefe
5badfc:	8b 45 14             	mov    0x14(%ebp),%eax
5badff:	8b 55 0c             	mov    0xc(%ebp),%edx
5bae02:	2b d0                	sub    %eax,%edx
5bae04:	0f 8c f4 00 00 00    	jl     0x5baefe
5bae0a:	42                   	inc    %edx
5bae0b:	89 55 c8             	mov    %edx,-0x38(%ebp)
5bae0e:	89 45 e4             	mov    %eax,-0x1c(%ebp)
5bae11:	8b 55 e4             	mov    -0x1c(%ebp),%edx
5bae14:	8b 45 ec             	mov    -0x14(%ebp),%eax
5bae17:	8b 08                	mov    (%eax),%ecx
5bae19:	ff 11                	call   *(%ecx)
5bae1b:	8b d8                	mov    %eax,%ebx
5bae1d:	03 5d 18             	add    0x18(%ebp),%ebx
5bae20:	8b 45 fc             	mov    -0x4(%ebp),%eax
5bae23:	e8 b0 ca 03 00       	call   0x5f78d8
5bae28:	8b 55 e4             	mov    -0x1c(%ebp),%edx
5bae2b:	8b 08                	mov    (%eax),%ecx
5bae2d:	ff 11                	call   *(%ecx)
5bae2f:	8b f0                	mov    %eax,%esi
5bae31:	03 75 18             	add    0x18(%ebp),%esi
5bae34:	8b 55 e4             	mov    -0x1c(%ebp),%edx
5bae37:	8b 45 fc             	mov    -0x4(%ebp),%eax
5bae3a:	8b 08                	mov    (%eax),%ecx
5bae3c:	ff 11                	call   *(%ecx)
5bae3e:	89 45 dc             	mov    %eax,-0x24(%ebp)
5bae41:	8b 45 18             	mov    0x18(%ebp),%eax
5bae44:	8d 04 40             	lea    (%eax,%eax,2),%eax
5bae47:	01 45 dc             	add    %eax,-0x24(%ebp)
5bae4a:	8b 45 18             	mov    0x18(%ebp),%eax
5bae4d:	8b 7d 10             	mov    0x10(%ebp),%edi
5bae50:	2b f8                	sub    %eax,%edi
5bae52:	7c 2c                	jl     0x5bae80
5bae54:	47                   	inc    %edi
5bae55:	8a 03                	mov    (%ebx),%al
5bae57:	84 c0                	test   %al,%al
5bae59:	75 1a                	jne    0x5bae75
5bae5b:	3a 06                	cmp    (%esi),%al
5bae5d:	74 16                	je     0x5bae75
5bae5f:	8b 45 dc             	mov    -0x24(%ebp),%eax
5bae62:	8a 55 08             	mov    0x8(%ebp),%dl
5bae65:	88 50 02             	mov    %dl,0x2(%eax)
5bae68:	8a 55 08             	mov    0x8(%ebp),%dl
5bae6b:	88 50 01             	mov    %dl,0x1(%eax)
5bae6e:	8a 55 08             	mov    0x8(%ebp),%dl
5bae71:	88 10                	mov    %dl,(%eax)
5bae73:	eb 02                	jmp    0x5bae77
5bae75:	88 06                	mov    %al,(%esi)
5bae77:	43                   	inc    %ebx
5bae78:	46                   	inc    %esi
5bae79:	83 45 dc 03          	addl   $0x3,-0x24(%ebp)
5bae7d:	4f                   	dec    %edi
5bae7e:	75 d5                	jne    0x5bae55
5bae80:	ff 45 e4             	incl   -0x1c(%ebp)
5bae83:	ff 4d c8             	decl   -0x38(%ebp)
5bae86:	75 89                	jne    0x5bae11
5bae88:	eb 74                	jmp    0x5baefe
5bae8a:	8b 45 14             	mov    0x14(%ebp),%eax
5bae8d:	8b 55 0c             	mov    0xc(%ebp),%edx
5bae90:	2b d0                	sub    %eax,%edx
5bae92:	7c 6a                	jl     0x5baefe
5bae94:	42                   	inc    %edx
5bae95:	89 55 c8             	mov    %edx,-0x38(%ebp)
5bae98:	89 45 e4             	mov    %eax,-0x1c(%ebp)
5bae9b:	8b 55 e4             	mov    -0x1c(%ebp),%edx
5bae9e:	8b 45 ec             	mov    -0x14(%ebp),%eax
5baea1:	8b 08                	mov    (%eax),%ecx
5baea3:	ff 11                	call   *(%ecx)
5baea5:	8b d8                	mov    %eax,%ebx
5baea7:	8b 45 fc             	mov    -0x4(%ebp),%eax
5baeaa:	e8 29 ca 03 00       	call   0x5f78d8
5baeaf:	8b 55 e4             	mov    -0x1c(%ebp),%edx
5baeb2:	8b 08                	mov    (%eax),%ecx
5baeb4:	ff 11                	call   *(%ecx)
5baeb6:	8b f0                	mov    %eax,%esi
5baeb8:	8b 55 e4             	mov    -0x1c(%ebp),%edx
5baebb:	8b 45 fc             	mov    -0x4(%ebp),%eax
5baebe:	8b 08                	mov    (%eax),%ecx
5baec0:	ff 11                	call   *(%ecx)
5baec2:	89 45 e0             	mov    %eax,-0x20(%ebp)
5baec5:	8b 45 18             	mov    0x18(%ebp),%eax
5baec8:	8b 7d 10             	mov    0x10(%ebp),%edi
5baecb:	2b f8                	sub    %eax,%edi
5baecd:	7c 27                	jl     0x5baef6
5baecf:	47                   	inc    %edi
5baed0:	89 45 e8             	mov    %eax,-0x18(%ebp)
5baed3:	8a 03                	mov    (%ebx),%al
5baed5:	84 c0                	test   %al,%al
5baed7:	75 13                	jne    0x5baeec
5baed9:	3a 06                	cmp    (%esi),%al
5baedb:	74 0f                	je     0x5baeec
5baedd:	33 c9                	xor    %ecx,%ecx
5baedf:	8b 55 e8             	mov    -0x18(%ebp),%edx
5baee2:	8b 45 e0             	mov    -0x20(%ebp),%eax
5baee5:	e8 32 4c ff ff       	call   0x5afb1c
5baeea:	eb 02                	jmp    0x5baeee
5baeec:	88 06                	mov    %al,(%esi)
5baeee:	43                   	inc    %ebx
5baeef:	46                   	inc    %esi
5baef0:	ff 45 e8             	incl   -0x18(%ebp)
5baef3:	4f                   	dec    %edi
5baef4:	75 dd                	jne    0x5baed3
5baef6:	ff 45 e4             	incl   -0x1c(%ebp)
5baef9:	ff 4d c8             	decl   -0x38(%ebp)
5baefc:	75 9d                	jne    0x5bae9b
5baefe:	8b 45 ec             	mov    -0x14(%ebp),%eax
5baf01:	e8 72 8b e4 ff       	call   0x403a78
5baf06:	8b 45 f0             	mov    -0x10(%ebp),%eax
5baf09:	5f                   	pop    %edi
5baf0a:	5e                   	pop    %esi
5baf0b:	5b                   	pop    %ebx
5baf0c:	8b e5                	mov    %ebp,%esp
5baf0e:	5d                   	pop    %ebp
5baf0f:	c2 1c 00             	ret    $0x1c
5baf1a:	a0 40 55 8b ec       	mov    0xec8b5540,%al
5baf1f:	53                   	push   %ebx
5baf20:	56                   	push   %esi
5baf21:	57                   	push   %edi
5baf22:	8b f9                	mov    %ecx,%edi
5baf24:	8b f2                	mov    %edx,%esi
5baf26:	8b d8                	mov    %eax,%ebx
5baf28:	8b 45 08             	mov    0x8(%ebp),%eax
5baf2b:	8b 40 fc             	mov    -0x4(%eax),%eax
5baf2e:	48                   	dec    %eax
5baf2f:	3b d8                	cmp    %eax,%ebx
5baf31:	7f 32                	jg     0x5baf65
5baf33:	85 db                	test   %ebx,%ebx
5baf35:	7c 2e                	jl     0x5baf65
5baf37:	8b 45 08             	mov    0x8(%ebp),%eax
5baf3a:	8b 40 f8             	mov    -0x8(%eax),%eax
5baf3d:	48                   	dec    %eax
5baf3e:	3b f0                	cmp    %eax,%esi
5baf40:	7f 23                	jg     0x5baf65
5baf42:	85 f6                	test   %esi,%esi
5baf44:	7c 1f                	jl     0x5baf65
5baf46:	8b 45 08             	mov    0x8(%ebp),%eax
5baf49:	8b 40 f4             	mov    -0xc(%eax),%eax
5baf4c:	8b d6                	mov    %esi,%edx
5baf4e:	8b 08                	mov    (%eax),%ecx
5baf50:	ff 11                	call   *(%ecx)
5baf52:	8d 14 5b             	lea    (%ebx,%ebx,2),%edx
5baf55:	66 8b 0c 10          	mov    (%eax,%edx,1),%cx
5baf59:	66 89 0f             	mov    %cx,(%edi)
5baf5c:	8a 4c 10 02          	mov    0x2(%eax,%edx,1),%cl
5baf60:	88 4f 02             	mov    %cl,0x2(%edi)
5baf63:	eb 10                	jmp    0x5baf75
5baf65:	8b 45 08             	mov    0x8(%ebp),%eax
5baf68:	66 8b 50 f1          	mov    -0xf(%eax),%dx
5baf6c:	66 89 17             	mov    %dx,(%edi)
5baf6f:	8a 50 f3             	mov    -0xd(%eax),%dl
5baf72:	88 57 02             	mov    %dl,0x2(%edi)
5baf75:	5f                   	pop    %edi
5baf76:	5e                   	pop    %esi
5baf77:	5b                   	pop    %ebx
5baf78:	5d                   	pop    %ebp
5baf79:	c3                   	ret
5baf7a:	8b c0                	mov    %eax,%eax
5baf7c:	55                   	push   %ebp
5baf7d:	8b ec                	mov    %esp,%ebp
5baf7f:	83 c4 cc             	add    $0xffffffcc,%esp
5baf82:	53                   	push   %ebx
5baf83:	56                   	push   %esi
5baf84:	57                   	push   %edi
5baf85:	8b f8                	mov    %eax,%edi
5baf87:	dd 45 10             	fldl   0x10(%ebp)
5baf8a:	e8 3d 7d e4 ff       	call   0x402ccc
5baf8f:	8b d8                	mov    %eax,%ebx
5baf91:	dd 45 08             	fldl   0x8(%ebp)
5baf94:	e8 33 7d e4 ff       	call   0x402ccc
5baf99:	8b f0                	mov    %eax,%esi
5baf9b:	dd 45 10             	fldl   0x10(%ebp)
5baf9e:	83 c4 f4             	add    $0xfffffff4,%esp
5bafa1:	db 3c 24             	fstpt  (%esp)
5bafa4:	9b                   	fwait
5bafa5:	e8 36 e3 fe ff       	call   0x5a92e0
5bafaa:	89 45 d0             	mov    %eax,-0x30(%ebp)
5bafad:	db 45 d0             	fildl  -0x30(%ebp)
5bafb0:	dc 6d 10             	fsubrl 0x10(%ebp)
5bafb3:	dd 5d f8             	fstpl  -0x8(%ebp)
5bafb6:	9b dd 45 08          	fldl   0x8(%ebp)
5bafba:	83 c4 f4             	add    $0xfffffff4,%esp
5bafbd:	db 3c 24             	fstpt  (%esp)
5bafc0:	9b                   	fwait
5bafc1:	e8 1a e3 fe ff       	call   0x5a92e0
5bafc6:	89 45 d0             	mov    %eax,-0x30(%ebp)
5bafc9:	db 45 d0             	fildl  -0x30(%ebp)
5bafcc:	dc 6d 08             	fsubrl 0x8(%ebp)
5bafcf:	dd 5d f0             	fstpl  -0x10(%ebp)
5bafd2:	9b                   	fwait
5bafd3:	8b 45 18             	mov    0x18(%ebp),%eax
5bafd6:	50                   	push   %eax
5bafd7:	8d 4d dd             	lea    -0x23(%ebp),%ecx
5bafda:	8b d6                	mov    %esi,%edx
5bafdc:	8b c3                	mov    %ebx,%eax
5bafde:	e8 39 ff ff ff       	call   0x5baf1c
5bafe3:	59                   	pop    %ecx
5bafe4:	8b 45 18             	mov    0x18(%ebp),%eax
5bafe7:	50                   	push   %eax
5bafe8:	8d 4d da             	lea    -0x26(%ebp),%ecx
5bafeb:	8d 43 01             	lea    0x1(%ebx),%eax
5bafee:	8b d6                	mov    %esi,%edx
5baff0:	e8 27 ff ff ff       	call   0x5baf1c
5baff5:	59                   	pop    %ecx
5baff6:	8b 45 18             	mov    0x18(%ebp),%eax
5baff9:	50                   	push   %eax
5baffa:	8d 4d d7             	lea    -0x29(%ebp),%ecx
5baffd:	8d 56 01             	lea    0x1(%esi),%edx
5bb000:	8b c3                	mov    %ebx,%eax
5bb002:	e8 15 ff ff ff       	call   0x5baf1c
5bb007:	59                   	pop    %ecx
5bb008:	8b 45 18             	mov    0x18(%ebp),%eax
5bb00b:	50                   	push   %eax
5bb00c:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
5bb00f:	8d 56 01             	lea    0x1(%esi),%edx
5bb012:	8d 43 01             	lea    0x1(%ebx),%eax
5bb015:	e8 02 ff ff ff       	call   0x5baf1c
5bb01a:	59                   	pop    %ecx
5bb01b:	33 d2                	xor    %edx,%edx
5bb01d:	8a 55 dc             	mov    -0x24(%ebp),%dl
5bb020:	8a 45 df             	mov    -0x21(%ebp),%al
5bb023:	33 c9                	xor    %ecx,%ecx
5bb025:	8a c8                	mov    %al,%cl
5bb027:	2b d1                	sub    %ecx,%edx
5bb029:	89 55 d0             	mov    %edx,-0x30(%ebp)
5bb02c:	db 45 d0             	fildl  -0x30(%ebp)
5bb02f:	dc 4d f8             	fmull  -0x8(%ebp)
5bb032:	25 ff 00 00 00       	and    $0xff,%eax
5bb037:	89 45 cc             	mov    %eax,-0x34(%ebp)
5bb03a:	db 45 cc             	fildl  -0x34(%ebp)
5bb03d:	de c1                	faddp  %st,%st(1)
5bb03f:	dd 5d e8             	fstpl  -0x18(%ebp)
5bb042:	9b                   	fwait
5bb043:	33 d2                	xor    %edx,%edx
5bb045:	8a 55 d6             	mov    -0x2a(%ebp),%dl
5bb048:	8a 45 d9             	mov    -0x27(%ebp),%al
5bb04b:	33 c9                	xor    %ecx,%ecx
5bb04d:	8a c8                	mov    %al,%cl
5bb04f:	2b d1                	sub    %ecx,%edx
5bb051:	89 55 d0             	mov    %edx,-0x30(%ebp)
5bb054:	db 45 d0             	fildl  -0x30(%ebp)
5bb057:	dc 4d f8             	fmull  -0x8(%ebp)
5bb05a:	25 ff 00 00 00       	and    $0xff,%eax
5bb05f:	89 45 cc             	mov    %eax,-0x34(%ebp)
5bb062:	db 45 cc             	fildl  -0x34(%ebp)
5bb065:	de c1                	faddp  %st,%st(1)
5bb067:	dd 5d e0             	fstpl  -0x20(%ebp)
5bb06a:	9b dd 45 e0          	fldl   -0x20(%ebp)
5bb06e:	dc 65 e8             	fsubl  -0x18(%ebp)
5bb071:	dc 4d f0             	fmull  -0x10(%ebp)
5bb074:	dc 45 e8             	faddl  -0x18(%ebp)
5bb077:	e8 50 7c e4 ff       	call   0x402ccc
5bb07c:	8b d8                	mov    %eax,%ebx
5bb07e:	33 c0                	xor    %eax,%eax
5bb080:	8a 45 db             	mov    -0x25(%ebp),%al
5bb083:	33 d2                	xor    %edx,%edx
5bb085:	8a 55 de             	mov    -0x22(%ebp),%dl
5bb088:	2b c2                	sub    %edx,%eax
5bb08a:	89 45 d0             	mov    %eax,-0x30(%ebp)
5bb08d:	db 45 d0             	fildl  -0x30(%ebp)
5bb090:	dc 4d f8             	fmull  -0x8(%ebp)
5bb093:	33 c0                	xor    %eax,%eax
5bb095:	8a 45 de             	mov    -0x22(%ebp),%al
5bb098:	89 45 cc             	mov    %eax,-0x34(%ebp)
5bb09b:	db 45 cc             	fildl  -0x34(%ebp)
5bb09e:	de c1                	faddp  %st,%st(1)
5bb0a0:	dd 5d e8             	fstpl  -0x18(%ebp)
5bb0a3:	9b                   	fwait
5bb0a4:	33 c0                	xor    %eax,%eax
5bb0a6:	8a 45 d5             	mov    -0x2b(%ebp),%al
5bb0a9:	33 d2                	xor    %edx,%edx
5bb0ab:	8a 55 d8             	mov    -0x28(%ebp),%dl
5bb0ae:	2b c2                	sub    %edx,%eax
5bb0b0:	89 45 d0             	mov    %eax,-0x30(%ebp)
5bb0b3:	db 45 d0             	fildl  -0x30(%ebp)
5bb0b6:	dc 4d f8             	fmull  -0x8(%ebp)
5bb0b9:	33 c0                	xor    %eax,%eax
5bb0bb:	8a 45 d8             	mov    -0x28(%ebp),%al
5bb0be:	89 45 cc             	mov    %eax,-0x34(%ebp)
5bb0c1:	db 45 cc             	fildl  -0x34(%ebp)
5bb0c4:	de c1                	faddp  %st,%st(1)
5bb0c6:	dd 5d e0             	fstpl  -0x20(%ebp)
5bb0c9:	9b dd 45 e0          	fldl   -0x20(%ebp)
5bb0cd:	dc 65 e8             	fsubl  -0x18(%ebp)
5bb0d0:	dc 4d f0             	fmull  -0x10(%ebp)
5bb0d3:	dc 45 e8             	faddl  -0x18(%ebp)
5bb0d6:	e8 f1 7b e4 ff       	call   0x402ccc
5bb0db:	8b f0                	mov    %eax,%esi
5bb0dd:	33 c0                	xor    %eax,%eax
5bb0df:	8a 45 da             	mov    -0x26(%ebp),%al
5bb0e2:	33 d2                	xor    %edx,%edx
5bb0e4:	8a 55 dd             	mov    -0x23(%ebp),%dl
5bb0e7:	2b c2                	sub    %edx,%eax
5bb0e9:	89 45 d0             	mov    %eax,-0x30(%ebp)
5bb0ec:	db 45 d0             	fildl  -0x30(%ebp)
5bb0ef:	dc 4d f8             	fmull  -0x8(%ebp)
5bb0f2:	33 c0                	xor    %eax,%eax
5bb0f4:	8a 45 dd             	mov    -0x23(%ebp),%al
5bb0f7:	89 45 cc             	mov    %eax,-0x34(%ebp)
5bb0fa:	db 45 cc             	fildl  -0x34(%ebp)
5bb0fd:	de c1                	faddp  %st,%st(1)
5bb0ff:	dd 5d e8             	fstpl  -0x18(%ebp)
5bb102:	9b                   	fwait
5bb103:	33 c0                	xor    %eax,%eax
5bb105:	8a 45 d4             	mov    -0x2c(%ebp),%al
5bb108:	33 d2                	xor    %edx,%edx