415acd:	ff 75 1c             	push   0x1c(%ebp)
415ad0:	e8 3e 23 ff ff       	call   0x407e13
415ad5:	8b f8                	mov    %eax,%edi
415ad7:	89 7d fc             	mov    %edi,-0x4(%ebp)
415ada:	85 ff                	test   %edi,%edi
415adc:	0f 88 c2 0a 00 00    	js     0x4165a4
415ae2:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
415ae6:	0f 84 b9 09 00 00    	je     0x4164a5
415aec:	ff 75 f8             	push   -0x8(%ebp)
415aef:	8d 45 f4             	lea    -0xc(%ebp),%eax
415af2:	68 54 5d 45 00       	push   $0x455d54
415af7:	50                   	push   %eax
415af8:	e8 23 c4 fe ff       	call   0x401f20
415afd:	8b f8                	mov    %eax,%edi
415aff:	83 c4 0c             	add    $0xc,%esp
415b02:	89 7d fc             	mov    %edi,-0x4(%ebp)
415b05:	85 ff                	test   %edi,%edi
415b07:	0f 89 98 09 00 00    	jns    0x4164a5
415b0d:	68 68 5d 45 00       	push   $0x455d68
415b12:	e9 05 0c 00 00       	jmp    0x41671c
415b17:	6a ff                	push   $0xffffffff
415b19:	68 b4 58 45 00       	push   $0x4558b4
415b1e:	6a ff                	push   $0xffffffff
415b20:	8d 41 02             	lea    0x2(%ecx),%eax
415b23:	50                   	push   %eax
415b24:	6a 01                	push   $0x1
415b26:	6a 7f                	push   $0x7f
415b28:	ff 15 28 b1 44 00    	call   *0x44b128
415b2e:	83 f8 02             	cmp    $0x2,%eax
415b31:	0f 84 b0 09 00 00    	je     0x4164e7
415b37:	8b 04 9e             	mov    (%esi,%ebx,4),%eax
415b3a:	6a ff                	push   $0xffffffff
415b3c:	68 3c 39 45 00       	push   $0x45393c
415b41:	6a ff                	push   $0xffffffff
415b43:	83 c0 02             	add    $0x2,%eax
415b46:	50                   	push   %eax
415b47:	6a 01                	push   $0x1
415b49:	6a 7f                	push   $0x7f
415b4b:	ff 15 28 b1 44 00    	call   *0x44b128
415b51:	83 f8 02             	cmp    $0x2,%eax
415b54:	0f 84 8d 09 00 00    	je     0x4164e7
415b5a:	8b 04 9e             	mov    (%esi,%ebx,4),%eax
415b5d:	6a ff                	push   $0xffffffff
415b5f:	68 f8 58 45 00       	push   $0x4558f8
415b64:	6a ff                	push   $0xffffffff
415b66:	83 c0 02             	add    $0x2,%eax
415b69:	50                   	push   %eax
415b6a:	6a 01                	push   $0x1
415b6c:	6a 7f                	push   $0x7f
415b6e:	ff 15 28 b1 44 00    	call   *0x44b128
415b74:	83 f8 02             	cmp    $0x2,%eax
415b77:	0f 84 62 09 00 00    	je     0x4164df
415b7d:	8b 04 9e             	mov    (%esi,%ebx,4),%eax
415b80:	6a ff                	push   $0xffffffff
415b82:	68 fc 58 45 00       	push   $0x4558fc
415b87:	6a ff                	push   $0xffffffff
415b89:	83 c0 02             	add    $0x2,%eax
415b8c:	50                   	push   %eax
415b8d:	6a 01                	push   $0x1
415b8f:	6a 7f                	push   $0x7f
415b91:	ff 15 28 b1 44 00    	call   *0x44b128
415b97:	83 f8 02             	cmp    $0x2,%eax
415b9a:	0f 84 3f 09 00 00    	je     0x4164df
415ba0:	8b 04 9e             	mov    (%esi,%ebx,4),%eax
415ba3:	6a ff                	push   $0xffffffff
415ba5:	68 00 59 45 00       	push   $0x455900
415baa:	6a ff                	push   $0xffffffff
415bac:	83 c0 02             	add    $0x2,%eax
415baf:	50                   	push   %eax
415bb0:	6a 01                	push   $0x1
415bb2:	6a 7f                	push   $0x7f
415bb4:	ff 15 28 b1 44 00    	call   *0x44b128
415bba:	83 f8 02             	cmp    $0x2,%eax
415bbd:	0f 84 1c 09 00 00    	je     0x4164df
415bc3:	8b 04 9e             	mov    (%esi,%ebx,4),%eax
415bc6:	6a ff                	push   $0xffffffff
415bc8:	68 0c 59 45 00       	push   $0x45590c
415bcd:	6a ff                	push   $0xffffffff
415bcf:	83 c0 02             	add    $0x2,%eax
415bd2:	50                   	push   %eax
415bd3:	6a 01                	push   $0x1
415bd5:	6a 7f                	push   $0x7f
415bd7:	ff 15 28 b1 44 00    	call   *0x44b128
415bdd:	83 f8 02             	cmp    $0x2,%eax
415be0:	0f 84 e0 08 00 00    	je     0x4164c6
415be6:	8b 04 9e             	mov    (%esi,%ebx,4),%eax
415be9:	6a ff                	push   $0xffffffff
415beb:	68 10 59 45 00       	push   $0x455910
415bf0:	6a ff                	push   $0xffffffff
415bf2:	83 c0 02             	add    $0x2,%eax
415bf5:	50                   	push   %eax
415bf6:	6a 01                	push   $0x1
415bf8:	6a 7f                	push   $0x7f
415bfa:	ff 15 28 b1 44 00    	call   *0x44b128
415c00:	83 f8 02             	cmp    $0x2,%eax
415c03:	0f 84 bd 08 00 00    	je     0x4164c6
415c09:	8b 04 9e             	mov    (%esi,%ebx,4),%eax
415c0c:	6a ff                	push   $0xffffffff
415c0e:	68 1c 59 45 00       	push   $0x45591c
415c13:	6a ff                	push   $0xffffffff
415c15:	83 c0 02             	add    $0x2,%eax
415c18:	50                   	push   %eax
415c19:	6a 01                	push   $0x1
415c1b:	6a 7f                	push   $0x7f
415c1d:	ff 15 28 b1 44 00    	call   *0x44b128
415c23:	83 f8 02             	cmp    $0x2,%eax
415c26:	0f 84 9a 08 00 00    	je     0x4164c6
415c2c:	8b 04 9e             	mov    (%esi,%ebx,4),%eax
415c2f:	6a ff                	push   $0xffffffff
415c31:	68 20 59 45 00       	push   $0x455920
415c36:	6a ff                	push   $0xffffffff
415c38:	83 c0 02             	add    $0x2,%eax
415c3b:	50                   	push   %eax
415c3c:	6a 01                	push   $0x1
415c3e:	6a 7f                	push   $0x7f
415c40:	ff 15 28 b1 44 00    	call   *0x44b128
415c46:	83 f8 02             	cmp    $0x2,%eax
415c49:	0f 84 77 08 00 00    	je     0x4164c6
415c4f:	8b 04 9e             	mov    (%esi,%ebx,4),%eax
415c52:	6a ff                	push   $0xffffffff
415c54:	68 30 59 45 00       	push   $0x455930
415c59:	6a ff                	push   $0xffffffff
415c5b:	83 c0 02             	add    $0x2,%eax
415c5e:	50                   	push   %eax
415c5f:	6a 01                	push   $0x1
415c61:	6a 7f                	push   $0x7f
415c63:	ff 15 28 b1 44 00    	call   *0x44b128
415c69:	83 f8 02             	cmp    $0x2,%eax
415c6c:	75 1b                	jne    0x415c89
415c6e:	8b 4d 10             	mov    0x10(%ebp),%ecx
415c71:	6a 03                	push   $0x3
415c73:	58                   	pop    %eax
415c74:	83 79 08 00          	cmpl   $0x0,0x8(%ecx)
415c78:	89 41 04             	mov    %eax,0x4(%ecx)
415c7b:	0f 85 90 08 00 00    	jne    0x416511
415c81:	89 41 08             	mov    %eax,0x8(%ecx)
415c84:	e9 88 08 00 00       	jmp    0x416511
415c89:	8b 04 9e             	mov    (%esi,%ebx,4),%eax
415c8c:	6a ff                	push   $0xffffffff
415c8e:	68 40 59 45 00       	push   $0x455940
415c93:	6a ff                	push   $0xffffffff
415c95:	83 c0 02             	add    $0x2,%eax
415c98:	50                   	push   %eax
415c99:	6a 01                	push   $0x1
415c9b:	6a 7f                	push   $0x7f
415c9d:	ff 15 28 b1 44 00    	call   *0x44b128
415ca3:	83 f8 02             	cmp    $0x2,%eax
415ca6:	75 0f                	jne    0x415cb7
415ca8:	8b 45 10             	mov    0x10(%ebp),%eax
415cab:	c7 40 08 01 00 00 00 	movl   $0x1,0x8(%eax)
415cb2:	e9 5a 08 00 00       	jmp    0x416511
415cb7:	8b 04 9e             	mov    (%esi,%ebx,4),%eax
415cba:	6a ff                	push   $0xffffffff
415cbc:	68 54 59 45 00       	push   $0x455954
415cc1:	6a ff                	push   $0xffffffff
415cc3:	83 c0 02             	add    $0x2,%eax
415cc6:	50                   	push   %eax
415cc7:	6a 01                	push   $0x1
415cc9:	6a 7f                	push   $0x7f
415ccb:	ff 15 28 b1 44 00    	call   *0x44b128
415cd1:	83 f8 02             	cmp    $0x2,%eax
415cd4:	75 0f                	jne    0x415ce5
415cd6:	8b 45 10             	mov    0x10(%ebp),%eax
415cd9:	c7 40 08 04 00 00 00 	movl   $0x4,0x8(%eax)
415ce0:	e9 2c 08 00 00       	jmp    0x416511
415ce5:	8b 04 9e             	mov    (%esi,%ebx,4),%eax
415ce8:	6a ff                	push   $0xffffffff
415cea:	68 70 59 45 00       	push   $0x455970
415cef:	6a ff                	push   $0xffffffff
415cf1:	83 c0 02             	add    $0x2,%eax
415cf4:	50                   	push   %eax
415cf5:	6a 01                	push   $0x1
415cf7:	6a 7f                	push   $0x7f
415cf9:	ff 15 28 b1 44 00    	call   *0x44b128
415cff:	83 f8 02             	cmp    $0x2,%eax
415d02:	75 0f                	jne    0x415d13
415d04:	8b 45 10             	mov    0x10(%ebp),%eax
415d07:	c7 40 08 02 00 00 00 	movl   $0x2,0x8(%eax)
415d0e:	e9 fe 07 00 00       	jmp    0x416511
415d13:	8b 04 9e             	mov    (%esi,%ebx,4),%eax
415d16:	6a ff                	push   $0xffffffff
415d18:	68 8c 59 45 00       	push   $0x45598c
415d1d:	6a ff                	push   $0xffffffff
415d1f:	83 c0 02             	add    $0x2,%eax
415d22:	50                   	push   %eax
415d23:	6a 01                	push   $0x1
415d25:	6a 7f                	push   $0x7f
415d27:	ff 15 28 b1 44 00    	call   *0x44b128
415d2d:	6a 02                	push   $0x2
415d2f:	5a                   	pop    %edx
415d30:	3b c2                	cmp    %edx,%eax
415d32:	75 58                	jne    0x415d8c
415d34:	8b 4d 10             	mov    0x10(%ebp),%ecx
415d37:	83 39 01             	cmpl   $0x1,(%ecx)
415d3a:	74 02                	je     0x415d3e
415d3c:	89 11                	mov    %edx,(%ecx)
415d3e:	8d 53 01             	lea    0x1(%ebx),%edx
415d41:	3b 55 08             	cmp    0x8(%ebp),%edx
415d44:	0f 8d c7 07 00 00    	jge    0x416511
415d4a:	8b 44 9e 04          	mov    0x4(%esi,%ebx,4),%eax
415d4e:	0f b7 00             	movzwl (%eax),%eax
415d51:	66 3b 45 ec          	cmp    -0x14(%ebp),%ax
415d55:	0f 84 b6 07 00 00    	je     0x416511
415d5b:	66 3b 45 e8          	cmp    -0x18(%ebp),%ax
415d5f:	0f 84 ac 07 00 00    	je     0x416511
415d65:	8b da                	mov    %edx,%ebx
415d67:	8d 41 24             	lea    0x24(%ecx),%eax
415d6a:	6a 03                	push   $0x3
415d6c:	ff 34 9e             	push   (%esi,%ebx,4)
415d6f:	50                   	push   %eax
415d70:	e8 0e d3 fe ff       	call   0x403083
415d75:	8b f8                	mov    %eax,%edi
415d77:	89 7d fc             	mov    %edi,-0x4(%ebp)
415d7a:	85 ff                	test   %edi,%edi
415d7c:	0f 89 8f 07 00 00    	jns    0x416511
415d82:	68 9c 59 45 00       	push   $0x45599c
415d87:	e9 90 09 00 00       	jmp    0x41671c
415d8c:	8b 04 9e             	mov    (%esi,%ebx,4),%eax
415d8f:	6a ff                	push   $0xffffffff
415d91:	68 c8 59 45 00       	push   $0x4559c8
415d96:	6a ff                	push   $0xffffffff
415d98:	03 c2                	add    %edx,%eax
415d9a:	50                   	push   %eax
415d9b:	6a 01                	push   $0x1
415d9d:	6a 7f                	push   $0x7f
415d9f:	ff 15 28 b1 44 00    	call   *0x44b128
415da5:	83 f8 02             	cmp    $0x2,%eax
415da8:	75 17                	jne    0x415dc1
415daa:	8b 4d 10             	mov    0x10(%ebp),%ecx
415dad:	83 39 01             	cmpl   $0x1,(%ecx)
415db0:	0f 84 5b 07 00 00    	je     0x416511
415db6:	c7 01 03 00 00 00    	movl   $0x3,(%ecx)
415dbc:	e9 50 07 00 00       	jmp    0x416511
415dc1:	8b 04 9e             	mov    (%esi,%ebx,4),%eax
415dc4:	6a ff                	push   $0xffffffff
415dc6:	68 dc 59 45 00       	push   $0x4559dc
415dcb:	6a ff                	push   $0xffffffff
415dcd:	83 c0 02             	add    $0x2,%eax
415dd0:	50                   	push   %eax
415dd1:	6a 01                	push   $0x1
415dd3:	6a 7f                	push   $0x7f
415dd5:	ff 15 28 b1 44 00    	call   *0x44b128
415ddb:	83 f8 02             	cmp    $0x2,%eax
415dde:	75 17                	jne    0x415df7
415de0:	8b 4d 10             	mov    0x10(%ebp),%ecx
415de3:	83 39 01             	cmpl   $0x1,(%ecx)
415de6:	0f 84 25 07 00 00    	je     0x416511
415dec:	c7 01 07 00 00 00    	movl   $0x7,(%ecx)
415df2:	e9 1a 07 00 00       	jmp    0x416511
415df7:	8b 04 9e             	mov    (%esi,%ebx,4),%eax
415dfa:	6a ff                	push   $0xffffffff
415dfc:	68 ec 59 45 00       	push   $0x4559ec
415e01:	6a ff                	push   $0xffffffff
415e03:	83 c0 02             	add    $0x2,%eax
415e06:	50                   	push   %eax
415e07:	6a 01                	push   $0x1
415e09:	6a 7f                	push   $0x7f
415e0b:	ff 15 28 b1 44 00    	call   *0x44b128
415e11:	83 f8 02             	cmp    $0x2,%eax
415e14:	75 17                	jne    0x415e2d
415e16:	8b 4d 10             	mov    0x10(%ebp),%ecx
415e19:	83 39 01             	cmpl   $0x1,(%ecx)
415e1c:	0f 84 ef 06 00 00    	je     0x416511
415e22:	c7 01 06 00 00 00    	movl   $0x6,(%ecx)
415e28:	e9 e4 06 00 00       	jmp    0x416511
415e2d:	8b 04 9e             	mov    (%esi,%ebx,4),%eax
415e30:	6a ff                	push   $0xffffffff
415e32:	68 fc 59 45 00       	push   $0x4559fc
415e37:	6a ff                	push   $0xffffffff
415e39:	83 c0 02             	add    $0x2,%eax
415e3c:	50                   	push   %eax
415e3d:	6a 01                	push   $0x1
415e3f:	6a 7f                	push   $0x7f
415e41:	ff 15 28 b1 44 00    	call   *0x44b128
415e47:	83 f8 02             	cmp    $0x2,%eax
415e4a:	0f 84 66 06 00 00    	je     0x4164b6
415e50:	8b 04 9e             	mov    (%esi,%ebx,4),%eax
415e53:	6a ff                	push   $0xffffffff
415e55:	68 0c 5a 45 00       	push   $0x455a0c
415e5a:	6a ff                	push   $0xffffffff
415e5c:	83 c0 02             	add    $0x2,%eax
415e5f:	50                   	push   %eax
415e60:	6a 01                	push   $0x1
415e62:	6a 7f                	push   $0x7f
415e64:	ff 15 28 b1 44 00    	call   *0x44b128
415e6a:	83 f8 02             	cmp    $0x2,%eax
415e6d:	0f 84 43 06 00 00    	je     0x4164b6
415e73:	8b 04 9e             	mov    (%esi,%ebx,4),%eax
415e76:	6a ff                	push   $0xffffffff
415e78:	68 1c 5a 45 00       	push   $0x455a1c
415e7d:	6a ff                	push   $0xffffffff
415e7f:	83 c0 02             	add    $0x2,%eax
415e82:	50                   	push   %eax
415e83:	6a 01                	push   $0x1
415e85:	6a 7f                	push   $0x7f
415e87:	ff 15 28 b1 44 00    	call   *0x44b128
415e8d:	83 f8 02             	cmp    $0x2,%eax
415e90:	75 0b                	jne    0x415e9d
415e92:	8b 45 24             	mov    0x24(%ebp),%eax
415e95:	83 20 00             	andl   $0x0,(%eax)
415e98:	e9 74 06 00 00       	jmp    0x416511
415e9d:	8b 04 9e             	mov    (%esi,%ebx,4),%eax
415ea0:	6a ff                	push   $0xffffffff
415ea2:	68 30 5a 45 00       	push   $0x455a30
415ea7:	6a ff                	push   $0xffffffff
415ea9:	83 c0 02             	add    $0x2,%eax
415eac:	50                   	push   %eax
415ead:	6a 01                	push   $0x1
415eaf:	6a 7f                	push   $0x7f
415eb1:	ff 15 28 b1 44 00    	call   *0x44b128
415eb7:	83 f8 02             	cmp    $0x2,%eax
415eba:	75 17                	jne    0x415ed3
415ebc:	8b 45 24             	mov    0x24(%ebp),%eax
415ebf:	83 38 00             	cmpl   $0x0,(%eax)
415ec2:	0f 84 49 06 00 00    	je     0x416511
415ec8:	c7 00 02 00 00 00    	movl   $0x2,(%eax)
415ece:	e9 3e 06 00 00       	jmp    0x416511
415ed3:	8b 04 9e             	mov    (%esi,%ebx,4),%eax
415ed6:	6a ff                	push   $0xffffffff
415ed8:	68 4c 5a 45 00       	push   $0x455a4c
415edd:	6a ff                	push   $0xffffffff
415edf:	83 c0 02             	add    $0x2,%eax
415ee2:	50                   	push   %eax
415ee3:	6a 01                	push   $0x1
415ee5:	6a 7f                	push   $0x7f
415ee7:	ff 15 28 b1 44 00    	call   *0x44b128
415eed:	83 f8 02             	cmp    $0x2,%eax
415ef0:	75 0e                	jne    0x415f00
415ef2:	8b 45 28             	mov    0x28(%ebp),%eax
415ef5:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
415efb:	e9 11 06 00 00       	jmp    0x416511
415f00:	8b 04 9e             	mov    (%esi,%ebx,4),%eax
415f03:	6a ff                	push   $0xffffffff
415f05:	68 78 5a 45 00       	push   $0x455a78
415f0a:	6a ff                	push   $0xffffffff
415f0c:	83 c0 02             	add    $0x2,%eax
415f0f:	50                   	push   %eax
415f10:	6a 01                	push   $0x1
415f12:	6a 7f                	push   $0x7f
415f14:	ff 15 28 b1 44 00    	call   *0x44b128
415f1a:	83 f8 02             	cmp    $0x2,%eax
415f1d:	75 2e                	jne    0x415f4d
415f1f:	43                   	inc    %ebx
415f20:	3b 5d 08             	cmp    0x8(%ebp),%ebx
415f23:	0f 8d 8f 06 00 00    	jge    0x4165b8
415f29:	6a 00                	push   $0x0
415f2b:	ff 34 9e             	push   (%esi,%ebx,4)
415f2e:	ff 75 30             	push   0x30(%ebp)
415f31:	e8 6f c2 fe ff       	call   0x4021a5
415f36:	8b f8                	mov    %eax,%edi