41bd29:	5f                   	pop    %edi
41bd2a:	6a 00                	push   $0x0
41bd2c:	53                   	push   %ebx
41bd2d:	8d 44 24 6c          	lea    0x6c(%esp),%eax
41bd31:	50                   	push   %eax
41bd32:	56                   	push   %esi
41bd33:	89 bc 24 80 00 00 00 	mov    %edi,0x80(%esp)
41bd3a:	e8 91 6c ff ff       	call   0x4129d0
41bd3f:	83 c4 1c             	add    $0x1c,%esp
41bd42:	8d 4c 24 58          	lea    0x58(%esp),%ecx
41bd46:	e8 d5 6e ff ff       	call   0x412c20
41bd4b:	df ac 24 90 00 00 00 	fildll 0x90(%esp)
41bd52:	53                   	push   %ebx
41bd53:	53                   	push   %ebx
41bd54:	dd 5c 24 18          	fstpl  0x18(%esp)
41bd58:	8d 44 24 40          	lea    0x40(%esp),%eax
41bd5c:	dd 44 24 18          	fldl   0x18(%esp)
41bd60:	83 64 24 48 00       	andl   $0x0,0x48(%esp)
41bd65:	dc 0d e8 26 4b 00    	fmull  0x4b26e8
41bd6b:	50                   	push   %eax
41bd6c:	56                   	push   %esi
41bd6d:	89 7c 24 54          	mov    %edi,0x54(%esp)
41bd71:	dd 5c 24 48          	fstpl  0x48(%esp)
41bd75:	e8 56 6c ff ff       	call   0x4129d0
41bd7a:	83 c4 10             	add    $0x10,%esp
41bd7d:	8d 4c 24 38          	lea    0x38(%esp),%ecx
41bd81:	e8 9a 6e ff ff       	call   0x412c20
41bd86:	df ac 24 98 00 00 00 	fildll 0x98(%esp)
41bd8d:	6a 02                	push   $0x2
41bd8f:	53                   	push   %ebx
41bd90:	dd 5c 24 18          	fstpl  0x18(%esp)
41bd94:	8d 84 24 80 00 00 00 	lea    0x80(%esp),%eax
41bd9b:	dd 44 24 18          	fldl   0x18(%esp)
41bd9f:	83 a4 24 88 00 00 00 	andl   $0x0,0x88(%esp)
41bda6:	00
41bda7:	dc 0d e8 26 4b 00    	fmull  0x4b26e8
41bdad:	50                   	push   %eax
41bdae:	56                   	push   %esi
41bdaf:	89 bc 24 94 00 00 00 	mov    %edi,0x94(%esp)
41bdb6:	dd 9c 24 88 00 00 00 	fstpl  0x88(%esp)
41bdbd:	e8 0e 6c ff ff       	call   0x4129d0
41bdc2:	83 c4 10             	add    $0x10,%esp
41bdc5:	8d 4c 24 78          	lea    0x78(%esp),%ecx
41bdc9:	e8 52 6e ff ff       	call   0x412c20
41bdce:	df ac 24 a0 00 00 00 	fildll 0xa0(%esp)
41bdd5:	57                   	push   %edi
41bdd6:	53                   	push   %ebx
41bdd7:	dd 5c 24 18          	fstpl  0x18(%esp)
41bddb:	8d 44 24 20          	lea    0x20(%esp),%eax
41bddf:	dd 44 24 18          	fldl   0x18(%esp)
41bde3:	83 64 24 28 00       	andl   $0x0,0x28(%esp)
41bde8:	dc 0d e8 26 4b 00    	fmull  0x4b26e8
41bdee:	50                   	push   %eax
41bdef:	56                   	push   %esi
41bdf0:	89 7c 24 34          	mov    %edi,0x34(%esp)
41bdf4:	dd 5c 24 28          	fstpl  0x28(%esp)
41bdf8:	e8 d3 6b ff ff       	call   0x4129d0
41bdfd:	83 c4 10             	add    $0x10,%esp
41be00:	8d 4c 24 18          	lea    0x18(%esp),%ecx
41be04:	e8 17 6e ff ff       	call   0x412c20
41be09:	df ac 24 a8 00 00 00 	fildll 0xa8(%esp)
41be10:	6a 04                	push   $0x4
41be12:	53                   	push   %ebx
41be13:	dd 5c 24 18          	fstpl  0x18(%esp)
41be17:	8d 44 24 30          	lea    0x30(%esp),%eax
41be1b:	dd 44 24 18          	fldl   0x18(%esp)
41be1f:	83 64 24 38 00       	andl   $0x0,0x38(%esp)
41be24:	dc 0d e8 26 4b 00    	fmull  0x4b26e8
41be2a:	50                   	push   %eax
41be2b:	56                   	push   %esi
41be2c:	89 7c 24 44          	mov    %edi,0x44(%esp)
41be30:	dd 5c 24 38          	fstpl  0x38(%esp)
41be34:	e8 97 6b ff ff       	call   0x4129d0
41be39:	83 c4 10             	add    $0x10,%esp
41be3c:	8d 4c 24 28          	lea    0x28(%esp),%ecx
41be40:	e8 db 6d ff ff       	call   0x412c20
41be45:	df ac 24 b0 00 00 00 	fildll 0xb0(%esp)
41be4c:	dd 5c 24 10          	fstpl  0x10(%esp)
41be50:	dd 44 24 10          	fldl   0x10(%esp)
41be54:	dc 0d e8 26 4b 00    	fmull  0x4b26e8
41be5a:	83 64 24 50 00       	andl   $0x0,0x50(%esp)
41be5f:	6a 05                	push   $0x5
41be61:	53                   	push   %ebx
41be62:	8d 44 24 50          	lea    0x50(%esp),%eax
41be66:	dd 5c 24 50          	fstpl  0x50(%esp)
41be6a:	50                   	push   %eax
41be6b:	56                   	push   %esi
41be6c:	89 7c 24 64          	mov    %edi,0x64(%esp)
41be70:	e8 5b 6b ff ff       	call   0x4129d0
41be75:	83 c4 10             	add    $0x10,%esp
41be78:	8d 4c 24 48          	lea    0x48(%esp),%ecx
41be7c:	e8 9f 6d ff ff       	call   0x412c20
41be81:	df ac 24 b8 00 00 00 	fildll 0xb8(%esp)
41be88:	6a 06                	push   $0x6
41be8a:	53                   	push   %ebx
41be8b:	dd 5c 24 18          	fstpl  0x18(%esp)
41be8f:	8d 44 24 70          	lea    0x70(%esp),%eax
41be93:	dd 44 24 18          	fldl   0x18(%esp)
41be97:	83 64 24 78 00       	andl   $0x0,0x78(%esp)
41be9c:	dc 0d e8 26 4b 00    	fmull  0x4b26e8
41bea2:	50                   	push   %eax
41bea3:	56                   	push   %esi
41bea4:	89 bc 24 84 00 00 00 	mov    %edi,0x84(%esp)
41beab:	dd 5c 24 78          	fstpl  0x78(%esp)
41beaf:	e8 1c 6b ff ff       	call   0x4129d0
41beb4:	83 c4 10             	add    $0x10,%esp
41beb7:	8d 4c 24 68          	lea    0x68(%esp),%ecx
41bebb:	e8 60 6d ff ff       	call   0x412c20
41bec0:	5f                   	pop    %edi
41bec1:	5e                   	pop    %esi
41bec2:	33 c0                	xor    %eax,%eax
41bec4:	5b                   	pop    %ebx
41bec5:	8b e5                	mov    %ebp,%esp
41bec7:	5d                   	pop    %ebp
41bec8:	c2 08 00             	ret    $0x8
41becb:	55                   	push   %ebp
41becc:	8b ec                	mov    %esp,%ebp
41bece:	83 ec 28             	sub    $0x28,%esp
41bed1:	53                   	push   %ebx
41bed2:	56                   	push   %esi
41bed3:	8b 75 0c             	mov    0xc(%ebp),%esi
41bed6:	33 db                	xor    %ebx,%ebx
41bed8:	ff 06                	incl   (%esi)
41beda:	8b 16                	mov    (%esi),%edx
41bedc:	57                   	push   %edi
41bedd:	8b 7d 08             	mov    0x8(%ebp),%edi
41bee0:	89 4d f8             	mov    %ecx,-0x8(%ebp)
41bee3:	89 5d dc             	mov    %ebx,-0x24(%ebp)
41bee6:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
41bee9:	c7 45 e8 01 00 00 00 	movl   $0x1,-0x18(%ebp)
41bef0:	3b 57 08             	cmp    0x8(%edi),%edx
41bef3:	0f 83 ff 00 00 00    	jae    0x41bff8
41bef9:	c7 45 f4 4e 00 00 00 	movl   $0x4e,-0xc(%ebp)
41bf00:	8b 4d 10             	mov    0x10(%ebp),%ecx
41bf03:	53                   	push   %ebx
41bf04:	e8 16 01 00 00       	call   0x41c01f
41bf09:	8b 4d 18             	mov    0x18(%ebp),%ecx
41bf0c:	3b c8                	cmp    %eax,%ecx
41bf0e:	0f 8f d7 ae 05 00    	jg     0x476deb
41bf14:	8b 77 04             	mov    0x4(%edi),%esi
41bf17:	8b 34 96             	mov    (%esi,%edx,4),%esi
41bf1a:	0f b7 76 08          	movzwl 0x8(%esi),%esi
41bf1e:	66 3b 75 f4          	cmp    -0xc(%ebp),%si
41bf22:	89 75 f0             	mov    %esi,-0x10(%ebp)
41bf25:	8b 75 0c             	mov    0xc(%ebp),%esi
41bf28:	0f 84 70 ae 05 00    	je     0x476d9e
41bf2e:	3b c8                	cmp    %eax,%ecx
41bf30:	0f 8c a6 ae 05 00    	jl     0x476ddc
41bf36:	8b 77 04             	mov    0x4(%edi),%esi
41bf39:	6a 4f                	push   $0x4f
41bf3b:	8b 04 96             	mov    (%esi,%edx,4),%eax
41bf3e:	8b 75 0c             	mov    0xc(%ebp),%esi
41bf41:	0f bf 40 0a          	movswl 0xa(%eax),%eax
41bf45:	89 45 ec             	mov    %eax,-0x14(%ebp)
41bf48:	58                   	pop    %eax
41bf49:	66 39 45 f0          	cmp    %ax,-0x10(%ebp)
41bf4d:	0f 84 70 ae 05 00    	je     0x476dc3
41bf53:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41bf56:	6a ff                	push   $0xffffffff
41bf58:	8d 45 dc             	lea    -0x24(%ebp),%eax
41bf5b:	50                   	push   %eax
41bf5c:	56                   	push   %esi
41bf5d:	57                   	push   %edi
41bf5e:	e8 cd 3e ff ff       	call   0x40fe30
41bf63:	85 c0                	test   %eax,%eax
41bf65:	0f 88 8d 00 00 00    	js     0x41bff8
41bf6b:	8b 4d 10             	mov    0x10(%ebp),%ecx
41bf6e:	e8 e9 01 00 00       	call   0x41c15c
41bf73:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
41bf77:	89 5d f0             	mov    %ebx,-0x10(%ebp)
41bf7a:	7e 20                	jle    0x41bf9c
41bf7c:	8b 75 18             	mov    0x18(%ebp),%esi
41bf7f:	8b fb                	mov    %ebx,%edi
41bf81:	8b 5d 14             	mov    0x14(%ebp),%ebx
41bf84:	ff 34 bb             	push   (%ebx,%edi,4)
41bf87:	8b 4d 10             	mov    0x10(%ebp),%ecx
41bf8a:	e8 e8 01 00 00       	call   0x41c177
41bf8f:	47                   	inc    %edi
41bf90:	3b fe                	cmp    %esi,%edi
41bf92:	7c f0                	jl     0x41bf84
41bf94:	8b 75 0c             	mov    0xc(%ebp),%esi
41bf97:	8b 7d 08             	mov    0x8(%ebp),%edi
41bf9a:	33 db                	xor    %ebx,%ebx
41bf9c:	53                   	push   %ebx
41bf9d:	53                   	push   %ebx
41bf9e:	ff 75 10             	push   0x10(%ebp)
41bfa1:	e8 ea 5b ff ff       	call   0x411b90
41bfa6:	83 c4 0c             	add    $0xc,%esp
41bfa9:	85 c0                	test   %eax,%eax
41bfab:	74 68                	je     0x41c015
41bfad:	8d 4d dc             	lea    -0x24(%ebp),%ecx
41bfb0:	51                   	push   %ecx
41bfb1:	8b c8                	mov    %eax,%ecx
41bfb3:	e8 f6 1c ff ff       	call   0x40dcae
41bfb8:	8b 4d 18             	mov    0x18(%ebp),%ecx
41bfbb:	8b 16                	mov    (%esi),%edx
41bfbd:	8b 47 04             	mov    0x4(%edi),%eax
41bfc0:	8b 04 90             	mov    (%eax,%edx,4),%eax
41bfc3:	66 83 78 08 40       	cmpw   $0x40,0x8(%eax)
41bfc8:	75 15                	jne    0x41bfdf
41bfca:	8b 45 14             	mov    0x14(%ebp),%eax
41bfcd:	ff 44 88 fc          	incl   -0x4(%eax,%ecx,4)
41bfd1:	42                   	inc    %edx
41bfd2:	89 16                	mov    %edx,(%esi)
41bfd4:	3b 57 08             	cmp    0x8(%edi),%edx
41bfd7:	0f 82 23 ff ff ff    	jb     0x41bf00
41bfdd:	eb 19                	jmp    0x41bff8
41bfdf:	8b 47 04             	mov    0x4(%edi),%eax
41bfe2:	8b ca                	mov    %edx,%ecx
41bfe4:	6a 4f                	push   $0x4f
41bfe6:	8b 04 88             	mov    (%eax,%ecx,4),%eax
41bfe9:	5a                   	pop    %edx
41bfea:	66 39 50 08          	cmp    %dx,0x8(%eax)
41bfee:	75 19                	jne    0x41c009
41bff0:	8d 41 01             	lea    0x1(%ecx),%eax
41bff3:	33 db                	xor    %ebx,%ebx
41bff5:	89 06                	mov    %eax,(%esi)
41bff7:	43                   	inc    %ebx
41bff8:	8d 4d dc             	lea    -0x24(%ebp),%ecx
41bffb:	e8 20 6c ff ff       	call   0x412c20
41c000:	5f                   	pop    %edi
41c001:	5e                   	pop    %esi
41c002:	8a c3                	mov    %bl,%al
41c004:	5b                   	pop    %ebx
41c005:	c9                   	leave
41c006:	c2 14 00             	ret    $0x14
41c009:	0f bf 40 0a          	movswl 0xa(%eax),%eax
41c00d:	50                   	push   %eax
41c00e:	6a 6b                	push   $0x6b
41c010:	e9 e3 ad 05 00       	jmp    0x476df8
41c015:	ff 75 ec             	push   -0x14(%ebp)
41c018:	6a 7a                	push   $0x7a
41c01a:	e9 d9 ad 05 00       	jmp    0x476df8
41c01f:	55                   	push   %ebp
41c020:	8b ec                	mov    %esp,%ebp
41c022:	8b 09                	mov    (%ecx),%ecx
41c024:	85 c9                	test   %ecx,%ecx
41c026:	74 15                	je     0x41c03d
41c028:	8b 45 08             	mov    0x8(%ebp),%eax
41c02b:	85 c0                	test   %eax,%eax
41c02d:	0f 85 53 89 05 00    	jne    0x474986
41c033:	8b 81 0c 02 00 00    	mov    0x20c(%ecx),%eax
41c039:	5d                   	pop    %ebp
41c03a:	c2 04 00             	ret    $0x4
41c03d:	33 c0                	xor    %eax,%eax
41c03f:	eb f8                	jmp    0x41c039
41c041:	cc                   	int3
41c042:	cc                   	int3
41c043:	cc                   	int3
41c044:	cc                   	int3
41c045:	cc                   	int3
41c046:	cc                   	int3
41c047:	cc                   	int3
41c048:	cc                   	int3
41c049:	cc                   	int3
41c04a:	cc                   	int3
41c04b:	cc                   	int3
41c04c:	cc                   	int3
41c04d:	cc                   	int3
41c04e:	cc                   	int3
41c04f:	cc                   	int3
41c050:	55                   	push   %ebp
41c051:	8b ec                	mov    %esp,%ebp
41c053:	56                   	push   %esi
41c054:	8b 75 08             	mov    0x8(%ebp),%esi
41c057:	57                   	push   %edi
41c058:	83 7e 0c 05          	cmpl   $0x5,0xc(%esi)
41c05c:	8b ce                	mov    %esi,%ecx
41c05e:	0f 84 e4 00 00 00    	je     0x41c148
41c064:	e8 46 01 00 00       	call   0x41c1af
41c069:	8b 7d 0c             	mov    0xc(%ebp),%edi
41c06c:	85 ff                	test   %edi,%edi
41c06e:	74 21                	je     0x41c091
41c070:	8b ce                	mov    %esi,%ecx
41c072:	e8 e5 00 00 00       	call   0x41c15c
41c077:	85 ff                	test   %edi,%edi
41c079:	7e 16                	jle    0x41c091
41c07b:	53                   	push   %ebx
41c07c:	8d 5d 0c             	lea    0xc(%ebp),%ebx
41c07f:	90                   	nop
41c080:	ff 73 04             	push   0x4(%ebx)
41c083:	8d 5b 04             	lea    0x4(%ebx),%ebx
41c086:	8b ce                	mov    %esi,%ecx
41c088:	e8 ea 00 00 00       	call   0x41c177
41c08d:	4f                   	dec    %edi
41c08e:	75 f0                	jne    0x41c080
41c090:	5b                   	pop    %ebx
41c091:	8b 0e                	mov    (%esi),%ecx
41c093:	33 ff                	xor    %edi,%edi
41c095:	8b 81 10 02 00 00    	mov    0x210(%ecx),%eax
41c09b:	89 81 0c 02 00 00    	mov    %eax,0x20c(%ecx)
41c0a1:	8b 06                	mov    (%esi),%eax
41c0a3:	c7 40 08 01 00 00 00 	movl   $0x1,0x8(%eax)
41c0aa:	8b 06                	mov    (%esi),%eax
41c0ac:	39 b8 0c 02 00 00    	cmp    %edi,0x20c(%eax)
41c0b2:	7e 39                	jle    0x41c0ed
41c0b4:	8b c8                	mov    %eax,%ecx
41c0b6:	ba 0c 00 00 00       	mov    $0xc,%edx
41c0bb:	eb 03                	jmp    0x41c0c0
41c0bd:	8d 49 00             	lea    0x0(%ecx),%ecx
41c0c0:	8b 84 0a 00 01 00 00 	mov    0x100(%edx,%ecx,1),%eax
41c0c7:	89 04 0a             	mov    %eax,(%edx,%ecx,1)
41c0ca:	8b 0e                	mov    (%esi),%ecx
41c0cc:	8b 04 0a             	mov    (%edx,%ecx,1),%eax
41c0cf:	0f af 41 08          	imul   0x8(%ecx),%eax
41c0d3:	89 41 08             	mov    %eax,0x8(%ecx)
41c0d6:	8b 0e                	mov    (%esi),%ecx
41c0d8:	81 79 08 00 00 00 01 	cmpl   $0x1000000,0x8(%ecx)
41c0df:	7f 71                	jg     0x41c152
41c0e1:	47                   	inc    %edi
41c0e2:	83 c2 04             	add    $0x4,%edx
41c0e5:	3b b9 0c 02 00 00    	cmp    0x20c(%ecx),%edi
41c0eb:	7c d3                	jl     0x41c0c0
41c0ed:	8b 06                	mov    (%esi),%eax
41c0ef:	33 c9                	xor    %ecx,%ecx
41c0f1:	8b 40 08             	mov    0x8(%eax),%eax
41c0f4:	ba 04 00 00 00       	mov    $0x4,%edx
41c0f9:	f7 e2                	mul    %edx
41c0fb:	0f 90 c1             	seto   %cl
41c0fe:	f7 d9                	neg    %ecx
41c100:	0b c8                	or     %eax,%ecx
41c102:	51                   	push   %ecx
41c103:	e8 e2 33 00 00       	call   0x41f4ea
41c108:	8b 0e                	mov    (%esi),%ecx
41c10a:	6a 04                	push   $0x4
41c10c:	89 01                	mov    %eax,(%ecx)
41c10e:	e8 d7 33 00 00       	call   0x41f4ea
41c113:	8b c8                	mov    %eax,%ecx
41c115:	83 c4 08             	add    $0x8,%esp
41c118:	85 c9                	test   %ecx,%ecx
41c11a:	74 3c                	je     0x41c158
41c11c:	c7 01 01 00 00 00    	movl   $0x1,(%ecx)
41c122:	8b 06                	mov    (%esi),%eax
41c124:	89 48 04             	mov    %ecx,0x4(%eax)
41c127:	8b 0e                	mov    (%esi),%ecx
41c129:	33 c0                	xor    %eax,%eax
41c12b:	39 41 08             	cmp    %eax,0x8(%ecx)
41c12e:	7e 12                	jle    0x41c142
41c130:	8b 09                	mov    (%ecx),%ecx
41c132:	40                   	inc    %eax
41c133:	c7 44 81 fc 00 00 00 	movl   $0x0,-0x4(%ecx,%eax,4)
41c13a:	00
41c13b:	8b 0e                	mov    (%esi),%ecx
41c13d:	3b 41 08             	cmp    0x8(%ecx),%eax
41c140:	7c ee                	jl     0x41c130
41c142:	5f                   	pop    %edi
41c143:	b0 01                	mov    $0x1,%al
41c145:	5e                   	pop    %esi
41c146:	5d                   	pop    %ebp
41c147:	c3                   	ret