4a5fd8:	4b                   	dec    %ebx
4a5fd9:	8b 44 24 30          	mov    0x30(%esp),%eax
4a5fdd:	89 46 04             	mov    %eax,0x4(%esi)
4a5fe0:	83 ee 08             	sub    $0x8,%esi
4a5fe3:	83 ef 01             	sub    $0x1,%edi
4a5fe6:	75 a8                	jne    0x4a5f90
4a5fe8:	8b 54 24 10          	mov    0x10(%esp),%edx
4a5fec:	8b 44 24 14          	mov    0x14(%esp),%eax
4a5ff0:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
4a5ff4:	83 e8 01             	sub    $0x1,%eax
4a5ff7:	89 44 24 14          	mov    %eax,0x14(%esp)
4a5ffb:	75 83                	jne    0x4a5f80
4a5ffd:	8b 44 24 40          	mov    0x40(%esp),%eax
4a6001:	be 10 8c 69 00       	mov    $0x698c10,%esi
4a6006:	85 c0                	test   %eax,%eax
4a6008:	5f                   	pop    %edi
4a6009:	0f 45 f0             	cmovne %eax,%esi
4a600c:	8d 44 24 20          	lea    0x20(%esp),%eax
4a6010:	8b 08                	mov    (%eax),%ecx
4a6012:	5b                   	pop    %ebx
4a6013:	3b 0e                	cmp    (%esi),%ecx
4a6015:	75 1b                	jne    0x4a6032
4a6017:	8b 48 04             	mov    0x4(%eax),%ecx
4a601a:	3b 4e 04             	cmp    0x4(%esi),%ecx
4a601d:	75 13                	jne    0x4a6032
4a601f:	5e                   	pop    %esi
4a6020:	8b c2                	mov    %edx,%eax
4a6022:	5d                   	pop    %ebp
4a6023:	8b 4c 24 24          	mov    0x24(%esp),%ecx
4a6027:	33 cc                	xor    %esp,%ecx
4a6029:	e8 ac b4 13 00       	call   0x5e14da
4a602e:	83 c4 28             	add    $0x28,%esp
4a6031:	c3                   	ret
4a6032:	52                   	push   %edx
4a6033:	ff 74 24 1c          	push   0x1c(%esp)
4a6037:	e8 14 a3 ff ff       	call   0x4a0350
4a603c:	83 c4 08             	add    $0x8,%esp
4a603f:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
4a6043:	33 c0                	xor    %eax,%eax
4a6045:	5e                   	pop    %esi
4a6046:	5d                   	pop    %ebp
4a6047:	33 cc                	xor    %esp,%ecx
4a6049:	e8 8c b4 13 00       	call   0x5e14da
4a604e:	83 c4 28             	add    $0x28,%esp
4a6051:	c3                   	ret
4a6052:	cc                   	int3
4a6053:	cc                   	int3
4a6054:	cc                   	int3
4a6055:	cc                   	int3
4a6056:	cc                   	int3
4a6057:	cc                   	int3
4a6058:	cc                   	int3
4a6059:	cc                   	int3
4a605a:	cc                   	int3
4a605b:	cc                   	int3
4a605c:	cc                   	int3
4a605d:	cc                   	int3
4a605e:	cc                   	int3
4a605f:	cc                   	int3
4a6060:	b8 24 00 00 00       	mov    $0x24,%eax
4a6065:	e8 86 b4 13 00       	call   0x5e14f0
4a606a:	a1 d4 89 72 00       	mov    0x7289d4,%eax
4a606f:	33 c4                	xor    %esp,%eax
4a6071:	89 44 24 20          	mov    %eax,0x20(%esp)
4a6075:	8b 4c 24 38          	mov    0x38(%esp),%ecx
4a6079:	8b 44 24 3c          	mov    0x3c(%esp),%eax
4a607d:	8b 54 24 34          	mov    0x34(%esp),%edx
4a6081:	89 44 24 04          	mov    %eax,0x4(%esp)
4a6085:	55                   	push   %ebp
4a6086:	8b 6c 24 2c          	mov    0x2c(%esp),%ebp
4a608a:	56                   	push   %esi
4a608b:	8b 74 24 38          	mov    0x38(%esp),%esi
4a608f:	89 74 24 14          	mov    %esi,0x14(%esp)
4a6093:	f6 c1 07             	test   $0x7,%cl
4a6096:	0f 85 f8 00 00 00    	jne    0x4a6194
4a609c:	8d 41 f8             	lea    -0x8(%ecx),%eax
4a609f:	3d f8 ff ff 7f       	cmp    $0x7ffffff8,%eax
4a60a4:	0f 87 ea 00 00 00    	ja     0x4a6194
4a60aa:	53                   	push   %ebx
4a60ab:	57                   	push   %edi
4a60ac:	51                   	push   %ecx
4a60ad:	83 c6 08             	add    $0x8,%esi
4a60b0:	bb 01 00 00 00       	mov    $0x1,%ebx
4a60b5:	52                   	push   %edx
4a60b6:	56                   	push   %esi
4a60b7:	89 74 24 24          	mov    %esi,0x24(%esp)
4a60bb:	e8 c0 d3 13 00       	call   0x5e3480
4a60c0:	8b 44 24 48          	mov    0x48(%esp),%eax
4a60c4:	83 c4 0c             	add    $0xc,%esp
4a60c7:	85 c0                	test   %eax,%eax
4a60c9:	b9 10 8c 69 00       	mov    $0x698c10,%ecx
4a60ce:	0f 45 c8             	cmovne %eax,%ecx
4a60d1:	8b 01                	mov    (%ecx),%eax
4a60d3:	89 44 24 20          	mov    %eax,0x20(%esp)
4a60d7:	8b 41 04             	mov    0x4(%ecx),%eax
4a60da:	8b 4c 24 48          	mov    0x48(%esp),%ecx
4a60de:	89 44 24 24          	mov    %eax,0x24(%esp)
4a60e2:	b8 06 00 00 00       	mov    $0x6,%eax
4a60e7:	89 44 24 10          	mov    %eax,0x10(%esp)
4a60eb:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
4a60f0:	85 c9                	test   %ecx,%ecx
4a60f2:	74 6c                	je     0x4a6160
4a60f4:	8d 79 ff             	lea    -0x1(%ecx),%edi
4a60f7:	c1 ef 03             	shr    $0x3,%edi
4a60fa:	47                   	inc    %edi
4a60fb:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
4a6100:	8b 06                	mov    (%esi),%eax
4a6102:	89 44 24 28          	mov    %eax,0x28(%esp)
4a6106:	8b 46 04             	mov    0x4(%esi),%eax
4a6109:	89 44 24 2c          	mov    %eax,0x2c(%esp)
4a610d:	8d 44 24 20          	lea    0x20(%esp),%eax
4a6111:	55                   	push   %ebp
4a6112:	50                   	push   %eax
4a6113:	50                   	push   %eax
4a6114:	ff 54 24 20          	call   *0x20(%esp)
4a6118:	30 5c 24 33          	xor    %bl,0x33(%esp)
4a611c:	83 c4 0c             	add    $0xc,%esp
4a611f:	81 fb ff 00 00 00    	cmp    $0xff,%ebx
4a6125:	76 1b                	jbe    0x4a6142
4a6127:	8b c3                	mov    %ebx,%eax
4a6129:	c1 e8 08             	shr    $0x8,%eax
4a612c:	30 44 24 26          	xor    %al,0x26(%esp)
4a6130:	8b c3                	mov    %ebx,%eax
4a6132:	c1 e8 10             	shr    $0x10,%eax
4a6135:	30 44 24 25          	xor    %al,0x25(%esp)
4a6139:	8b c3                	mov    %ebx,%eax
4a613b:	c1 e8 18             	shr    $0x18,%eax
4a613e:	30 44 24 24          	xor    %al,0x24(%esp)
4a6142:	8b 44 24 28          	mov    0x28(%esp),%eax
4a6146:	43                   	inc    %ebx
4a6147:	89 06                	mov    %eax,(%esi)
4a6149:	8b 44 24 2c          	mov    0x2c(%esp),%eax
4a614d:	89 46 04             	mov    %eax,0x4(%esi)
4a6150:	83 c6 08             	add    $0x8,%esi
4a6153:	83 ef 01             	sub    $0x1,%edi
4a6156:	75 a8                	jne    0x4a6100
4a6158:	8b 4c 24 48          	mov    0x48(%esp),%ecx
4a615c:	8b 44 24 10          	mov    0x10(%esp),%eax
4a6160:	8b 74 24 18          	mov    0x18(%esp),%esi
4a6164:	83 e8 01             	sub    $0x1,%eax
4a6167:	89 44 24 10          	mov    %eax,0x10(%esp)
4a616b:	75 83                	jne    0x4a60f0
4a616d:	8b 54 24 1c          	mov    0x1c(%esp),%edx
4a6171:	8b 44 24 20          	mov    0x20(%esp),%eax
4a6175:	5f                   	pop    %edi
4a6176:	5b                   	pop    %ebx
4a6177:	89 02                	mov    %eax,(%edx)
4a6179:	8b 44 24 1c          	mov    0x1c(%esp),%eax
4a617d:	5e                   	pop    %esi
4a617e:	89 42 04             	mov    %eax,0x4(%edx)
4a6181:	8d 41 08             	lea    0x8(%ecx),%eax
4a6184:	5d                   	pop    %ebp
4a6185:	8b 4c 24 20          	mov    0x20(%esp),%ecx
4a6189:	33 cc                	xor    %esp,%ecx
4a618b:	e8 4a b3 13 00       	call   0x5e14da
4a6190:	83 c4 24             	add    $0x24,%esp
4a6193:	c3                   	ret
4a6194:	8b 4c 24 28          	mov    0x28(%esp),%ecx
4a6198:	33 c0                	xor    %eax,%eax
4a619a:	5e                   	pop    %esi
4a619b:	5d                   	pop    %ebp
4a619c:	33 cc                	xor    %esp,%ecx
4a619e:	e8 37 b3 13 00       	call   0x5e14da
4a61a3:	83 c4 24             	add    $0x24,%esp
4a61a6:	c3                   	ret
4a61a7:	cc                   	int3
4a61a8:	cc                   	int3
4a61a9:	cc                   	int3
4a61aa:	cc                   	int3
4a61ab:	cc                   	int3
4a61ac:	cc                   	int3
4a61ad:	cc                   	int3
4a61ae:	cc                   	int3
4a61af:	cc                   	int3
4a61b0:	68 13 04 00 00       	push   $0x413
4a61b5:	68 a8 f9 72 00       	push   $0x72f9a8
4a61ba:	e8 91 a1 ff ff       	call   0x4a0350
4a61bf:	6a 14                	push   $0x14
4a61c1:	68 94 f9 72 00       	push   $0x72f994
4a61c6:	c7 05 70 f9 72 00 00 	movl   $0x0,0x72f970
4a61cd:	00 00 00
4a61d0:	c7 05 74 f9 72 00 00 	movl   $0x0,0x72f974
4a61d7:	00 00 00
4a61da:	e8 71 a1 ff ff       	call   0x4a0350
4a61df:	0f 57 c0             	xorps  %xmm0,%xmm0
4a61e2:	c7 05 78 f9 72 00 00 	movl   $0x0,0x72f978
4a61e9:	00 00 00
4a61ec:	83 c4 10             	add    $0x10,%esp
4a61ef:	c7 05 7c f9 72 00 00 	movl   $0x0,0x72f97c
4a61f6:	00 00 00
4a61f9:	f2 0f 11 05 80 f9 72 	movsd  %xmm0,0x72f980
4a6200:	00
4a6201:	c7 05 88 f9 72 00 00 	movl   $0x0,0x72f988
4a6208:	00 00 00
4a620b:	c3                   	ret
4a620c:	cc                   	int3
4a620d:	cc                   	int3
4a620e:	cc                   	int3
4a620f:	cc                   	int3
4a6210:	8b 4c 24 08          	mov    0x8(%esp),%ecx
4a6214:	b8 08 00 00 00       	mov    $0x8,%eax
4a6219:	66 0f 6e c1          	movd   %ecx,%xmm0
4a621d:	f3 0f e6 c0          	cvtdq2pd %xmm0,%xmm0
4a6221:	e8 ca b2 13 00       	call   0x5e14f0
4a6226:	f2 0f 11 04 24       	movsd  %xmm0,(%esp)
4a622b:	51                   	push   %ecx
4a622c:	ff 74 24 10          	push   0x10(%esp)
4a6230:	e8 0b 00 00 00       	call   0x4a6240
4a6235:	83 c4 10             	add    $0x10,%esp
4a6238:	c3                   	ret
4a6239:	cc                   	int3
4a623a:	cc                   	int3
4a623b:	cc                   	int3
4a623c:	cc                   	int3
4a623d:	cc                   	int3
4a623e:	cc                   	int3
4a623f:	cc                   	int3
4a6240:	b8 48 00 00 00       	mov    $0x48,%eax
4a6245:	e8 a6 b2 13 00       	call   0x5e14f0
4a624a:	a1 d4 89 72 00       	mov    0x7289d4,%eax
4a624f:	33 c4                	xor    %esp,%eax
4a6251:	89 44 24 44          	mov    %eax,0x44(%esp)
4a6255:	8b 44 24 4c          	mov    0x4c(%esp),%eax
4a6259:	56                   	push   %esi
4a625a:	8b 74 24 54          	mov    0x54(%esp),%esi
4a625e:	89 44 24 04          	mov    %eax,0x4(%esp)
4a6262:	85 f6                	test   %esi,%esi
4a6264:	0f 84 46 03 00 00    	je     0x4a65b0
4a626a:	83 3d 8c f9 72 00 00 	cmpl   $0x0,0x72f98c
4a6271:	53                   	push   %ebx
4a6272:	55                   	push   %ebp
4a6273:	57                   	push   %edi
4a6274:	74 51                	je     0x4a62c7
4a6276:	8d 44 24 18          	lea    0x18(%esp),%eax
4a627a:	50                   	push   %eax
4a627b:	e8 60 a1 ff ff       	call   0x4a03e0
4a6280:	68 df 00 00 00       	push   $0xdf
4a6285:	68 44 8c 69 00       	push   $0x698c44
4a628a:	6a 13                	push   $0x13
4a628c:	6a 05                	push   $0x5
4a628e:	e8 2d a3 ff ff       	call   0x4a05c0
4a6293:	8d 44 24 2c          	lea    0x2c(%esp),%eax
4a6297:	50                   	push   %eax
4a6298:	68 bc fd 72 00       	push   $0x72fdbc
4a629d:	e8 ce a0 ff ff       	call   0x4a0370
4a62a2:	f7 d8                	neg    %eax
4a62a4:	68 e1 00 00 00       	push   $0xe1
4a62a9:	68 44 8c 69 00       	push   $0x698c44
4a62ae:	1b db                	sbb    %ebx,%ebx
4a62b0:	6a 13                	push   $0x13
4a62b2:	43                   	inc    %ebx
4a62b3:	6a 06                	push   $0x6
4a62b5:	89 5c 24 40          	mov    %ebx,0x40(%esp)
4a62b9:	e8 02 a3 ff ff       	call   0x4a05c0
4a62be:	83 c4 2c             	add    $0x2c,%esp
4a62c1:	85 db                	test   %ebx,%ebx
4a62c3:	75 1e                	jne    0x4a62e3
4a62c5:	eb 06                	jmp    0x4a62cd
4a62c7:	33 db                	xor    %ebx,%ebx
4a62c9:	89 5c 24 14          	mov    %ebx,0x14(%esp)
4a62cd:	68 e6 00 00 00       	push   $0xe6
4a62d2:	68 44 8c 69 00       	push   $0x698c44
4a62d7:	6a 12                	push   $0x12
4a62d9:	6a 09                	push   $0x9
4a62db:	e8 e0 a2 ff ff       	call   0x4a05c0
4a62e0:	83 c4 10             	add    $0x10,%esp
4a62e3:	8b 0d 74 f9 72 00    	mov    0x72f974,%ecx
4a62e9:	8b f9                	mov    %ecx,%edi
4a62eb:	a1 78 f9 72 00       	mov    0x72f978,%eax
4a62f0:	03 ce                	add    %esi,%ecx
4a62f2:	8b 2d 7c f9 72 00    	mov    0x72f97c,%ebp
4a62f8:	89 44 24 20          	mov    %eax,0x20(%esp)
4a62fc:	a1 a4 f9 72 00       	mov    0x72f9a4,%eax
4a6301:	89 6c 24 24          	mov    %ebp,0x24(%esp)
4a6305:	89 44 24 50          	mov    %eax,0x50(%esp)
4a6309:	89 0d 74 f9 72 00    	mov    %ecx,0x72f974
4a630f:	0f 10 05 94 f9 72 00 	movups 0x72f994,%xmm0
4a6316:	0f 11 44 24 40       	movups %xmm0,0x40(%esp)
4a631b:	81 f9 ff 03 00 00    	cmp    $0x3ff,%ecx
4a6321:	72 2c                	jb     0x4a634f
4a6323:	b8 05 10 40 00       	mov    $0x401005,%eax
4a6328:	c7 05 70 f9 72 00 ff 	movl   $0x3ff,0x72f970
4a632f:	03 00 00
4a6332:	f7 e1                	mul    %ecx
4a6334:	8b c1                	mov    %ecx,%eax
4a6336:	2b c2                	sub    %edx,%eax
4a6338:	d1 e8                	shr    $1,%eax
4a633a:	03 c2                	add    %edx,%eax
4a633c:	c1 e8 09             	shr    $0x9,%eax
4a633f:	69 c0 01 fc ff ff    	imul   $0xfffffc01,%eax,%eax
4a6345:	03 c8                	add    %eax,%ecx
4a6347:	89 0d 74 f9 72 00    	mov    %ecx,0x72f974
4a634d:	eb 16                	jmp    0x4a6365
4a634f:	a1 70 f9 72 00       	mov    0x72f970,%eax
4a6354:	3d ff 03 00 00       	cmp    $0x3ff,%eax
4a6359:	73 0a                	jae    0x4a6365
4a635b:	3b c8                	cmp    %eax,%ecx
4a635d:	0f 47 c1             	cmova  %ecx,%eax
4a6360:	a3 70 f9 72 00       	mov    %eax,0x72f970
4a6365:	8b 4c 24 60          	mov    0x60(%esp),%ecx
4a6369:	b8 67 66 66 66       	mov    $0x66666667,%eax
4a636e:	f7 ee                	imul   %esi
4a6370:	c1 fa 03             	sar    $0x3,%edx
4a6373:	8b f2                	mov    %edx,%esi
4a6375:	c1 ee 1f             	shr    $0x1f,%esi
4a6378:	03 f2                	add    %edx,%esi
4a637a:	8d 04 b6             	lea    (%esi,%esi,4),%eax
4a637d:	c1 e0 02             	shl    $0x2,%eax
4a6380:	2b c8                	sub    %eax,%ecx
4a6382:	33 c0                	xor    %eax,%eax
4a6384:	85 c9                	test   %ecx,%ecx
4a6386:	0f 9f c0             	setg   %al
4a6389:	03 c6                	add    %esi,%eax
4a638b:	03 e8                	add    %eax,%ebp
4a638d:	89 2d 7c f9 72 00    	mov    %ebp,0x72f97c
4a6393:	85 db                	test   %ebx,%ebx
4a6395:	75 16                	jne    0x4a63ad
4a6397:	68 06 01 00 00       	push   $0x106
4a639c:	68 44 8c 69 00       	push   $0x698c44
4a63a1:	6a 12                	push   $0x12
4a63a3:	6a 0a                	push   $0xa
4a63a5:	e8 16 a2 ff ff       	call   0x4a05c0
4a63aa:	83 c4 10             	add    $0x10,%esp
4a63ad:	8d 44 24 28          	lea    0x28(%esp),%eax
4a63b1:	50                   	push   %eax
4a63b2:	e8 09 b3 00 00       	call   0x4b16c0
4a63b7:	8b 44 24 64          	mov    0x64(%esp),%eax
4a63bb:	83 c4 04             	add    $0x4,%esp
4a63be:	c7 44 24 18 00 00 00 	movl   $0x0,0x18(%esp)
4a63c5:	00
4a63c6:	85 c0                	test   %eax,%eax
4a63c8:	0f 8e 3e 01 00 00    	jle    0x4a650c
4a63ce:	8b e8                	mov    %eax,%ebp
4a63d0:	b8 14 00 00 00       	mov    $0x14,%eax
4a63d5:	83 fd 14             	cmp    $0x14,%ebp
4a63d8:	8b f5                	mov    %ebp,%esi
4a63da:	6a 00                	push   $0x0
4a63dc:	0f 4f f0             	cmovg  %eax,%esi
4a63df:	e8 fc b3 00 00       	call   0x4b17e0
4a63e4:	50                   	push   %eax
4a63e5:	8d 44 24 30          	lea    0x30(%esp),%eax
4a63e9:	50                   	push   %eax
4a63ea:	e8 b1 ae 00 00       	call   0x4b12a0
4a63ef:	83 c4 0c             	add    $0xc,%esp
4a63f2:	85 c0                	test   %eax,%eax
4a63f4:	0f 84 a6 01 00 00    	je     0x4a65a0
4a63fa:	6a 14                	push   $0x14
4a63fc:	8d 44 24 44          	lea    0x44(%esp),%eax
4a6400:	50                   	push   %eax
4a6401:	8d 44 24 30          	lea    0x30(%esp),%eax