5fde86:	7f 43                	jg     0x5fdecb
5fde88:	55                   	push   %ebp
5fde89:	8b ec                	mov    %esp,%ebp
5fde8b:	83 c4 b4             	add    $0xffffffb4,%esp
5fde8e:	53                   	push   %ebx
5fde8f:	56                   	push   %esi
5fde90:	57                   	push   %edi
5fde91:	89 55 f8             	mov    %edx,-0x8(%ebp)
5fde94:	89 45 fc             	mov    %eax,-0x4(%ebp)
5fde97:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fde9a:	dd 40 58             	fldl   0x58(%eax)
5fde9d:	e8 2a 4e e0 ff       	call   0x402ccc
5fdea2:	89 45 cc             	mov    %eax,-0x34(%ebp)
5fdea5:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fdea8:	dd 40 60             	fldl   0x60(%eax)
5fdeab:	e8 1c 4e e0 ff       	call   0x402ccc
5fdeb0:	89 45 c8             	mov    %eax,-0x38(%ebp)
5fdeb3:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fdeb6:	dd 40 60             	fldl   0x60(%eax)
5fdeb9:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fdebc:	dc 60 58             	fsubl  0x58(%eax)
5fdebf:	dd 5d c0             	fstpl  -0x40(%ebp)
5fdec2:	9b                   	fwait
5fdec3:	8b 45 38             	mov    0x38(%ebp),%eax
5fdec6:	89 45 f0             	mov    %eax,-0x10(%ebp)
5fdec9:	8b 45 34             	mov    0x34(%ebp),%eax
5fdecc:	89 45 f4             	mov    %eax,-0xc(%ebp)
5fdecf:	8b 45 1c             	mov    0x1c(%ebp),%eax
5fded2:	8b 55 14             	mov    0x14(%ebp),%edx
5fded5:	2b d0                	sub    %eax,%edx
5fded7:	0f 8c 88 01 00 00    	jl     0x5fe065
5fdedd:	42                   	inc    %edx
5fdede:	89 55 bc             	mov    %edx,-0x44(%ebp)
5fdee1:	89 45 ec             	mov    %eax,-0x14(%ebp)
5fdee4:	8b 45 f8             	mov    -0x8(%ebp),%eax
5fdee7:	8b 55 ec             	mov    -0x14(%ebp),%edx
5fdeea:	8b 04 90             	mov    (%eax,%edx,4),%eax
5fdeed:	89 45 e4             	mov    %eax,-0x1c(%ebp)
5fdef0:	8b 45 20             	mov    0x20(%ebp),%eax
5fdef3:	8d 04 40             	lea    (%eax,%eax,2),%eax
5fdef6:	01 45 e4             	add    %eax,-0x1c(%ebp)
5fdef9:	8b 45 f4             	mov    -0xc(%ebp),%eax
5fdefc:	8b 10                	mov    (%eax),%edx
5fdefe:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fdf01:	8b 08                	mov    (%eax),%ecx
5fdf03:	ff 11                	call   *(%ecx)
5fdf05:	89 45 d0             	mov    %eax,-0x30(%ebp)
5fdf08:	80 7d 40 00          	cmpb   $0x0,0x40(%ebp)
5fdf0c:	74 16                	je     0x5fdf24
5fdf0e:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fdf11:	e8 c2 99 ff ff       	call   0x5f78d8
5fdf16:	8b 55 f4             	mov    -0xc(%ebp),%edx
5fdf19:	8b 12                	mov    (%edx),%edx
5fdf1b:	8b 08                	mov    (%eax),%ecx
5fdf1d:	ff 11                	call   *(%ecx)
5fdf1f:	89 45 dc             	mov    %eax,-0x24(%ebp)
5fdf22:	eb 06                	jmp    0x5fdf2a
5fdf24:	8b 45 3c             	mov    0x3c(%ebp),%eax
5fdf27:	89 45 dc             	mov    %eax,-0x24(%ebp)
5fdf2a:	8b 5d f0             	mov    -0x10(%ebp),%ebx
5fdf2d:	dd 45 c0             	fldl   -0x40(%ebp)
5fdf30:	d8 1d 70 e0 5f 00    	fcomps 0x5fe070
5fdf36:	df e0                	fnstsw %ax
5fdf38:	9e                   	sahf
5fdf39:	75 79                	jne    0x5fdfb4
5fdf3b:	8b 45 20             	mov    0x20(%ebp),%eax
5fdf3e:	8b 55 18             	mov    0x18(%ebp),%edx
5fdf41:	2b d0                	sub    %eax,%edx
5fdf43:	0f 8c 0c 01 00 00    	jl     0x5fe055
5fdf49:	42                   	inc    %edx
5fdf4a:	89 55 b8             	mov    %edx,-0x48(%ebp)
5fdf4d:	8b 03                	mov    (%ebx),%eax
5fdf4f:	8b 55 dc             	mov    -0x24(%ebp),%edx
5fdf52:	0f b6 14 02          	movzbl (%edx,%eax,1),%edx
5fdf56:	8b 45 44             	mov    0x44(%ebp),%eax
5fdf59:	e8 be b4 fa ff       	call   0x5a941c
5fdf5e:	8b f0                	mov    %eax,%esi
5fdf60:	c1 e6 0a             	shl    $0xa,%esi
5fdf63:	8b 03                	mov    (%ebx),%eax
5fdf65:	8b 55 d0             	mov    -0x30(%ebp),%edx
5fdf68:	0f b6 3c 02          	movzbl (%edx,%eax,1),%edi
5fdf6c:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5fdf6f:	33 d2                	xor    %edx,%edx
5fdf71:	8a 50 02             	mov    0x2(%eax),%dl
5fdf74:	8b cf                	mov    %edi,%ecx
5fdf76:	2b ca                	sub    %edx,%ecx
5fdf78:	0f af ce             	imul   %esi,%ecx
5fdf7b:	c1 e9 12             	shr    $0x12,%ecx
5fdf7e:	00 48 02             	add    %cl,0x2(%eax)
5fdf81:	33 d2                	xor    %edx,%edx
5fdf83:	8a 50 01             	mov    0x1(%eax),%dl
5fdf86:	8b cf                	mov    %edi,%ecx
5fdf88:	2b ca                	sub    %edx,%ecx
5fdf8a:	0f af ce             	imul   %esi,%ecx
5fdf8d:	c1 e9 12             	shr    $0x12,%ecx
5fdf90:	00 48 01             	add    %cl,0x1(%eax)
5fdf93:	33 d2                	xor    %edx,%edx
5fdf95:	8a 10                	mov    (%eax),%dl
5fdf97:	8b cf                	mov    %edi,%ecx
5fdf99:	2b ca                	sub    %edx,%ecx
5fdf9b:	0f af ce             	imul   %esi,%ecx
5fdf9e:	c1 e9 12             	shr    $0x12,%ecx
5fdfa1:	00 08                	add    %cl,(%eax)
5fdfa3:	83 45 e4 03          	addl   $0x3,-0x1c(%ebp)
5fdfa7:	83 c3 04             	add    $0x4,%ebx
5fdfaa:	ff 4d b8             	decl   -0x48(%ebp)
5fdfad:	75 9e                	jne    0x5fdf4d
5fdfaf:	e9 a1 00 00 00       	jmp    0x5fe055
5fdfb4:	8b 45 20             	mov    0x20(%ebp),%eax
5fdfb7:	8b 55 18             	mov    0x18(%ebp),%edx
5fdfba:	2b d0                	sub    %eax,%edx
5fdfbc:	0f 8c 93 00 00 00    	jl     0x5fe055
5fdfc2:	42                   	inc    %edx
5fdfc3:	89 55 b8             	mov    %edx,-0x48(%ebp)
5fdfc6:	8b 03                	mov    (%ebx),%eax
5fdfc8:	8b 55 dc             	mov    -0x24(%ebp),%edx
5fdfcb:	0f b6 14 02          	movzbl (%edx,%eax,1),%edx
5fdfcf:	8b 45 44             	mov    0x44(%ebp),%eax
5fdfd2:	e8 45 b4 fa ff       	call   0x5a941c
5fdfd7:	8b f0                	mov    %eax,%esi
5fdfd9:	c1 e6 0a             	shl    $0xa,%esi
5fdfdc:	8b 03                	mov    (%ebx),%eax
5fdfde:	8b 55 d0             	mov    -0x30(%ebp),%edx
5fdfe1:	0f b6 3c 02          	movzbl (%edx,%eax,1),%edi
5fdfe5:	3b 7d cc             	cmp    -0x34(%ebp),%edi
5fdfe8:	7f 03                	jg     0x5fdfed
5fdfea:	8b 7d cc             	mov    -0x34(%ebp),%edi
5fdfed:	3b 7d c8             	cmp    -0x38(%ebp),%edi
5fdff0:	7c 03                	jl     0x5fdff5
5fdff2:	8b 7d c8             	mov    -0x38(%ebp),%edi
5fdff5:	2b 7d cc             	sub    -0x34(%ebp),%edi
5fdff8:	89 7d b4             	mov    %edi,-0x4c(%ebp)
5fdffb:	db 45 b4             	fildl  -0x4c(%ebp)
5fdffe:	dc 75 c0             	fdivl  -0x40(%ebp)
5fe001:	d8 0d 74 e0 5f 00    	fmuls  0x5fe074
5fe007:	e8 c0 4c e0 ff       	call   0x402ccc
5fe00c:	8b f8                	mov    %eax,%edi
5fe00e:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5fe011:	33 d2                	xor    %edx,%edx
5fe013:	8a 50 02             	mov    0x2(%eax),%dl
5fe016:	8b cf                	mov    %edi,%ecx
5fe018:	2b ca                	sub    %edx,%ecx
5fe01a:	0f af ce             	imul   %esi,%ecx
5fe01d:	c1 e9 12             	shr    $0x12,%ecx
5fe020:	00 48 02             	add    %cl,0x2(%eax)
5fe023:	33 d2                	xor    %edx,%edx
5fe025:	8a 50 01             	mov    0x1(%eax),%dl
5fe028:	8b cf                	mov    %edi,%ecx
5fe02a:	2b ca                	sub    %edx,%ecx
5fe02c:	0f af ce             	imul   %esi,%ecx
5fe02f:	c1 e9 12             	shr    $0x12,%ecx
5fe032:	00 48 01             	add    %cl,0x1(%eax)
5fe035:	33 d2                	xor    %edx,%edx
5fe037:	8a 10                	mov    (%eax),%dl
5fe039:	8b cf                	mov    %edi,%ecx
5fe03b:	2b ca                	sub    %edx,%ecx
5fe03d:	0f af ce             	imul   %esi,%ecx
5fe040:	c1 e9 12             	shr    $0x12,%ecx
5fe043:	00 08                	add    %cl,(%eax)
5fe045:	83 45 e4 03          	addl   $0x3,-0x1c(%ebp)
5fe049:	83 c3 04             	add    $0x4,%ebx
5fe04c:	ff 4d b8             	decl   -0x48(%ebp)
5fe04f:	0f 85 71 ff ff ff    	jne    0x5fdfc6
5fe055:	83 45 f4 04          	addl   $0x4,-0xc(%ebp)
5fe059:	ff 45 ec             	incl   -0x14(%ebp)
5fe05c:	ff 4d bc             	decl   -0x44(%ebp)
5fe05f:	0f 85 7f fe ff ff    	jne    0x5fdee4
5fe065:	5f                   	pop    %edi
5fe066:	5e                   	pop    %esi
5fe067:	5b                   	pop    %ebx
5fe068:	8b e5                	mov    %ebp,%esp
5fe06a:	5d                   	pop    %ebp
5fe06b:	c2 40 00             	ret    $0x40
5fe076:	7f 43                	jg     0x5fe0bb
5fe078:	55                   	push   %ebp
5fe079:	8b ec                	mov    %esp,%ebp
5fe07b:	83 c4 c8             	add    $0xffffffc8,%esp
5fe07e:	53                   	push   %ebx
5fe07f:	56                   	push   %esi
5fe080:	57                   	push   %edi
5fe081:	89 55 f8             	mov    %edx,-0x8(%ebp)
5fe084:	89 45 fc             	mov    %eax,-0x4(%ebp)
5fe087:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fe08a:	dd 40 58             	fldl   0x58(%eax)
5fe08d:	e8 3a 4c e0 ff       	call   0x402ccc
5fe092:	89 45 e0             	mov    %eax,-0x20(%ebp)
5fe095:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fe098:	dd 40 60             	fldl   0x60(%eax)
5fe09b:	e8 2c 4c e0 ff       	call   0x402ccc
5fe0a0:	89 45 dc             	mov    %eax,-0x24(%ebp)
5fe0a3:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fe0a6:	dd 40 60             	fldl   0x60(%eax)
5fe0a9:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fe0ac:	dc 60 58             	fsubl  0x58(%eax)
5fe0af:	dd 5d d0             	fstpl  -0x30(%ebp)
5fe0b2:	9b                   	fwait
5fe0b3:	8b 45 38             	mov    0x38(%ebp),%eax
5fe0b6:	89 45 f0             	mov    %eax,-0x10(%ebp)
5fe0b9:	8b 45 34             	mov    0x34(%ebp),%eax
5fe0bc:	89 45 f4             	mov    %eax,-0xc(%ebp)
5fe0bf:	8b 45 1c             	mov    0x1c(%ebp),%eax
5fe0c2:	8b 55 14             	mov    0x14(%ebp),%edx
5fe0c5:	2b d0                	sub    %eax,%edx
5fe0c7:	0f 8c cf 00 00 00    	jl     0x5fe19c
5fe0cd:	42                   	inc    %edx
5fe0ce:	89 55 cc             	mov    %edx,-0x34(%ebp)
5fe0d1:	89 45 ec             	mov    %eax,-0x14(%ebp)
5fe0d4:	8b 45 f8             	mov    -0x8(%ebp),%eax
5fe0d7:	8b 55 ec             	mov    -0x14(%ebp),%edx
5fe0da:	8b 04 90             	mov    (%eax,%edx,4),%eax
5fe0dd:	89 45 e8             	mov    %eax,-0x18(%ebp)
5fe0e0:	8b 45 20             	mov    0x20(%ebp),%eax
5fe0e3:	8d 04 40             	lea    (%eax,%eax,2),%eax
5fe0e6:	01 45 e8             	add    %eax,-0x18(%ebp)
5fe0e9:	8b 45 f4             	mov    -0xc(%ebp),%eax
5fe0ec:	8b 10                	mov    (%eax),%edx
5fe0ee:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fe0f1:	8b 08                	mov    (%eax),%ecx
5fe0f3:	ff 11                	call   *(%ecx)
5fe0f5:	89 45 e4             	mov    %eax,-0x1c(%ebp)
5fe0f8:	8b 7d f0             	mov    -0x10(%ebp),%edi
5fe0fb:	dd 45 d0             	fldl   -0x30(%ebp)
5fe0fe:	d8 1d a8 e1 5f 00    	fcomps 0x5fe1a8
5fe104:	df e0                	fnstsw %ax
5fe106:	9e                   	sahf
5fe107:	75 31                	jne    0x5fe13a
5fe109:	8b 45 20             	mov    0x20(%ebp),%eax
5fe10c:	8b 75 18             	mov    0x18(%ebp),%esi
5fe10f:	2b f0                	sub    %eax,%esi
5fe111:	7c 79                	jl     0x5fe18c
5fe113:	46                   	inc    %esi
5fe114:	8b 45 e8             	mov    -0x18(%ebp),%eax
5fe117:	8b 17                	mov    (%edi),%edx
5fe119:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
5fe11c:	0f b7 14 51          	movzwl (%ecx,%edx,2),%edx
5fe120:	c1 ea 08             	shr    $0x8,%edx
5fe123:	88 50 02             	mov    %dl,0x2(%eax)
5fe126:	88 50 01             	mov    %dl,0x1(%eax)
5fe129:	8a 50 02             	mov    0x2(%eax),%dl
5fe12c:	88 10                	mov    %dl,(%eax)
5fe12e:	83 45 e8 03          	addl   $0x3,-0x18(%ebp)
5fe132:	83 c7 04             	add    $0x4,%edi
5fe135:	4e                   	dec    %esi
5fe136:	75 dc                	jne    0x5fe114
5fe138:	eb 52                	jmp    0x5fe18c
5fe13a:	8b 45 20             	mov    0x20(%ebp),%eax
5fe13d:	8b 75 18             	mov    0x18(%ebp),%esi
5fe140:	2b f0                	sub    %eax,%esi
5fe142:	7c 48                	jl     0x5fe18c
5fe144:	46                   	inc    %esi
5fe145:	8b 07                	mov    (%edi),%eax
5fe147:	8b 55 e4             	mov    -0x1c(%ebp),%edx
5fe14a:	0f b7 1c 42          	movzwl (%edx,%eax,2),%ebx
5fe14e:	3b 5d e0             	cmp    -0x20(%ebp),%ebx
5fe151:	7f 03                	jg     0x5fe156
5fe153:	8b 5d e0             	mov    -0x20(%ebp),%ebx
5fe156:	3b 5d dc             	cmp    -0x24(%ebp),%ebx
5fe159:	7c 03                	jl     0x5fe15e
5fe15b:	8b 5d dc             	mov    -0x24(%ebp),%ebx
5fe15e:	2b 5d e0             	sub    -0x20(%ebp),%ebx
5fe161:	89 5d c8             	mov    %ebx,-0x38(%ebp)
5fe164:	db 45 c8             	fildl  -0x38(%ebp)
5fe167:	dc 75 d0             	fdivl  -0x30(%ebp)
5fe16a:	d8 0d ac e1 5f 00    	fmuls  0x5fe1ac
5fe170:	e8 57 4b e0 ff       	call   0x402ccc
5fe175:	8b d8                	mov    %eax,%ebx
5fe177:	8b 45 e8             	mov    -0x18(%ebp),%eax
5fe17a:	88 58 02             	mov    %bl,0x2(%eax)
5fe17d:	88 58 01             	mov    %bl,0x1(%eax)
5fe180:	88 18                	mov    %bl,(%eax)
5fe182:	83 45 e8 03          	addl   $0x3,-0x18(%ebp)
5fe186:	83 c7 04             	add    $0x4,%edi
5fe189:	4e                   	dec    %esi
5fe18a:	75 b9                	jne    0x5fe145
5fe18c:	83 45 f4 04          	addl   $0x4,-0xc(%ebp)
5fe190:	ff 45 ec             	incl   -0x14(%ebp)
5fe193:	ff 4d cc             	decl   -0x34(%ebp)
5fe196:	0f 85 38 ff ff ff    	jne    0x5fe0d4
5fe19c:	5f                   	pop    %edi
5fe19d:	5e                   	pop    %esi
5fe19e:	5b                   	pop    %ebx
5fe19f:	8b e5                	mov    %ebp,%esp
5fe1a1:	5d                   	pop    %ebp
5fe1a2:	c2 34 00             	ret    $0x34
5fe1ad:	00 7f 43             	add    %bh,0x43(%edi)
5fe1b0:	55                   	push   %ebp
5fe1b1:	8b ec                	mov    %esp,%ebp
5fe1b3:	83 c4 ac             	add    $0xffffffac,%esp
5fe1b6:	53                   	push   %ebx
5fe1b7:	56                   	push   %esi
5fe1b8:	57                   	push   %edi
5fe1b9:	89 55 f8             	mov    %edx,-0x8(%ebp)
5fe1bc:	89 45 fc             	mov    %eax,-0x4(%ebp)
5fe1bf:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fe1c2:	dd 40 58             	fldl   0x58(%eax)
5fe1c5:	e8 02 4b e0 ff       	call   0x402ccc
5fe1ca:	89 45 c8             	mov    %eax,-0x38(%ebp)
5fe1cd:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fe1d0:	dd 40 60             	fldl   0x60(%eax)
5fe1d3:	e8 f4 4a e0 ff       	call   0x402ccc
5fe1d8:	89 45 c4             	mov    %eax,-0x3c(%ebp)
5fe1db:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fe1de:	dd 40 60             	fldl   0x60(%eax)
5fe1e1:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fe1e4:	dc 60 58             	fsubl  0x58(%eax)
5fe1e7:	dd 5d b8             	fstpl  -0x48(%ebp)
5fe1ea:	9b                   	fwait
5fe1eb:	8b 45 38             	mov    0x38(%ebp),%eax
5fe1ee:	89 45 f0             	mov    %eax,-0x10(%ebp)
5fe1f1:	8b 45 34             	mov    0x34(%ebp),%eax
5fe1f4:	89 45 f4             	mov    %eax,-0xc(%ebp)
5fe1f7:	8b 45 1c             	mov    0x1c(%ebp),%eax
5fe1fa:	8b 55 14             	mov    0x14(%ebp),%edx
5fe1fd:	2b d0                	sub    %eax,%edx
5fe1ff:	0f 8c 8b 01 00 00    	jl     0x5fe390
5fe205:	42                   	inc    %edx
5fe206:	89 55 b4             	mov    %edx,-0x4c(%ebp)
5fe209:	89 45 ec             	mov    %eax,-0x14(%ebp)
5fe20c:	8b 45 f8             	mov    -0x8(%ebp),%eax
5fe20f:	8b 55 ec             	mov    -0x14(%ebp),%edx
5fe212:	8b 04 90             	mov    (%eax,%edx,4),%eax
5fe215:	89 45 e4             	mov    %eax,-0x1c(%ebp)
5fe218:	8b 45 20             	mov    0x20(%ebp),%eax
5fe21b:	8d 04 40             	lea    (%eax,%eax,2),%eax
5fe21e:	01 45 e4             	add    %eax,-0x1c(%ebp)
5fe221:	8b 45 f4             	mov    -0xc(%ebp),%eax
5fe224:	8b 10                	mov    (%eax),%edx
5fe226:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fe229:	8b 08                	mov    (%eax),%ecx
5fe22b:	ff 11                	call   *(%ecx)
5fe22d:	89 45 d0             	mov    %eax,-0x30(%ebp)
5fe230:	80 7d 40 00          	cmpb   $0x0,0x40(%ebp)
5fe234:	74 16                	je     0x5fe24c
5fe236:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fe239:	e8 9a 96 ff ff       	call   0x5f78d8
5fe23e:	8b 55 f4             	mov    -0xc(%ebp),%edx
5fe241:	8b 12                	mov    (%edx),%edx
5fe243:	8b 08                	mov    (%eax),%ecx
5fe245:	ff 11                	call   *(%ecx)
5fe247:	89 45 dc             	mov    %eax,-0x24(%ebp)
5fe24a:	eb 06                	jmp    0x5fe252
5fe24c:	8b 45 3c             	mov    0x3c(%ebp),%eax
5fe24f:	89 45 dc             	mov    %eax,-0x24(%ebp)
5fe252:	8b 5d f0             	mov    -0x10(%ebp),%ebx
5fe255:	dd 45 b8             	fldl   -0x48(%ebp)
5fe258:	d8 1d 9c e3 5f 00    	fcomps 0x5fe39c
5fe25e:	df e0                	fnstsw %ax
5fe260:	9e                   	sahf
5fe261:	75 7c                	jne    0x5fe2df
5fe263:	8b 45 20             	mov    0x20(%ebp),%eax