5bdd46:	2b 45 fc             	sub    -0x4(%ebp),%eax
5bdd49:	8b 75 d8             	mov    -0x28(%ebp),%esi
5bdd4c:	8b d6                	mov    %esi,%edx
5bdd4e:	e8 f9 c8 e5 ff       	call   0x41a64c
5bdd53:	8d 45 c4             	lea    -0x3c(%ebp),%eax
5bdd56:	50                   	push   %eax
5bdd57:	8b 45 ec             	mov    -0x14(%ebp),%eax
5bdd5a:	50                   	push   %eax
5bdd5b:	8b 45 f0             	mov    -0x10(%ebp),%eax
5bdd5e:	50                   	push   %eax
5bdd5f:	8d 4d bc             	lea    -0x44(%ebp),%ecx
5bdd62:	8b 7d d4             	mov    -0x2c(%ebp),%edi
5bdd65:	8b c7                	mov    %edi,%eax
5bdd67:	2b 45 fc             	sub    -0x4(%ebp),%eax
5bdd6a:	8b d6                	mov    %esi,%edx
5bdd6c:	e8 db c8 e5 ff       	call   0x41a64c
5bdd71:	8d 45 bc             	lea    -0x44(%ebp),%eax
5bdd74:	50                   	push   %eax
5bdd75:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
5bdd78:	8b d6                	mov    %esi,%edx
5bdd7a:	8b c7                	mov    %edi,%eax
5bdd7c:	e8 cb c8 e5 ff       	call   0x41a64c
5bdd81:	8d 45 b4             	lea    -0x4c(%ebp),%eax
5bdd84:	50                   	push   %eax
5bdd85:	8d 4d ac             	lea    -0x54(%ebp),%ecx
5bdd88:	8b d6                	mov    %esi,%edx
5bdd8a:	2b 55 f8             	sub    -0x8(%ebp),%edx
5bdd8d:	8b c7                	mov    %edi,%eax
5bdd8f:	e8 b8 c8 e5 ff       	call   0x41a64c
5bdd94:	8d 45 ac             	lea    -0x54(%ebp),%eax
5bdd97:	5a                   	pop    %edx
5bdd98:	59                   	pop    %ecx
5bdd99:	e8 3e 67 04 00       	call   0x6044dc
5bdd9e:	8b 45 f0             	mov    -0x10(%ebp),%eax
5bdda1:	48                   	dec    %eax
5bdda2:	85 c0                	test   %eax,%eax
5bdda4:	0f 8c 94 00 00 00    	jl     0x5bde3e
5bddaa:	40                   	inc    %eax
5bddab:	89 45 e0             	mov    %eax,-0x20(%ebp)
5bddae:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
5bddb5:	8b 45 ec             	mov    -0x14(%ebp),%eax
5bddb8:	8b 55 e8             	mov    -0x18(%ebp),%edx
5bddbb:	8b 04 d0             	mov    (%eax,%edx,8),%eax
5bddbe:	33 d2                	xor    %edx,%edx
5bddc0:	e8 4f b6 fe ff       	call   0x5a9414
5bddc5:	89 45 e4             	mov    %eax,-0x1c(%ebp)
5bddc8:	8b 45 ec             	mov    -0x14(%ebp),%eax
5bddcb:	8b 55 e8             	mov    -0x18(%ebp),%edx
5bddce:	8b 44 d0 04          	mov    0x4(%eax,%edx,8),%eax
5bddd2:	33 d2                	xor    %edx,%edx
5bddd4:	e8 3b b6 fe ff       	call   0x5a9414
5bddd9:	8b f0                	mov    %eax,%esi
5bdddb:	8b c3                	mov    %ebx,%eax
5bdddd:	8b 10                	mov    (%eax),%edx
5bdddf:	ff 52 08             	call   *0x8(%edx)
5bdde2:	48                   	dec    %eax
5bdde3:	2b f0                	sub    %eax,%esi
5bdde5:	7f 4b                	jg     0x5bde32
5bdde7:	4e                   	dec    %esi
5bdde8:	89 75 dc             	mov    %esi,-0x24(%ebp)
5bddeb:	89 45 f4             	mov    %eax,-0xc(%ebp)
5bddee:	8b c3                	mov    %ebx,%eax
5bddf0:	8b 10                	mov    (%eax),%edx
5bddf2:	ff 52 0c             	call   *0xc(%edx)
5bddf5:	8b f0                	mov    %eax,%esi
5bddf7:	4e                   	dec    %esi
5bddf8:	8b 7d e4             	mov    -0x1c(%ebp),%edi
5bddfb:	2b fe                	sub    %esi,%edi
5bddfd:	7f 2b                	jg     0x5bde2a
5bddff:	4f                   	dec    %edi
5bde00:	6a 00                	push   $0x0
5bde02:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5bde05:	8b d6                	mov    %esi,%edx
5bde07:	8b c3                	mov    %ebx,%eax
5bde09:	e8 6e e1 03 00       	call   0x5fbf7c
5bde0e:	6a 00                	push   $0x0
5bde10:	8b c3                	mov    %ebx,%eax
5bde12:	8b 10                	mov    (%eax),%edx
5bde14:	ff 52 0c             	call   *0xc(%edx)
5bde17:	8b d0                	mov    %eax,%edx
5bde19:	2b d6                	sub    %esi,%edx
5bde1b:	4a                   	dec    %edx
5bde1c:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5bde1f:	8b c3                	mov    %ebx,%eax
5bde21:	e8 56 e1 03 00       	call   0x5fbf7c
5bde26:	4e                   	dec    %esi
5bde27:	47                   	inc    %edi
5bde28:	75 d6                	jne    0x5bde00
5bde2a:	ff 4d f4             	decl   -0xc(%ebp)
5bde2d:	ff 45 dc             	incl   -0x24(%ebp)
5bde30:	75 bc                	jne    0x5bddee
5bde32:	ff 45 e8             	incl   -0x18(%ebp)
5bde35:	ff 4d e0             	decl   -0x20(%ebp)
5bde38:	0f 85 77 ff ff ff    	jne    0x5bddb5
5bde3e:	8b 45 ec             	mov    -0x14(%ebp),%eax
5bde41:	e8 86 49 e4 ff       	call   0x4027cc
5bde46:	8b c3                	mov    %ebx,%eax
5bde48:	e8 8b 9a 03 00       	call   0x5f78d8
5bde4d:	e8 16 30 04 00       	call   0x600e68
5bde52:	5f                   	pop    %edi
5bde53:	5e                   	pop    %esi
5bde54:	5b                   	pop    %ebx
5bde55:	8b e5                	mov    %ebp,%esp
5bde57:	5d                   	pop    %ebp
5bde58:	c2 0c 00             	ret    $0xc
5bde5b:	90                   	nop
5bde5c:	55                   	push   %ebp
5bde5d:	8b ec                	mov    %esp,%ebp
5bde5f:	83 c4 cc             	add    $0xffffffcc,%esp
5bde62:	53                   	push   %ebx
5bde63:	56                   	push   %esi
5bde64:	57                   	push   %edi
5bde65:	89 4d f4             	mov    %ecx,-0xc(%ebp)
5bde68:	89 55 f8             	mov    %edx,-0x8(%ebp)
5bde6b:	89 45 fc             	mov    %eax,-0x4(%ebp)
5bde6e:	8b 45 fc             	mov    -0x4(%ebp),%eax
5bde71:	8b 10                	mov    (%eax),%edx
5bde73:	ff 52 0c             	call   *0xc(%edx)
5bde76:	85 c0                	test   %eax,%eax
5bde78:	0f 84 74 03 00 00    	je     0x5be1f2
5bde7e:	8b 45 fc             	mov    -0x4(%ebp),%eax
5bde81:	8b 10                	mov    (%eax),%edx
5bde83:	ff 52 08             	call   *0x8(%edx)
5bde86:	85 c0                	test   %eax,%eax
5bde88:	0f 84 64 03 00 00    	je     0x5be1f2
5bde8e:	b8 00 04 00 00       	mov    $0x400,%eax
5bde93:	e8 14 49 e4 ff       	call   0x4027ac
5bde98:	89 45 f0             	mov    %eax,-0x10(%ebp)
5bde9b:	b8 00 08 00 00       	mov    $0x800,%eax
5bdea0:	e8 07 49 e4 ff       	call   0x4027ac
5bdea5:	89 45 ec             	mov    %eax,-0x14(%ebp)
5bdea8:	b8 00 04 00 00       	mov    $0x400,%eax
5bdead:	e8 fa 48 e4 ff       	call   0x4027ac
5bdeb2:	89 45 d4             	mov    %eax,-0x2c(%ebp)
5bdeb5:	33 f6                	xor    %esi,%esi
5bdeb7:	8b 45 f0             	mov    -0x10(%ebp),%eax
5bdeba:	33 d2                	xor    %edx,%edx
5bdebc:	89 14 b0             	mov    %edx,(%eax,%esi,4)
5bdebf:	46                   	inc    %esi
5bdec0:	81 fe 00 01 00 00    	cmp    $0x100,%esi
5bdec6:	75 ef                	jne    0x5bdeb7
5bdec8:	8b 45 fc             	mov    -0x4(%ebp),%eax
5bdecb:	8b 10                	mov    (%eax),%edx
5bdecd:	ff 52 10             	call   *0x10(%edx)
5bded0:	2c 05                	sub    $0x5,%al
5bded2:	74 09                	je     0x5bdedd
5bded4:	2c 03                	sub    $0x3,%al
5bded6:	74 52                	je     0x5bdf2a
5bded8:	e9 9f 00 00 00       	jmp    0x5bdf7c
5bdedd:	8b 45 fc             	mov    -0x4(%ebp),%eax
5bdee0:	8b 10                	mov    (%eax),%edx
5bdee2:	ff 52 08             	call   *0x8(%edx)
5bdee5:	48                   	dec    %eax
5bdee6:	85 c0                	test   %eax,%eax
5bdee8:	0f 8c 8e 00 00 00    	jl     0x5bdf7c
5bdeee:	40                   	inc    %eax
5bdeef:	89 45 d0             	mov    %eax,-0x30(%ebp)
5bdef2:	33 f6                	xor    %esi,%esi
5bdef4:	8b d6                	mov    %esi,%edx
5bdef6:	8b 45 fc             	mov    -0x4(%ebp),%eax
5bdef9:	8b 08                	mov    (%eax),%ecx
5bdefb:	ff 11                	call   *(%ecx)
5bdefd:	8b f8                	mov    %eax,%edi
5bdeff:	03 7d f8             	add    -0x8(%ebp),%edi
5bdf02:	8b 45 fc             	mov    -0x4(%ebp),%eax
5bdf05:	8b 10                	mov    (%eax),%edx
5bdf07:	ff 52 0c             	call   *0xc(%edx)
5bdf0a:	8b d8                	mov    %eax,%ebx
5bdf0c:	4b                   	dec    %ebx
5bdf0d:	85 db                	test   %ebx,%ebx
5bdf0f:	7c 11                	jl     0x5bdf22
5bdf11:	43                   	inc    %ebx
5bdf12:	33 c0                	xor    %eax,%eax
5bdf14:	8a 07                	mov    (%edi),%al
5bdf16:	8b 55 f0             	mov    -0x10(%ebp),%edx
5bdf19:	ff 04 82             	incl   (%edx,%eax,4)
5bdf1c:	83 c7 03             	add    $0x3,%edi
5bdf1f:	4b                   	dec    %ebx
5bdf20:	75 f0                	jne    0x5bdf12
5bdf22:	46                   	inc    %esi
5bdf23:	ff 4d d0             	decl   -0x30(%ebp)
5bdf26:	75 cc                	jne    0x5bdef4
5bdf28:	eb 52                	jmp    0x5bdf7c
5bdf2a:	8b 45 fc             	mov    -0x4(%ebp),%eax
5bdf2d:	8b 10                	mov    (%eax),%edx
5bdf2f:	ff 52 08             	call   *0x8(%edx)
5bdf32:	48                   	dec    %eax
5bdf33:	85 c0                	test   %eax,%eax
5bdf35:	7c 45                	jl     0x5bdf7c
5bdf37:	40                   	inc    %eax
5bdf38:	89 45 d0             	mov    %eax,-0x30(%ebp)
5bdf3b:	33 f6                	xor    %esi,%esi
5bdf3d:	8b d6                	mov    %esi,%edx
5bdf3f:	8b 45 fc             	mov    -0x4(%ebp),%eax
5bdf42:	8b 08                	mov    (%eax),%ecx
5bdf44:	ff 11                	call   *(%ecx)
5bdf46:	8b f8                	mov    %eax,%edi
5bdf48:	b8 02 00 00 00       	mov    $0x2,%eax
5bdf4d:	2b 45 f8             	sub    -0x8(%ebp),%eax
5bdf50:	03 c0                	add    %eax,%eax
5bdf52:	03 f8                	add    %eax,%edi
5bdf54:	8b 45 fc             	mov    -0x4(%ebp),%eax
5bdf57:	8b 10                	mov    (%eax),%edx
5bdf59:	ff 52 0c             	call   *0xc(%edx)
5bdf5c:	8b d8                	mov    %eax,%ebx
5bdf5e:	4b                   	dec    %ebx
5bdf5f:	85 db                	test   %ebx,%ebx
5bdf61:	7c 13                	jl     0x5bdf76
5bdf63:	43                   	inc    %ebx
5bdf64:	0f b7 07             	movzwl (%edi),%eax
5bdf67:	c1 e8 08             	shr    $0x8,%eax
5bdf6a:	8b 55 f0             	mov    -0x10(%ebp),%edx
5bdf6d:	ff 04 82             	incl   (%edx,%eax,4)
5bdf70:	83 c7 06             	add    $0x6,%edi
5bdf73:	4b                   	dec    %ebx
5bdf74:	75 ee                	jne    0x5bdf64
5bdf76:	46                   	inc    %esi
5bdf77:	ff 4d d0             	decl   -0x30(%ebp)
5bdf7a:	75 c1                	jne    0x5bdf3d
5bdf7c:	33 db                	xor    %ebx,%ebx
5bdf7e:	8b 45 fc             	mov    -0x4(%ebp),%eax
5bdf81:	8b 10                	mov    (%eax),%edx
5bdf83:	ff 52 0c             	call   *0xc(%edx)
5bdf86:	8b f0                	mov    %eax,%esi
5bdf88:	8b 45 fc             	mov    -0x4(%ebp),%eax
5bdf8b:	8b 10                	mov    (%eax),%edx
5bdf8d:	ff 52 08             	call   *0x8(%edx)
5bdf90:	0f af f0             	imul   %eax,%esi
5bdf93:	89 75 cc             	mov    %esi,-0x34(%ebp)
5bdf96:	db 45 cc             	fildl  -0x34(%ebp)
5bdf99:	d8 3d fc e1 5b 00    	fdivrs 0x5be1fc
5bdf9f:	dd 5d e0             	fstpl  -0x20(%ebp)
5bdfa2:	9b                   	fwait
5bdfa3:	33 f6                	xor    %esi,%esi
5bdfa5:	8b 45 f0             	mov    -0x10(%ebp),%eax
5bdfa8:	03 1c b0             	add    (%eax,%esi,4),%ebx
5bdfab:	89 5d cc             	mov    %ebx,-0x34(%ebp)
5bdfae:	db 45 cc             	fildl  -0x34(%ebp)
5bdfb1:	dc 4d e0             	fmull  -0x20(%ebp)
5bdfb4:	8b 45 ec             	mov    -0x14(%ebp),%eax
5bdfb7:	dd 1c f0             	fstpl  (%eax,%esi,8)
5bdfba:	9b                   	fwait
5bdfbb:	46                   	inc    %esi
5bdfbc:	81 fe 00 01 00 00    	cmp    $0x100,%esi
5bdfc2:	75 e1                	jne    0x5bdfa5
5bdfc4:	8b 45 fc             	mov    -0x4(%ebp),%eax
5bdfc7:	8b 10                	mov    (%eax),%edx
5bdfc9:	ff 52 10             	call   *0x10(%edx)
5bdfcc:	2c 05                	sub    $0x5,%al
5bdfce:	74 09                	je     0x5bdfd9
5bdfd0:	2c 03                	sub    $0x3,%al
5bdfd2:	74 59                	je     0x5be02d
5bdfd4:	e9 b5 00 00 00       	jmp    0x5be08e
5bdfd9:	8b 45 fc             	mov    -0x4(%ebp),%eax
5bdfdc:	8b 10                	mov    (%eax),%edx
5bdfde:	ff 52 08             	call   *0x8(%edx)
5bdfe1:	48                   	dec    %eax
5bdfe2:	85 c0                	test   %eax,%eax
5bdfe4:	0f 8c a4 00 00 00    	jl     0x5be08e
5bdfea:	40                   	inc    %eax
5bdfeb:	89 45 d0             	mov    %eax,-0x30(%ebp)
5bdfee:	33 f6                	xor    %esi,%esi
5bdff0:	8b d6                	mov    %esi,%edx
5bdff2:	8b 45 fc             	mov    -0x4(%ebp),%eax
5bdff5:	8b 08                	mov    (%eax),%ecx
5bdff7:	ff 11                	call   *(%ecx)
5bdff9:	8b f8                	mov    %eax,%edi
5bdffb:	03 7d f8             	add    -0x8(%ebp),%edi
5bdffe:	8b 45 fc             	mov    -0x4(%ebp),%eax
5be001:	8b 10                	mov    (%eax),%edx
5be003:	ff 52 0c             	call   *0xc(%edx)
5be006:	8b d8                	mov    %eax,%ebx
5be008:	4b                   	dec    %ebx
5be009:	85 db                	test   %ebx,%ebx
5be00b:	7c 18                	jl     0x5be025
5be00d:	43                   	inc    %ebx
5be00e:	33 c0                	xor    %eax,%eax
5be010:	8a 07                	mov    (%edi),%al
5be012:	8b 55 ec             	mov    -0x14(%ebp),%edx
5be015:	dd 04 c2             	fldl   (%edx,%eax,8)
5be018:	e8 af 4c e4 ff       	call   0x402ccc
5be01d:	88 07                	mov    %al,(%edi)
5be01f:	83 c7 03             	add    $0x3,%edi
5be022:	4b                   	dec    %ebx
5be023:	75 e9                	jne    0x5be00e
5be025:	46                   	inc    %esi
5be026:	ff 4d d0             	decl   -0x30(%ebp)
5be029:	75 c5                	jne    0x5bdff0
5be02b:	eb 61                	jmp    0x5be08e
5be02d:	8b 45 fc             	mov    -0x4(%ebp),%eax
5be030:	8b 10                	mov    (%eax),%edx
5be032:	ff 52 08             	call   *0x8(%edx)
5be035:	48                   	dec    %eax
5be036:	85 c0                	test   %eax,%eax
5be038:	7c 54                	jl     0x5be08e
5be03a:	40                   	inc    %eax
5be03b:	89 45 d0             	mov    %eax,-0x30(%ebp)
5be03e:	33 f6                	xor    %esi,%esi
5be040:	8b d6                	mov    %esi,%edx
5be042:	8b 45 fc             	mov    -0x4(%ebp),%eax
5be045:	8b 08                	mov    (%eax),%ecx
5be047:	ff 11                	call   *(%ecx)
5be049:	8b f8                	mov    %eax,%edi
5be04b:	b8 02 00 00 00       	mov    $0x2,%eax
5be050:	2b 45 f8             	sub    -0x8(%ebp),%eax
5be053:	03 c0                	add    %eax,%eax
5be055:	03 f8                	add    %eax,%edi
5be057:	8b 45 fc             	mov    -0x4(%ebp),%eax
5be05a:	8b 10                	mov    (%eax),%edx
5be05c:	ff 52 0c             	call   *0xc(%edx)
5be05f:	8b d8                	mov    %eax,%ebx
5be061:	4b                   	dec    %ebx
5be062:	85 db                	test   %ebx,%ebx
5be064:	7c 22                	jl     0x5be088
5be066:	43                   	inc    %ebx
5be067:	0f b7 07             	movzwl (%edi),%eax
5be06a:	c1 e8 08             	shr    $0x8,%eax
5be06d:	8b 55 ec             	mov    -0x14(%ebp),%edx
5be070:	dd 04 c2             	fldl   (%edx,%eax,8)
5be073:	e8 54 4c e4 ff       	call   0x402ccc
5be078:	8b d0                	mov    %eax,%edx
5be07a:	c1 e0 08             	shl    $0x8,%eax
5be07d:	03 c2                	add    %edx,%eax
5be07f:	66 89 07             	mov    %ax,(%edi)
5be082:	83 c7 06             	add    $0x6,%edi
5be085:	4b                   	dec    %ebx
5be086:	75 df                	jne    0x5be067
5be088:	46                   	inc    %esi
5be089:	ff 4d d0             	decl   -0x30(%ebp)
5be08c:	75 b2                	jne    0x5be040
5be08e:	33 db                	xor    %ebx,%ebx
5be090:	db 45 08             	fildl  0x8(%ebp)
5be093:	d8 3d fc e1 5b 00    	fdivrs 0x5be1fc
5be099:	dd 5d e0             	fstpl  -0x20(%ebp)
5be09c:	9b                   	fwait
5be09d:	33 f6                	xor    %esi,%esi
5be09f:	8b 45 f4             	mov    -0xc(%ebp),%eax
5be0a2:	03 18                	add    (%eax),%ebx
5be0a4:	89 5d cc             	mov    %ebx,-0x34(%ebp)
5be0a7:	db 45 cc             	fildl  -0x34(%ebp)
5be0aa:	dc 4d e0             	fmull  -0x20(%ebp)
5be0ad:	8b 55 ec             	mov    -0x14(%ebp),%edx
5be0b0:	dd 1c f2             	fstpl  (%edx,%esi,8)
5be0b3:	9b                   	fwait
5be0b4:	46                   	inc    %esi
5be0b5:	83 c0 04             	add    $0x4,%eax
5be0b8:	81 fe 00 01 00 00    	cmp    $0x100,%esi
5be0be:	75 e2                	jne    0x5be0a2
5be0c0:	33 f6                	xor    %esi,%esi
5be0c2:	89 75 cc             	mov    %esi,-0x34(%ebp)