40fb6d:	ff 30                	push   (%eax)
40fb6f:	68 48 e0 44 00       	push   $0x44e048
40fb74:	68 2c af 44 00       	push   $0x44af2c
40fb79:	68 2c af 44 00       	push   $0x44af2c
40fb7e:	68 6c df 44 00       	push   $0x44df6c
40fb83:	68 90 df 44 00       	push   $0x44df90
40fb88:	6a 14                	push   $0x14
40fb8a:	ff 15 3c f2 43 00    	call   *0x43f23c
40fb90:	ff d6                	call   *%esi
40fb92:	83 c4 1c             	add    $0x1c,%esp
40fb95:	eb 2d                	jmp    0x40fbc4
40fb97:	85 c0                	test   %eax,%eax
40fb99:	74 2c                	je     0x40fbc7
40fb9b:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
40fb9e:	8b 30                	mov    (%eax),%esi
40fba0:	ff 31                	push   (%ecx)
40fba2:	68 48 e0 44 00       	push   $0x44e048
40fba7:	68 6c df 44 00       	push   $0x44df6c
40fbac:	68 2c af 44 00       	push   $0x44af2c
40fbb1:	6a 14                	push   $0x14
40fbb3:	50                   	push   %eax
40fbb4:	8b 76 34             	mov    0x34(%esi),%esi
40fbb7:	8b ce                	mov    %esi,%ecx
40fbb9:	ff 15 3c f2 43 00    	call   *0x43f23c
40fbbf:	ff d6                	call   *%esi
40fbc1:	83 c4 18             	add    $0x18,%esp
40fbc4:	8b 53 08             	mov    0x8(%ebx),%edx
40fbc7:	b8 01 00 00 00       	mov    $0x1,%eax
40fbcc:	89 85 70 ff ff ff    	mov    %eax,-0x90(%ebp)
40fbd2:	3b d0                	cmp    %eax,%edx
40fbd4:	0f 8e 99 09 00 00    	jle    0x410573
40fbda:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
40fbe0:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
40fbe3:	c7 45 bc 00 00 00 00 	movl   $0x0,-0x44(%ebp)
40fbea:	c7 45 cc 00 00 00 00 	movl   $0x0,-0x34(%ebp)
40fbf1:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
40fbf8:	8b 14 81             	mov    (%ecx,%eax,4),%edx
40fbfb:	8b ca                	mov    %edx,%ecx
40fbfd:	8d 71 02             	lea    0x2(%ecx),%esi
40fc00:	66 8b 01             	mov    (%ecx),%ax
40fc03:	83 c1 02             	add    $0x2,%ecx
40fc06:	66 85 c0             	test   %ax,%ax
40fc09:	75 f5                	jne    0x40fc00
40fc0b:	2b ce                	sub    %esi,%ecx
40fc0d:	d1 f9                	sar    $1,%ecx
40fc0f:	51                   	push   %ecx
40fc10:	52                   	push   %edx
40fc11:	8d 4d bc             	lea    -0x44(%ebp),%ecx
40fc14:	e8 f7 28 ff ff       	call   0x402510
40fc19:	8b 45 94             	mov    -0x6c(%ebp),%eax
40fc1c:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40fc23:	8b 48 08             	mov    0x8(%eax),%ecx
40fc26:	85 c9                	test   %ecx,%ecx
40fc28:	75 4a                	jne    0x40fc74
40fc2a:	8b 35 b0 61 45 00    	mov    0x4561b0,%esi
40fc30:	85 f6                	test   %esi,%esi
40fc32:	74 36                	je     0x40fc6a
40fc34:	83 7d d0 08          	cmpl   $0x8,-0x30(%ebp)
40fc38:	8d 45 bc             	lea    -0x44(%ebp),%eax
40fc3b:	8b ce                	mov    %esi,%ecx
40fc3d:	0f 43 45 bc          	cmovae -0x44(%ebp),%eax
40fc41:	50                   	push   %eax
40fc42:	68 14 e1 44 00       	push   $0x44e114
40fc47:	68 2c af 44 00       	push   $0x44af2c
40fc4c:	68 2c af 44 00       	push   $0x44af2c
40fc51:	68 6c df 44 00       	push   $0x44df6c
40fc56:	68 90 df 44 00       	push   $0x44df90
40fc5b:	6a 14                	push   $0x14
40fc5d:	ff 15 3c f2 43 00    	call   *0x43f23c
40fc63:	ff d6                	call   *%esi
40fc65:	83 c4 1c             	add    $0x1c,%esp
40fc68:	eb 3a                	jmp    0x40fca4
40fc6a:	8b 0d b4 61 45 00    	mov    0x4561b4,%ecx
40fc70:	85 c9                	test   %ecx,%ecx
40fc72:	74 30                	je     0x40fca4
40fc74:	83 7d d0 08          	cmpl   $0x8,-0x30(%ebp)
40fc78:	8d 45 bc             	lea    -0x44(%ebp),%eax
40fc7b:	8b 31                	mov    (%ecx),%esi
40fc7d:	0f 43 45 bc          	cmovae -0x44(%ebp),%eax
40fc81:	50                   	push   %eax
40fc82:	68 14 e1 44 00       	push   $0x44e114
40fc87:	8b 76 34             	mov    0x34(%esi),%esi
40fc8a:	68 6c df 44 00       	push   $0x44df6c
40fc8f:	68 2c af 44 00       	push   $0x44af2c
40fc94:	6a 14                	push   $0x14
40fc96:	51                   	push   %ecx
40fc97:	8b ce                	mov    %esi,%ecx
40fc99:	ff 15 3c f2 43 00    	call   *0x43f23c
40fc9f:	ff d6                	call   *%esi
40fca1:	83 c4 18             	add    $0x18,%esp
40fca4:	b9 04 00 00 00       	mov    $0x4,%ecx
40fca9:	c7 85 74 ff ff ff 00 	movl   $0x0,-0x8c(%ebp)
40fcb0:	00 00 00
40fcb3:	39 4d cc             	cmp    %ecx,-0x34(%ebp)
40fcb6:	8d 45 bc             	lea    -0x44(%ebp),%eax
40fcb9:	c7 45 84 00 00 00 00 	movl   $0x0,-0x7c(%ebp)
40fcc0:	0f 42 4d cc          	cmovb  -0x34(%ebp),%ecx
40fcc4:	83 7d d0 08          	cmpl   $0x8,-0x30(%ebp)
40fcc8:	51                   	push   %ecx
40fcc9:	0f 43 45 bc          	cmovae -0x44(%ebp),%eax
40fccd:	8d 8d 74 ff ff ff    	lea    -0x8c(%ebp),%ecx
40fcd3:	50                   	push   %eax
40fcd4:	c7 45 88 00 00 00 00 	movl   $0x0,-0x78(%ebp)
40fcdb:	e8 30 28 ff ff       	call   0x402510
40fce0:	8b 45 88             	mov    -0x78(%ebp),%eax
40fce3:	8d b5 74 ff ff ff    	lea    -0x8c(%ebp),%esi
40fce9:	8b 55 84             	mov    -0x7c(%ebp),%edx
40fcec:	83 cf 04             	or     $0x4,%edi
40fcef:	83 f8 08             	cmp    $0x8,%eax
40fcf2:	89 7d 9c             	mov    %edi,-0x64(%ebp)
40fcf5:	8b bd 74 ff ff ff    	mov    -0x8c(%ebp),%edi
40fcfb:	0f 93 45 9b          	setae  -0x65(%ebp)
40fcff:	0f 43 f7             	cmovae %edi,%esi
40fd02:	83 fa 04             	cmp    $0x4,%edx
40fd05:	75 28                	jne    0x40fd2f
40fd07:	b9 48 e1 44 00       	mov    $0x44e148,%ecx
40fd0c:	85 d2                	test   %edx,%edx
40fd0e:	74 16                	je     0x40fd26
40fd10:	2b f1                	sub    %ecx,%esi
40fd12:	66 8b 04 31          	mov    (%ecx,%esi,1),%ax
40fd16:	66 3b 01             	cmp    (%ecx),%ax
40fd19:	75 11                	jne    0x40fd2c
40fd1b:	83 c1 02             	add    $0x2,%ecx
40fd1e:	83 ea 01             	sub    $0x1,%edx
40fd21:	75 ef                	jne    0x40fd12
40fd23:	8b 45 88             	mov    -0x78(%ebp),%eax
40fd26:	c6 45 a3 01          	movb   $0x1,-0x5d(%ebp)
40fd2a:	eb 07                	jmp    0x40fd33
40fd2c:	8b 45 88             	mov    -0x78(%ebp),%eax
40fd2f:	c6 45 a3 00          	movb   $0x0,-0x5d(%ebp)
40fd33:	80 7d 9b 00          	cmpb   $0x0,-0x65(%ebp)
40fd37:	74 2f                	je     0x40fd68
40fd39:	8d 0c 45 02 00 00 00 	lea    0x2(,%eax,2),%ecx
40fd40:	8b c7                	mov    %edi,%eax
40fd42:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40fd48:	72 14                	jb     0x40fd5e
40fd4a:	8b 78 fc             	mov    -0x4(%eax),%edi
40fd4d:	83 c1 23             	add    $0x23,%ecx
40fd50:	2b c7                	sub    %edi,%eax
40fd52:	83 c0 fc             	add    $0xfffffffc,%eax
40fd55:	83 f8 1f             	cmp    $0x1f,%eax
40fd58:	0f 87 37 08 00 00    	ja     0x410595
40fd5e:	51                   	push   %ecx
40fd5f:	57                   	push   %edi
40fd60:	e8 a9 bb 00 00       	call   0x41b90e
40fd65:	83 c4 08             	add    $0x8,%esp
40fd68:	80 7d a3 00          	cmpb   $0x0,-0x5d(%ebp)
40fd6c:	0f 85 ab 07 00 00    	jne    0x41051d
40fd72:	51                   	push   %ecx
40fd73:	68 54 e1 44 00       	push   $0x44e154
40fd78:	8d 4d bc             	lea    -0x44(%ebp),%ecx
40fd7b:	e8 00 0a 00 00       	call   0x410780
40fd80:	8b 4d cc             	mov    -0x34(%ebp),%ecx
40fd83:	8b f0                	mov    %eax,%esi
40fd85:	83 fe ff             	cmp    $0xffffffff,%esi
40fd88:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
40fd8f:	8d 45 bc             	lea    -0x44(%ebp),%eax
40fd92:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
40fd99:	0f 44 f1             	cmove  %ecx,%esi
40fd9c:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
40fda3:	3b ce                	cmp    %esi,%ecx
40fda5:	8b d6                	mov    %esi,%edx
40fda7:	0f 42 d1             	cmovb  %ecx,%edx
40fdaa:	83 7d d0 08          	cmpl   $0x8,-0x30(%ebp)
40fdae:	52                   	push   %edx
40fdaf:	0f 43 45 bc          	cmovae -0x44(%ebp),%eax
40fdb3:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
40fdb6:	50                   	push   %eax
40fdb7:	e8 54 27 ff ff       	call   0x402510
40fdbc:	8b 45 9c             	mov    -0x64(%ebp),%eax
40fdbf:	83 c8 10             	or     $0x10,%eax
40fdc2:	89 45 9c             	mov    %eax,-0x64(%ebp)
40fdc5:	89 45 90             	mov    %eax,-0x70(%ebp)
40fdc8:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
40fdcc:	8b 45 cc             	mov    -0x34(%ebp),%eax
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