401ac5:	83 f9 08             	cmp    $0x8,%ecx
401ac8:	72 32                	jb     0x401afc
401aca:	8b 55 d8             	mov    -0x28(%ebp),%edx
401acd:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
401ad4:	8b c2                	mov    %edx,%eax
401ad6:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
401adc:	72 14                	jb     0x401af2
401ade:	8b 50 fc             	mov    -0x4(%eax),%edx
401ae1:	83 c1 23             	add    $0x23,%ecx
401ae4:	2b c2                	sub    %edx,%eax
401ae6:	83 c0 fc             	add    $0xfffffffc,%eax
401ae9:	83 f8 1f             	cmp    $0x1f,%eax
401aec:	0f 87 43 05 00 00    	ja     0x402035
401af2:	51                   	push   %ecx
401af3:	52                   	push   %edx
401af4:	e8 15 9e 01 00       	call   0x41b90e
401af9:	83 c4 08             	add    $0x8,%esp
401afc:	8d 85 b8 fe ff ff    	lea    -0x148(%ebp),%eax
401b02:	50                   	push   %eax
401b03:	8d 4d c0             	lea    -0x40(%ebp),%ecx
401b06:	e8 e5 17 01 00       	call   0x4132f0
401b0b:	83 c4 04             	add    $0x4,%esp
401b0e:	84 c0                	test   %al,%al
401b10:	75 22                	jne    0x401b34
401b12:	83 7d d4 08          	cmpl   $0x8,-0x2c(%ebp)
401b16:	8d 45 c0             	lea    -0x40(%ebp),%eax
401b19:	0f 43 45 c0          	cmovae -0x40(%ebp),%eax
401b1d:	50                   	push   %eax
401b1e:	68 60 b0 44 00       	push   $0x44b060
401b23:	8d 85 b8 fe ff ff    	lea    -0x148(%ebp),%eax
401b29:	6a 00                	push   $0x0
401b2b:	50                   	push   %eax
401b2c:	e8 1f d5 00 00       	call   0x40f050
401b31:	83 c4 10             	add    $0x10,%esp
401b34:	8d 85 54 ff ff ff    	lea    -0xac(%ebp),%eax
401b3a:	50                   	push   %eax
401b3b:	8d 4d 84             	lea    -0x7c(%ebp),%ecx
401b3e:	e8 7d 07 00 00       	call   0x4022c0
401b43:	c6 45 fc 0f          	movb   $0xf,-0x4(%ebp)
401b47:	8d 4d d8             	lea    -0x28(%ebp),%ecx
401b4a:	6a 14                	push   $0x14
401b4c:	68 88 b0 44 00       	push   $0x44b088
401b51:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
401b58:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
401b5f:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
401b66:	e8 a5 09 00 00       	call   0x402510
401b6b:	c6 45 fc 10          	movb   $0x10,-0x4(%ebp)
401b6f:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
401b72:	85 c9                	test   %ecx,%ecx
401b74:	0f 84 bf 00 00 00    	je     0x401c39
401b7a:	8b 45 e8             	mov    -0x18(%ebp),%eax
401b7d:	85 c0                	test   %eax,%eax
401b7f:	0f 84 b4 00 00 00    	je     0x401c39
401b85:	8d 71 0b             	lea    0xb(%ecx),%esi
401b88:	33 c9                	xor    %ecx,%ecx
401b8a:	03 f0                	add    %eax,%esi
401b8c:	8b c6                	mov    %esi,%eax
401b8e:	f7 e3                	mul    %ebx
401b90:	0f 90 c1             	seto   %cl
401b93:	f7 d9                	neg    %ecx
401b95:	0b c8                	or     %eax,%ecx
401b97:	51                   	push   %ecx
401b98:	e8 b6 4a 02 00       	call   0x426653
401b9d:	8b d8                	mov    %eax,%ebx
401b9f:	83 c4 04             	add    $0x4,%esp
401ba2:	85 db                	test   %ebx,%ebx
401ba4:	0f 84 8f 00 00 00    	je     0x401c39
401baa:	83 7d 98 08          	cmpl   $0x8,-0x68(%ebp)
401bae:	8d 4d 84             	lea    -0x7c(%ebp),%ecx
401bb1:	0f 43 4d 84          	cmovae -0x7c(%ebp),%ecx
401bb5:	51                   	push   %ecx
401bb6:	56                   	push   %esi
401bb7:	53                   	push   %ebx
401bb8:	e8 b9 48 02 00       	call   0x426476
401bbd:	83 c4 0c             	add    $0xc,%esp
401bc0:	8d 45 d8             	lea    -0x28(%ebp),%eax
401bc3:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
401bc7:	0f 43 45 d8          	cmovae -0x28(%ebp),%eax
401bcb:	50                   	push   %eax
401bcc:	53                   	push   %ebx
401bcd:	ff 15 fc f1 43 00    	call   *0x43f1fc
401bd3:	8b cb                	mov    %ebx,%ecx
401bd5:	8d 51 02             	lea    0x2(%ecx),%edx
401bd8:	0f 1f 84 00 00 00 00 	nopl   0x0(%eax,%eax,1)
401bdf:	00
401be0:	66 8b 01             	mov    (%ecx),%ax
401be3:	83 c1 02             	add    $0x2,%ecx
401be6:	66 85 c0             	test   %ax,%ax
401be9:	75 f5                	jne    0x401be0
401beb:	8b 45 98             	mov    -0x68(%ebp),%eax
401bee:	2b ca                	sub    %edx,%ecx
401bf0:	d1 f9                	sar    $1,%ecx
401bf2:	3b c8                	cmp    %eax,%ecx
401bf4:	77 23                	ja     0x401c19
401bf6:	8d 34 09             	lea    (%ecx,%ecx,1),%esi
401bf9:	89 4d 94             	mov    %ecx,-0x6c(%ebp)
401bfc:	83 f8 08             	cmp    $0x8,%eax
401bff:	8d 7d 84             	lea    -0x7c(%ebp),%edi
401c02:	56                   	push   %esi
401c03:	0f 43 7d 84          	cmovae -0x7c(%ebp),%edi
401c07:	53                   	push   %ebx
401c08:	57                   	push   %edi
401c09:	e8 42 b8 01 00       	call   0x41d450
401c0e:	83 c4 0c             	add    $0xc,%esp
401c11:	33 c0                	xor    %eax,%eax
401c13:	66 89 04 37          	mov    %ax,(%edi,%esi,1)
401c17:	eb 17                	jmp    0x401c30
401c19:	53                   	push   %ebx
401c1a:	c6 85 a4 fd ff ff 00 	movb   $0x0,-0x25c(%ebp)
401c21:	ff b5 a4 fd ff ff    	push   -0x25c(%ebp)
401c27:	51                   	push   %ecx
401c28:	8d 4d 84             	lea    -0x7c(%ebp),%ecx
401c2b:	e8 e0 09 00 00       	call   0x402610
401c30:	53                   	push   %ebx
401c31:	e8 17 44 02 00       	call   0x42604d
401c36:	83 c4 04             	add    $0x4,%esp
401c39:	c6 45 fc 0f          	movb   $0xf,-0x4(%ebp)
401c3d:	8b 4d ec             	mov    -0x14(%ebp),%ecx
401c40:	83 f9 08             	cmp    $0x8,%ecx
401c43:	72 32                	jb     0x401c77
401c45:	8b 55 d8             	mov    -0x28(%ebp),%edx
401c48:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
401c4f:	8b c2                	mov    %edx,%eax
401c51:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
401c57:	72 14                	jb     0x401c6d
401c59:	8b 50 fc             	mov    -0x4(%eax),%edx
401c5c:	83 c1 23             	add    $0x23,%ecx
401c5f:	2b c2                	sub    %edx,%eax
401c61:	83 c0 fc             	add    $0xfffffffc,%eax
401c64:	83 f8 1f             	cmp    $0x1f,%eax
401c67:	0f 87 cd 03 00 00    	ja     0x40203a
401c6d:	51                   	push   %ecx
401c6e:	52                   	push   %edx
401c6f:	e8 9a 9c 01 00       	call   0x41b90e
401c74:	83 c4 08             	add    $0x8,%esp
401c77:	0f 57 c0             	xorps  %xmm0,%xmm0
401c7a:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
401c81:	66 0f d6 45 e4       	movq   %xmm0,-0x1c(%ebp)
401c86:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
401c8d:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
401c94:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
401c9b:	51                   	push   %ecx
401c9c:	6a 01                	push   $0x1
401c9e:	8d 85 b8 fe ff ff    	lea    -0x148(%ebp),%eax
401ca4:	c6 45 fc 11          	movb   $0x11,-0x4(%ebp)
401ca8:	50                   	push   %eax
401ca9:	83 ec 08             	sub    $0x8,%esp
401cac:	8d 55 e4             	lea    -0x1c(%ebp),%edx
401caf:	8d 4d 84             	lea    -0x7c(%ebp),%ecx
401cb2:	e8 49 06 01 00       	call   0x412300
401cb7:	83 c4 14             	add    $0x14,%esp
401cba:	c6 45 fc 0f          	movb   $0xf,-0x4(%ebp)
401cbe:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
401cc1:	8a d8                	mov    %al,%bl
401cc3:	e8 a8 77 00 00       	call   0x409470
401cc8:	84 db                	test   %bl,%bl
401cca:	75 22                	jne    0x401cee
401ccc:	83 7d 98 08          	cmpl   $0x8,-0x68(%ebp)
401cd0:	8d 45 84             	lea    -0x7c(%ebp),%eax
401cd3:	0f 43 45 84          	cmovae -0x7c(%ebp),%eax
401cd7:	50                   	push   %eax
401cd8:	68 60 b0 44 00       	push   $0x44b060
401cdd:	8d 85 b8 fe ff ff    	lea    -0x148(%ebp),%eax
401ce3:	6a 00                	push   $0x0
401ce5:	50                   	push   %eax
401ce6:	e8 65 d3 00 00       	call   0x40f050
401ceb:	83 c4 10             	add    $0x10,%esp
401cee:	8d 85 54 ff ff ff    	lea    -0xac(%ebp),%eax
401cf4:	50                   	push   %eax
401cf5:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
401cf8:	e8 c3 05 00 00       	call   0x4022c0
401cfd:	c6 45 fc 12          	movb   $0x12,-0x4(%ebp)
401d01:	8d 4d d8             	lea    -0x28(%ebp),%ecx
401d04:	6a 14                	push   $0x14
401d06:	68 b4 b0 44 00       	push   $0x44b0b4
401d0b:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
401d12:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
401d19:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
401d20:	e8 eb 07 00 00       	call   0x402510
401d25:	51                   	push   %ecx
401d26:	8d 55 d8             	lea    -0x28(%ebp),%edx
401d29:	c6 45 fc 13          	movb   $0x13,-0x4(%ebp)
401d2d:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
401d30:	e8 2b 01 01 00       	call   0x411e60
401d35:	c6 45 fc 12          	movb   $0x12,-0x4(%ebp)
401d39:	83 c4 04             	add    $0x4,%esp
401d3c:	8b 4d ec             	mov    -0x14(%ebp),%ecx
401d3f:	83 f9 08             	cmp    $0x8,%ecx
401d42:	72 32                	jb     0x401d76
401d44:	8b 55 d8             	mov    -0x28(%ebp),%edx
401d47:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
401d4e:	8b c2                	mov    %edx,%eax
401d50:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
401d56:	72 14                	jb     0x401d6c
401d58:	8b 50 fc             	mov    -0x4(%eax),%edx
401d5b:	83 c1 23             	add    $0x23,%ecx
401d5e:	2b c2                	sub    %edx,%eax
401d60:	83 c0 fc             	add    $0xfffffffc,%eax
401d63:	83 f8 1f             	cmp    $0x1f,%eax
401d66:	0f 87 d3 02 00 00    	ja     0x40203f
401d6c:	51                   	push   %ecx
401d6d:	52                   	push   %edx
401d6e:	e8 9b 9b 01 00       	call   0x41b90e
401d73:	83 c4 08             	add    $0x8,%esp
401d76:	0f 57 c0             	xorps  %xmm0,%xmm0
401d79:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
401d80:	66 0f d6 45 e4       	movq   %xmm0,-0x1c(%ebp)
401d85:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
401d8c:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
401d93:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
401d9a:	51                   	push   %ecx
401d9b:	6a 01                	push   $0x1
401d9d:	8d 85 b8 fe ff ff    	lea    -0x148(%ebp),%eax
401da3:	c6 45 fc 14          	movb   $0x14,-0x4(%ebp)
401da7:	50                   	push   %eax
401da8:	83 ec 08             	sub    $0x8,%esp
401dab:	8d 55 e4             	lea    -0x1c(%ebp),%edx
401dae:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
401db1:	e8 4a 05 01 00       	call   0x412300
401db6:	83 c4 14             	add    $0x14,%esp
401db9:	c6 45 fc 12          	movb   $0x12,-0x4(%ebp)
401dbd:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
401dc0:	8a d8                	mov    %al,%bl
401dc2:	e8 a9 76 00 00       	call   0x409470
401dc7:	84 db                	test   %bl,%bl
401dc9:	75 22                	jne    0x401ded
401dcb:	83 7d b0 08          	cmpl   $0x8,-0x50(%ebp)
401dcf:	8d 45 9c             	lea    -0x64(%ebp),%eax
401dd2:	0f 43 45 9c          	cmovae -0x64(%ebp),%eax
401dd6:	50                   	push   %eax
401dd7:	68 60 b0 44 00       	push   $0x44b060
401ddc:	8d 85 b8 fe ff ff    	lea    -0x148(%ebp),%eax
401de2:	6a 00                	push   $0x0
401de4:	50                   	push   %eax
401de5:	e8 66 d2 00 00       	call   0x40f050
401dea:	83 c4 10             	add    $0x10,%esp
401ded:	c6 45 fc 0f          	movb   $0xf,-0x4(%ebp)
401df1:	8b 4d b0             	mov    -0x50(%ebp),%ecx
401df4:	83 f9 08             	cmp    $0x8,%ecx
401df7:	72 32                	jb     0x401e2b
401df9:	8b 55 9c             	mov    -0x64(%ebp),%edx
401dfc:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
401e03:	8b c2                	mov    %edx,%eax
401e05:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
401e0b:	72 14                	jb     0x401e21
401e0d:	8b 50 fc             	mov    -0x4(%eax),%edx
401e10:	83 c1 23             	add    $0x23,%ecx
401e13:	2b c2                	sub    %edx,%eax
401e15:	83 c0 fc             	add    $0xfffffffc,%eax
401e18:	83 f8 1f             	cmp    $0x1f,%eax
401e1b:	0f 87 23 02 00 00    	ja     0x402044
401e21:	51                   	push   %ecx
401e22:	52                   	push   %edx
401e23:	e8 e6 9a 01 00       	call   0x41b90e
401e28:	83 c4 08             	add    $0x8,%esp
401e2b:	33 c0                	xor    %eax,%eax
401e2d:	c6 45 fc 0b          	movb   $0xb,-0x4(%ebp)
401e31:	8b 4d 98             	mov    -0x68(%ebp),%ecx
401e34:	c7 45 ac 00 00 00 00 	movl   $0x0,-0x54(%ebp)
401e3b:	c7 45 b0 07 00 00 00 	movl   $0x7,-0x50(%ebp)
401e42:	66 89 45 9c          	mov    %ax,-0x64(%ebp)
401e46:	83 f9 08             	cmp    $0x8,%ecx
401e49:	72 32                	jb     0x401e7d
401e4b:	8b 55 84             	mov    -0x7c(%ebp),%edx
401e4e:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
401e55:	8b c2                	mov    %edx,%eax
401e57:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
401e5d:	72 14                	jb     0x401e73
401e5f:	8b 50 fc             	mov    -0x4(%eax),%edx
401e62:	83 c1 23             	add    $0x23,%ecx
401e65:	2b c2                	sub    %edx,%eax
401e67:	83 c0 fc             	add    $0xfffffffc,%eax
401e6a:	83 f8 1f             	cmp    $0x1f,%eax
401e6d:	0f 87 d1 01 00 00    	ja     0x402044
401e73:	51                   	push   %ecx
401e74:	52                   	push   %edx
401e75:	e8 94 9a 01 00       	call   0x41b90e
401e7a:	83 c4 08             	add    $0x8,%esp
401e7d:	33 c0                	xor    %eax,%eax
401e7f:	c6 45 fc 0a          	movb   $0xa,-0x4(%ebp)
401e83:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
401e86:	c7 45 94 00 00 00 00 	movl   $0x0,-0x6c(%ebp)
401e8d:	c7 45 98 07 00 00 00 	movl   $0x7,-0x68(%ebp)
401e94:	66 89 45 84          	mov    %ax,-0x7c(%ebp)
401e98:	83 f9 08             	cmp    $0x8,%ecx
401e9b:	72 32                	jb     0x401ecf
401e9d:	8b 55 c0             	mov    -0x40(%ebp),%edx
401ea0:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
401ea7:	8b c2                	mov    %edx,%eax
401ea9:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
401eaf:	72 14                	jb     0x401ec5
401eb1:	8b 50 fc             	mov    -0x4(%eax),%edx
401eb4:	83 c1 23             	add    $0x23,%ecx
401eb7:	2b c2                	sub    %edx,%eax
401eb9:	83 c0 fc             	add    $0xfffffffc,%eax
401ebc:	83 f8 1f             	cmp    $0x1f,%eax
401ebf:	0f 87 7f 01 00 00    	ja     0x402044
401ec5:	51                   	push   %ecx
401ec6:	52                   	push   %edx
401ec7:	e8 42 9a 01 00       	call   0x41b90e
401ecc:	83 c4 08             	add    $0x8,%esp
401ecf:	33 c0                	xor    %eax,%eax
401ed1:	c6 45 fc 09          	movb   $0x9,-0x4(%ebp)
401ed5:	8b 8d 68 ff ff ff    	mov    -0x98(%ebp),%ecx
401edb:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
401ee2:	c7 45 d4 07 00 00 00 	movl   $0x7,-0x2c(%ebp)
401ee9:	66 89 45 c0          	mov    %ax,-0x40(%ebp)
401eed:	83 f9 08             	cmp    $0x8,%ecx
401ef0:	72 35                	jb     0x401f27
401ef2:	8b 95 54 ff ff ff    	mov    -0xac(%ebp),%edx
401ef8:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
401eff:	8b c2                	mov    %edx,%eax
401f01:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
401f07:	72 14                	jb     0x401f1d
401f09:	8b 50 fc             	mov    -0x4(%eax),%edx
401f0c:	83 c1 23             	add    $0x23,%ecx
401f0f:	2b c2                	sub    %edx,%eax
401f11:	83 c0 fc             	add    $0xfffffffc,%eax
401f14:	83 f8 1f             	cmp    $0x1f,%eax
401f17:	0f 87 27 01 00 00    	ja     0x402044
401f1d:	51                   	push   %ecx
401f1e:	52                   	push   %edx
401f1f:	e8 ea 99 01 00       	call   0x41b90e
401f24:	83 c4 08             	add    $0x8,%esp
401f27:	8b 9d 3c ff ff ff    	mov    -0xc4(%ebp),%ebx
401f2d:	8d 85 a8 fd ff ff    	lea    -0x258(%ebp),%eax
401f33:	50                   	push   %eax
401f34:	e8 a7 09 00 00       	call   0x4028e0
401f39:	8b c8                	mov    %eax,%ecx
401f3b:	e8 d0 0c 00 00       	call   0x402c10
401f40:	8b bd 50 ff ff ff    	mov    -0xb0(%ebp),%edi
401f46:	8b 4d 80             	mov    -0x80(%ebp),%ecx
401f49:	83 f9 08             	cmp    $0x8,%ecx
401f4c:	72 35                	jb     0x401f83
401f4e:	8b 95 6c ff ff ff    	mov    -0x94(%ebp),%edx
401f54:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
401f5b:	8b c2                	mov    %edx,%eax
401f5d:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
401f63:	72 14                	jb     0x401f79
401f65:	8b 50 fc             	mov    -0x4(%eax),%edx
401f68:	83 c1 23             	add    $0x23,%ecx
401f6b:	2b c2                	sub    %edx,%eax
401f6d:	83 c0 fc             	add    $0xfffffffc,%eax
401f70:	83 f8 1f             	cmp    $0x1f,%eax
401f73:	0f 87 d0 00 00 00    	ja     0x402049
401f79:	51                   	push   %ecx
401f7a:	52                   	push   %edx
401f7b:	e8 8e 99 01 00       	call   0x41b90e
401f80:	83 c4 08             	add    $0x8,%esp
401f83:	33 c0                	xor    %eax,%eax