40fdcf:	3b f0                	cmp    %eax,%esi
40fdd1:	73 5e                	jae    0x40fe31
40fdd3:	46                   	inc    %esi
40fdd4:	c7 85 58 ff ff ff 00 	movl   $0x0,-0xa8(%ebp)
40fddb:	00 00 00
40fdde:	c7 85 68 ff ff ff 00 	movl   $0x0,-0x98(%ebp)
40fde5:	00 00 00
40fde8:	c7 85 6c ff ff ff 00 	movl   $0x0,-0x94(%ebp)
40fdef:	00 00 00
40fdf2:	3b c6                	cmp    %esi,%eax
40fdf4:	0f 82 a0 07 00 00    	jb     0x41059a
40fdfa:	2b c6                	sub    %esi,%eax
40fdfc:	83 c9 ff             	or     $0xffffffff,%ecx
40fdff:	83 f8 ff             	cmp    $0xffffffff,%eax
40fe02:	0f 42 c8             	cmovb  %eax,%ecx
40fe05:	83 7d d0 08          	cmpl   $0x8,-0x30(%ebp)
40fe09:	8d 45 bc             	lea    -0x44(%ebp),%eax
40fe0c:	0f 43 45 bc          	cmovae -0x44(%ebp),%eax
40fe10:	51                   	push   %ecx
40fe11:	8d 8d 58 ff ff ff    	lea    -0xa8(%ebp),%ecx
40fe17:	8d 04 70             	lea    (%eax,%esi,2),%eax
40fe1a:	50                   	push   %eax
40fe1b:	e8 f0 26 ff ff       	call   0x402510
40fe20:	8b 55 9c             	mov    -0x64(%ebp),%edx
40fe23:	83 ca 40             	or     $0x40,%edx
40fe26:	8d 85 58 ff ff ff    	lea    -0xa8(%ebp),%eax
40fe2c:	83 ca 01             	or     $0x1,%edx
40fe2f:	eb 36                	jmp    0x40fe67
40fe31:	6a 00                	push   $0x0
40fe33:	68 2c af 44 00       	push   $0x44af2c
40fe38:	8d 8d 74 ff ff ff    	lea    -0x8c(%ebp),%ecx
40fe3e:	c7 85 74 ff ff ff 00 	movl   $0x0,-0x8c(%ebp)
40fe45:	00 00 00
40fe48:	c7 45 84 00 00 00 00 	movl   $0x0,-0x7c(%ebp)
40fe4f:	c7 45 88 00 00 00 00 	movl   $0x0,-0x78(%ebp)
40fe56:	e8 b5 26 ff ff       	call   0x402510
40fe5b:	8b 55 9c             	mov    -0x64(%ebp),%edx
40fe5e:	8d 85 74 ff ff ff    	lea    -0x8c(%ebp),%eax
40fe64:	83 ca 02             	or     $0x2,%edx
40fe67:	0f 10 00             	movups (%eax),%xmm0
40fe6a:	33 c9                	xor    %ecx,%ecx
40fe6c:	89 55 9c             	mov    %edx,-0x64(%ebp)
40fe6f:	0f 11 45 a4          	movups %xmm0,-0x5c(%ebp)
40fe73:	f3 0f 7e 40 10       	movq   0x10(%eax),%xmm0
40fe78:	66 0f d6 45 b4       	movq   %xmm0,-0x4c(%ebp)
40fe7d:	c7 40 10 00 00 00 00 	movl   $0x0,0x10(%eax)
40fe84:	c7 40 14 07 00 00 00 	movl   $0x7,0x14(%eax)
40fe8b:	66 89 08             	mov    %cx,(%eax)
40fe8e:	c7 45 fc 03 00 00 00 	movl   $0x3,-0x4(%ebp)
40fe95:	f6 c2 02             	test   $0x2,%dl
40fe98:	74 46                	je     0x40fee0
40fe9a:	8b 4d 88             	mov    -0x78(%ebp),%ecx
40fe9d:	83 e2 fd             	and    $0xfffffffd,%edx
40fea0:	89 55 9c             	mov    %edx,-0x64(%ebp)
40fea3:	83 f9 08             	cmp    $0x8,%ecx
40fea6:	72 38                	jb     0x40fee0
40fea8:	8b 95 74 ff ff ff    	mov    -0x8c(%ebp),%edx
40feae:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
40feb5:	8b c2                	mov    %edx,%eax
40feb7:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40febd:	72 14                	jb     0x40fed3
40febf:	8b 50 fc             	mov    -0x4(%eax),%edx
40fec2:	83 c1 23             	add    $0x23,%ecx
40fec5:	2b c2                	sub    %edx,%eax
40fec7:	83 c0 fc             	add    $0xfffffffc,%eax
40feca:	83 f8 1f             	cmp    $0x1f,%eax
40fecd:	0f 87 c2 06 00 00    	ja     0x410595
40fed3:	51                   	push   %ecx
40fed4:	52                   	push   %edx
40fed5:	e8 34 ba 00 00       	call   0x41b90e
40feda:	8b 55 9c             	mov    -0x64(%ebp),%edx
40fedd:	83 c4 08             	add    $0x8,%esp
40fee0:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
40fee4:	f6 c2 01             	test   $0x1,%dl
40fee7:	74 46                	je     0x40ff2f
40fee9:	8b 8d 6c ff ff ff    	mov    -0x94(%ebp),%ecx
40feef:	83 e2 fe             	and    $0xfffffffe,%edx
40fef2:	89 55 9c             	mov    %edx,-0x64(%ebp)
40fef5:	83 f9 08             	cmp    $0x8,%ecx
40fef8:	72 35                	jb     0x40ff2f
40fefa:	8b 95 58 ff ff ff    	mov    -0xa8(%ebp),%edx
40ff00:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
40ff07:	8b c2                	mov    %edx,%eax
40ff09:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40ff0f:	72 14                	jb     0x40ff25
40ff11:	8b 50 fc             	mov    -0x4(%eax),%edx
40ff14:	83 c1 23             	add    $0x23,%ecx
40ff17:	2b c2                	sub    %edx,%eax
40ff19:	83 c0 fc             	add    $0xfffffffc,%eax
40ff1c:	83 f8 1f             	cmp    $0x1f,%eax
40ff1f:	0f 87 70 06 00 00    	ja     0x410595
40ff25:	51                   	push   %ecx
40ff26:	52                   	push   %edx
40ff27:	e8 e2 b9 00 00       	call   0x41b90e
40ff2c:	83 c4 08             	add    $0x8,%esp
40ff2f:	b9 02 00 00 00       	mov    $0x2,%ecx
40ff34:	c7 85 74 ff ff ff 00 	movl   $0x0,-0x8c(%ebp)
40ff3b:	00 00 00
40ff3e:	39 4d e4             	cmp    %ecx,-0x1c(%ebp)
40ff41:	8d 45 d4             	lea    -0x2c(%ebp),%eax
40ff44:	c7 45 84 00 00 00 00 	movl   $0x0,-0x7c(%ebp)
40ff4b:	0f 42 4d e4          	cmovb  -0x1c(%ebp),%ecx
40ff4f:	83 7d e8 08          	cmpl   $0x8,-0x18(%ebp)
40ff53:	51                   	push   %ecx
40ff54:	0f 43 45 d4          	cmovae -0x2c(%ebp),%eax
40ff58:	8d 8d 74 ff ff ff    	lea    -0x8c(%ebp),%ecx
40ff5e:	50                   	push   %eax
40ff5f:	c7 45 88 00 00 00 00 	movl   $0x0,-0x78(%ebp)
40ff66:	e8 a5 25 ff ff       	call   0x402510
40ff6b:	83 4d 9c 08          	orl    $0x8,-0x64(%ebp)
40ff6f:	8d b5 74 ff ff ff    	lea    -0x8c(%ebp),%esi
40ff75:	8b 45 88             	mov    -0x78(%ebp),%eax
40ff78:	83 f8 08             	cmp    $0x8,%eax
40ff7b:	8b bd 74 ff ff ff    	mov    -0x8c(%ebp),%edi
40ff81:	8b 55 84             	mov    -0x7c(%ebp),%edx
40ff84:	0f 93 45 9b          	setae  -0x65(%ebp)
40ff88:	0f 43 f7             	cmovae %edi,%esi
40ff8b:	83 fa 02             	cmp    $0x2,%edx
40ff8e:	75 2d                	jne    0x40ffbd
40ff90:	b9 58 e1 44 00       	mov    $0x44e158,%ecx
40ff95:	85 d2                	test   %edx,%edx
40ff97:	74 1b                	je     0x40ffb4
40ff99:	2b f1                	sub    %ecx,%esi
40ff9b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
40ffa0:	66 8b 04 31          	mov    (%ecx,%esi,1),%ax
40ffa4:	66 3b 01             	cmp    (%ecx),%ax
40ffa7:	75 11                	jne    0x40ffba
40ffa9:	83 c1 02             	add    $0x2,%ecx
40ffac:	83 ea 01             	sub    $0x1,%edx
40ffaf:	75 ef                	jne    0x40ffa0
40ffb1:	8b 45 88             	mov    -0x78(%ebp),%eax
40ffb4:	c6 45 a3 00          	movb   $0x0,-0x5d(%ebp)
40ffb8:	eb 07                	jmp    0x40ffc1
40ffba:	8b 45 88             	mov    -0x78(%ebp),%eax
40ffbd:	c6 45 a3 01          	movb   $0x1,-0x5d(%ebp)
40ffc1:	80 7d 9b 00          	cmpb   $0x0,-0x65(%ebp)
40ffc5:	74 2f                	je     0x40fff6
40ffc7:	8d 0c 45 02 00 00 00 	lea    0x2(,%eax,2),%ecx
40ffce:	8b c7                	mov    %edi,%eax
40ffd0:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40ffd6:	72 14                	jb     0x40ffec
40ffd8:	8b 78 fc             	mov    -0x4(%eax),%edi
40ffdb:	83 c1 23             	add    $0x23,%ecx
40ffde:	2b c7                	sub    %edi,%eax
40ffe0:	83 c0 fc             	add    $0xfffffffc,%eax
40ffe3:	83 f8 1f             	cmp    $0x1f,%eax
40ffe6:	0f 87 a9 05 00 00    	ja     0x410595
40ffec:	51                   	push   %ecx
40ffed:	57                   	push   %edi
40ffee:	e8 1b b9 00 00       	call   0x41b90e
40fff3:	83 c4 08             	add    $0x8,%esp
40fff6:	80 7d a3 00          	cmpb   $0x0,-0x5d(%ebp)
40fffa:	0f 84 aa 00 00 00    	je     0x4100aa
410000:	8b 45 94             	mov    -0x6c(%ebp),%eax
410003:	8b 40 08             	mov    0x8(%eax),%eax
410006:	85 c0                	test   %eax,%eax
410008:	75 3d                	jne    0x410047
41000a:	8b 35 b0 61 45 00    	mov    0x4561b0,%esi
410010:	85 f6                	test   %esi,%esi
410012:	74 2a                	je     0x41003e
410014:	68 60 e1 44 00       	push   $0x44e160
410019:	68 2c af 44 00       	push   $0x44af2c
41001e:	68 2c af 44 00       	push   $0x44af2c
410023:	68 6c df 44 00       	push   $0x44df6c
410028:	68 90 df 44 00       	push   $0x44df90
41002d:	6a 32                	push   $0x32
41002f:	8b ce                	mov    %esi,%ecx
410031:	ff 15 3c f2 43 00    	call   *0x43f23c
410037:	ff d6                	call   *%esi
410039:	83 c4 18             	add    $0x18,%esp
41003c:	eb 2d                	jmp    0x41006b
41003e:	a1 b4 61 45 00       	mov    0x4561b4,%eax
410043:	85 c0                	test   %eax,%eax
410045:	74 24                	je     0x41006b
410047:	8b 30                	mov    (%eax),%esi
410049:	68 60 e1 44 00       	push   $0x44e160
41004e:	68 6c df 44 00       	push   $0x44df6c
410053:	68 2c af 44 00       	push   $0x44af2c
410058:	8b 76 34             	mov    0x34(%esi),%esi
41005b:	8b ce                	mov    %esi,%ecx
41005d:	6a 32                	push   $0x32
41005f:	50                   	push   %eax
410060:	ff 15 3c f2 43 00    	call   *0x43f23c
410066:	ff d6                	call   *%esi
410068:	83 c4 14             	add    $0x14,%esp
41006b:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
41006f:	8b 4d b8             	mov    -0x48(%ebp),%ecx
410072:	83 f9 08             	cmp    $0x8,%ecx
410075:	0f 82 54 04 00 00    	jb     0x4104cf
41007b:	8b 55 a4             	mov    -0x5c(%ebp),%edx
41007e:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
410085:	8b c2                	mov    %edx,%eax
410087:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
41008d:	72 14                	jb     0x4100a3
41008f:	8b 50 fc             	mov    -0x4(%eax),%edx
410092:	83 c1 23             	add    $0x23,%ecx
410095:	2b c2                	sub    %edx,%eax
410097:	83 c0 fc             	add    $0xfffffffc,%eax
41009a:	83 f8 1f             	cmp    $0x1f,%eax
41009d:	0f 87 f2 04 00 00    	ja     0x410595
4100a3:	51                   	push   %ecx
4100a4:	52                   	push   %edx
4100a5:	e9 1d 04 00 00       	jmp    0x4104c7
4100aa:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4100ad:	c7 85 58 ff ff ff 00 	movl   $0x0,-0xa8(%ebp)
4100b4:	00 00 00
4100b7:	c7 85 68 ff ff ff 00 	movl   $0x0,-0x98(%ebp)
4100be:	00 00 00
4100c1:	c7 85 6c ff ff ff 00 	movl   $0x0,-0x94(%ebp)
4100c8:	00 00 00
4100cb:	83 f8 02             	cmp    $0x2,%eax
4100ce:	0f 82 c6 04 00 00    	jb     0x41059a
4100d4:	83 c0 fe             	add    $0xfffffffe,%eax
4100d7:	83 c9 ff             	or     $0xffffffff,%ecx
4100da:	83 f8 ff             	cmp    $0xffffffff,%eax
4100dd:	0f 42 c8             	cmovb  %eax,%ecx
4100e0:	83 7d e8 08          	cmpl   $0x8,-0x18(%ebp)
4100e4:	8d 45 d4             	lea    -0x2c(%ebp),%eax
4100e7:	0f 43 45 d4          	cmovae -0x2c(%ebp),%eax
4100eb:	51                   	push   %ecx
4100ec:	83 c0 04             	add    $0x4,%eax
4100ef:	8d 8d 58 ff ff ff    	lea    -0xa8(%ebp),%ecx
4100f5:	50                   	push   %eax
4100f6:	e8 15 24 ff ff       	call   0x402510
4100fb:	8b 7d 9c             	mov    -0x64(%ebp),%edi
4100fe:	8b 4d e8             	mov    -0x18(%ebp),%ecx
410101:	83 cf 20             	or     $0x20,%edi
410104:	89 7d 9c             	mov    %edi,-0x64(%ebp)
410107:	83 f9 08             	cmp    $0x8,%ecx
41010a:	72 32                	jb     0x41013e
41010c:	8b 55 d4             	mov    -0x2c(%ebp),%edx
41010f:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
410116:	8b c2                	mov    %edx,%eax
410118:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
41011e:	72 14                	jb     0x410134
410120:	8b 50 fc             	mov    -0x4(%eax),%edx
410123:	83 c1 23             	add    $0x23,%ecx
410126:	2b c2                	sub    %edx,%eax
410128:	83 c0 fc             	add    $0xfffffffc,%eax
41012b:	83 f8 1f             	cmp    $0x1f,%eax
41012e:	0f 87 61 04 00 00    	ja     0x410595
410134:	51                   	push   %ecx
410135:	52                   	push   %edx
410136:	e8 d3 b7 00 00       	call   0x41b90e
41013b:	83 c4 08             	add    $0x8,%esp
41013e:	0f 10 85 58 ff ff ff 	movups -0xa8(%ebp),%xmm0
410145:	0f 11 45 d4          	movups %xmm0,-0x2c(%ebp)
410149:	f3 0f 7e 85 68 ff ff 	movq   -0x98(%ebp),%xmm0
410150:	ff
410151:	66 0f d6 45 e4       	movq   %xmm0,-0x1c(%ebp)
410156:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
41015a:	0f 85 5e 01 00 00    	jne    0x4102be
410160:	8b 45 94             	mov    -0x6c(%ebp),%eax
410163:	8b 48 08             	mov    0x8(%eax),%ecx
410166:	85 c9                	test   %ecx,%ecx
410168:	75 4a                	jne    0x4101b4
41016a:	8b 35 b0 61 45 00    	mov    0x4561b0,%esi
410170:	85 f6                	test   %esi,%esi
410172:	74 36                	je     0x4101aa
410174:	83 7d d0 08          	cmpl   $0x8,-0x30(%ebp)
410178:	8d 45 bc             	lea    -0x44(%ebp),%eax
41017b:	8b ce                	mov    %esi,%ecx
41017d:	0f 43 45 bc          	cmovae -0x44(%ebp),%eax
410181:	50                   	push   %eax
410182:	68 f0 e1 44 00       	push   $0x44e1f0
410187:	68 2c af 44 00       	push   $0x44af2c
41018c:	68 2c af 44 00       	push   $0x44af2c
410191:	68 6c df 44 00       	push   $0x44df6c
410196:	68 90 df 44 00       	push   $0x44df90
41019b:	6a 32                	push   $0x32
41019d:	ff 15 3c f2 43 00    	call   *0x43f23c
4101a3:	ff d6                	call   *%esi
4101a5:	83 c4 1c             	add    $0x1c,%esp
4101a8:	eb 3a                	jmp    0x4101e4
4101aa:	8b 0d b4 61 45 00    	mov    0x4561b4,%ecx
4101b0:	85 c9                	test   %ecx,%ecx
4101b2:	74 30                	je     0x4101e4
4101b4:	83 7d d0 08          	cmpl   $0x8,-0x30(%ebp)
4101b8:	8d 45 bc             	lea    -0x44(%ebp),%eax
4101bb:	8b 31                	mov    (%ecx),%esi
4101bd:	0f 43 45 bc          	cmovae -0x44(%ebp),%eax
4101c1:	50                   	push   %eax
4101c2:	68 f0 e1 44 00       	push   $0x44e1f0
4101c7:	8b 76 34             	mov    0x34(%esi),%esi
4101ca:	68 6c df 44 00       	push   $0x44df6c
4101cf:	68 2c af 44 00       	push   $0x44af2c
4101d4:	6a 32                	push   $0x32
4101d6:	51                   	push   %ecx
4101d7:	8b ce                	mov    %esi,%ecx
4101d9:	ff 15 3c f2 43 00    	call   *0x43f23c
4101df:	ff d6                	call   *%esi
4101e1:	83 c4 18             	add    $0x18,%esp
4101e4:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4101e8:	8b 4d b8             	mov    -0x48(%ebp),%ecx
4101eb:	83 f9 08             	cmp    $0x8,%ecx
4101ee:	72 32                	jb     0x410222
4101f0:	8b 55 a4             	mov    -0x5c(%ebp),%edx
4101f3:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
4101fa:	8b c2                	mov    %edx,%eax
4101fc:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
410202:	72 14                	jb     0x410218
410204:	8b 50 fc             	mov    -0x4(%eax),%edx
410207:	83 c1 23             	add    $0x23,%ecx
41020a:	2b c2                	sub    %edx,%eax
41020c:	83 c0 fc             	add    $0xfffffffc,%eax
41020f:	83 f8 1f             	cmp    $0x1f,%eax
410212:	0f 87 7d 03 00 00    	ja     0x410595
410218:	51                   	push   %ecx
410219:	52                   	push   %edx
41021a:	e8 ef b6 00 00       	call   0x41b90e
41021f:	83 c4 08             	add    $0x8,%esp
410222:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
410226:	8b 4d e8             	mov    -0x18(%ebp),%ecx
410229:	83 f9 08             	cmp    $0x8,%ecx
41022c:	72 32                	jb     0x410260
41022e:	8b 55 d4             	mov    -0x2c(%ebp),%edx
410231:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
410238:	8b c2                	mov    %edx,%eax
41023a:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
410240:	72 14                	jb     0x410256
410242:	8b 50 fc             	mov    -0x4(%eax),%edx
410245:	83 c1 23             	add    $0x23,%ecx
410248:	2b c2                	sub    %edx,%eax
41024a:	83 c0 fc             	add    $0xfffffffc,%eax
41024d:	83 f8 1f             	cmp    $0x1f,%eax
410250:	0f 87 3f 03 00 00    	ja     0x410595
410256:	51                   	push   %ecx
410257:	52                   	push   %edx
410258:	e8 b1 b6 00 00       	call   0x41b90e
41025d:	83 c4 08             	add    $0x8,%esp
410260:	33 c0                	xor    %eax,%eax
410262:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
410269:	8b 4d d0             	mov    -0x30(%ebp),%ecx
41026c:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
410273:	c7 45 e8 07 00 00 00 	movl   $0x7,-0x18(%ebp)
41027a:	66 89 45 d4          	mov    %ax,-0x2c(%ebp)
41027e:	83 f9 08             	cmp    $0x8,%ecx
410281:	0f 82 d6 02 00 00    	jb     0x41055d
410287:	8b 55 bc             	mov    -0x44(%ebp),%edx
41028a:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
410291:	8b c2                	mov    %edx,%eax
410293:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
410299:	72 14                	jb     0x4102af
41029b:	8b 50 fc             	mov    -0x4(%eax),%edx
41029e:	83 c1 23             	add    $0x23,%ecx
4102a1:	2b c2                	sub    %edx,%eax
4102a3:	83 c0 fc             	add    $0xfffffffc,%eax
4102a6:	83 f8 1f             	cmp    $0x1f,%eax
4102a9:	0f 87 e6 02 00 00    	ja     0x410595
4102af:	51                   	push   %ecx