405af7:	0f 84 81 00 00 00    	je     0x405b7e
405afd:	68 a4 db 44 00       	push   $0x44dba4
405b02:	50                   	push   %eax
405b03:	e8 74 76 01 00       	call   0x41d17c
405b08:	83 c4 08             	add    $0x8,%esp
405b0b:	85 c0                	test   %eax,%eax
405b0d:	74 6f                	je     0x405b7e
405b0f:	8b 85 ec fd ff ff    	mov    -0x214(%ebp),%eax
405b15:	83 f8 27             	cmp    $0x27,%eax
405b18:	72 3c                	jb     0x405b56
405b1a:	83 f8 08             	cmp    $0x8,%eax
405b1d:	c7 85 e8 fd ff ff 27 	movl   $0x27,-0x218(%ebp)
405b24:	00 00 00
405b27:	6a 4e                	push   $0x4e
405b29:	8d b5 d8 fd ff ff    	lea    -0x228(%ebp),%esi
405b2f:	0f 43 b5 d8 fd ff ff 	cmovae -0x228(%ebp),%esi
405b36:	68 b0 db 44 00       	push   $0x44dbb0
405b3b:	56                   	push   %esi
405b3c:	e8 0f 79 01 00       	call   0x41d450
405b41:	83 c4 0c             	add    $0xc,%esp
405b44:	33 c0                	xor    %eax,%eax
405b46:	66 89 46 4e          	mov    %ax,0x4e(%esi)
405b4a:	6a 04                	push   $0x4
405b4c:	68 38 dc 44 00       	push   $0x44dc38
405b51:	e9 8d 00 00 00       	jmp    0x405be3
405b56:	68 b0 db 44 00       	push   $0x44dbb0
405b5b:	c6 85 dc fc ff ff 00 	movb   $0x0,-0x324(%ebp)
405b62:	8d 8d d8 fd ff ff    	lea    -0x228(%ebp),%ecx
405b68:	ff b5 dc fc ff ff    	push   -0x324(%ebp)
405b6e:	6a 27                	push   $0x27
405b70:	e8 9b ca ff ff       	call   0x402610
405b75:	6a 04                	push   $0x4
405b77:	68 38 dc 44 00       	push   $0x44dc38
405b7c:	eb 65                	jmp    0x405be3
405b7e:	8d 85 d8 fd ff ff    	lea    -0x228(%ebp),%eax
405b84:	8b cb                	mov    %ebx,%ecx
405b86:	50                   	push   %eax
405b87:	56                   	push   %esi
405b88:	e8 43 04 01 00       	call   0x415fd0
405b8d:	8b 45 10             	mov    0x10(%ebp),%eax
405b90:	83 c0 f6             	add    $0xfffffff6,%eax
405b93:	83 f8 3c             	cmp    $0x3c,%eax
405b96:	77 44                	ja     0x405bdc
405b98:	0f b6 80 4c 65 40 00 	movzbl 0x40654c(%eax),%eax
405b9f:	ff 24 85 2c 65 40 00 	jmp    *0x40652c(,%eax,4)
405ba6:	6a 05                	push   $0x5
405ba8:	68 20 dc 44 00       	push   $0x44dc20
405bad:	eb 34                	jmp    0x405be3
405baf:	6a 05                	push   $0x5
405bb1:	68 2c dc 44 00       	push   $0x44dc2c
405bb6:	eb 2b                	jmp    0x405be3
405bb8:	6a 04                	push   $0x4
405bba:	68 44 dc 44 00       	push   $0x44dc44
405bbf:	eb 22                	jmp    0x405be3
405bc1:	6a 05                	push   $0x5
405bc3:	68 50 dc 44 00       	push   $0x44dc50
405bc8:	eb 19                	jmp    0x405be3
405bca:	6a 05                	push   $0x5
405bcc:	68 5c dc 44 00       	push   $0x44dc5c
405bd1:	eb 10                	jmp    0x405be3
405bd3:	6a 04                	push   $0x4
405bd5:	68 68 dc 44 00       	push   $0x44dc68
405bda:	eb 07                	jmp    0x405be3
405bdc:	6a 03                	push   $0x3
405bde:	68 74 dc 44 00       	push   $0x44dc74
405be3:	8d 8d f4 fc ff ff    	lea    -0x30c(%ebp),%ecx
405be9:	c7 85 f4 fc ff ff 00 	movl   $0x0,-0x30c(%ebp)
405bf0:	00 00 00
405bf3:	c7 85 04 fd ff ff 00 	movl   $0x0,-0x2fc(%ebp)
405bfa:	00 00 00
405bfd:	c7 85 08 fd ff ff 00 	movl   $0x0,-0x2f8(%ebp)
405c04:	00 00 00
405c07:	e8 04 c9 ff ff       	call   0x402510
405c0c:	8d 8d f0 fd ff ff    	lea    -0x210(%ebp),%ecx
405c12:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
405c16:	8d 73 1c             	lea    0x1c(%ebx),%esi
405c19:	8d 51 02             	lea    0x2(%ecx),%edx
405c1c:	0f 1f 40 00          	nopl   0x0(%eax)
405c20:	66 8b 01             	mov    (%ecx),%ax
405c23:	83 c1 02             	add    $0x2,%ecx
405c26:	66 85 c0             	test   %ax,%ax
405c29:	75 f5                	jne    0x405c20
405c2b:	2b ca                	sub    %edx,%ecx
405c2d:	b8 fe ff ff 7f       	mov    $0x7ffffffe,%eax
405c32:	8b 56 10             	mov    0x10(%esi),%edx
405c35:	2b c2                	sub    %edx,%eax
405c37:	d1 f9                	sar    $1,%ecx
405c39:	3b c1                	cmp    %ecx,%eax
405c3b:	0f 82 d5 08 00 00    	jb     0x406516
405c41:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
405c45:	8b c6                	mov    %esi,%eax
405c47:	72 02                	jb     0x405c4b
405c49:	8b 06                	mov    (%esi),%eax
405c4b:	52                   	push   %edx
405c4c:	50                   	push   %eax
405c4d:	51                   	push   %ecx
405c4e:	8d 85 f0 fd ff ff    	lea    -0x210(%ebp),%eax
405c54:	50                   	push   %eax
405c55:	51                   	push   %ecx
405c56:	ff b5 24 fd ff ff    	push   -0x2dc(%ebp)
405c5c:	8d 8d 94 fc ff ff    	lea    -0x36c(%ebp),%ecx
405c62:	e8 09 72 00 00       	call   0x40ce70
405c67:	68 04 dc 44 00       	push   $0x44dc04
405c6c:	8d 95 94 fc ff ff    	lea    -0x36c(%ebp),%edx
405c72:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
405c76:	8d 8d 0c fd ff ff    	lea    -0x2f4(%ebp),%ecx
405c7c:	e8 4f c7 ff ff       	call   0x4023d0
405c81:	83 c4 04             	add    $0x4,%esp
405c84:	8d 8d f4 fc ff ff    	lea    -0x30c(%ebp),%ecx
405c8a:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
405c8e:	51                   	push   %ecx
405c8f:	50                   	push   %eax
405c90:	ff b5 24 fd ff ff    	push   -0x2dc(%ebp)
405c96:	8d 8d ac fc ff ff    	lea    -0x354(%ebp),%ecx
405c9c:	e8 af 6f 00 00       	call   0x40cc50
405ca1:	68 00 dc 44 00       	push   $0x44dc00
405ca6:	8d 95 ac fc ff ff    	lea    -0x354(%ebp),%edx
405cac:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
405cb0:	8d 8d c4 fc ff ff    	lea    -0x33c(%ebp),%ecx
405cb6:	e8 15 c7 ff ff       	call   0x4023d0
405cbb:	56                   	push   %esi
405cbc:	8b d0                	mov    %eax,%edx
405cbe:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
405cc2:	8d 8d 7c fc ff ff    	lea    -0x384(%ebp),%ecx
405cc8:	e8 33 5d 00 00       	call   0x40ba00
405ccd:	83 c4 08             	add    $0x8,%esp
405cd0:	50                   	push   %eax
405cd1:	8b cf                	mov    %edi,%ecx
405cd3:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
405cd7:	e8 14 4a 00 00       	call   0x40a6f0
405cdc:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
405ce0:	8b 8d 90 fc ff ff    	mov    -0x370(%ebp),%ecx
405ce6:	83 f9 08             	cmp    $0x8,%ecx
405ce9:	72 35                	jb     0x405d20
405ceb:	8b 95 7c fc ff ff    	mov    -0x384(%ebp),%edx
405cf1:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
405cf8:	8b c2                	mov    %edx,%eax
405cfa:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
405d00:	72 14                	jb     0x405d16
405d02:	8b 50 fc             	mov    -0x4(%eax),%edx
405d05:	83 c1 23             	add    $0x23,%ecx
405d08:	2b c2                	sub    %edx,%eax
405d0a:	83 c0 fc             	add    $0xfffffffc,%eax
405d0d:	83 f8 1f             	cmp    $0x1f,%eax
405d10:	0f 87 05 08 00 00    	ja     0x40651b
405d16:	51                   	push   %ecx
405d17:	52                   	push   %edx
405d18:	e8 f1 5b 01 00       	call   0x41b90e
405d1d:	83 c4 08             	add    $0x8,%esp
405d20:	33 c0                	xor    %eax,%eax
405d22:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
405d26:	8b 8d d8 fc ff ff    	mov    -0x328(%ebp),%ecx
405d2c:	c7 85 8c fc ff ff 00 	movl   $0x0,-0x374(%ebp)
405d33:	00 00 00
405d36:	c7 85 90 fc ff ff 07 	movl   $0x7,-0x370(%ebp)
405d3d:	00 00 00
405d40:	66 89 85 7c fc ff ff 	mov    %ax,-0x384(%ebp)
405d47:	83 f9 08             	cmp    $0x8,%ecx
405d4a:	72 35                	jb     0x405d81
405d4c:	8b 95 c4 fc ff ff    	mov    -0x33c(%ebp),%edx
405d52:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
405d59:	8b c2                	mov    %edx,%eax
405d5b:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
405d61:	72 14                	jb     0x405d77
405d63:	8b 50 fc             	mov    -0x4(%eax),%edx
405d66:	83 c1 23             	add    $0x23,%ecx
405d69:	2b c2                	sub    %edx,%eax
405d6b:	83 c0 fc             	add    $0xfffffffc,%eax
405d6e:	83 f8 1f             	cmp    $0x1f,%eax
405d71:	0f 87 a4 07 00 00    	ja     0x40651b
405d77:	51                   	push   %ecx
405d78:	52                   	push   %edx
405d79:	e8 90 5b 01 00       	call   0x41b90e
405d7e:	83 c4 08             	add    $0x8,%esp
405d81:	33 c0                	xor    %eax,%eax
405d83:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
405d87:	8b 8d c0 fc ff ff    	mov    -0x340(%ebp),%ecx
405d8d:	c7 85 d4 fc ff ff 00 	movl   $0x0,-0x32c(%ebp)
405d94:	00 00 00
405d97:	c7 85 d8 fc ff ff 07 	movl   $0x7,-0x328(%ebp)
405d9e:	00 00 00
405da1:	66 89 85 c4 fc ff ff 	mov    %ax,-0x33c(%ebp)
405da8:	83 f9 08             	cmp    $0x8,%ecx
405dab:	72 35                	jb     0x405de2
405dad:	8b 95 ac fc ff ff    	mov    -0x354(%ebp),%edx
405db3:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
405dba:	8b c2                	mov    %edx,%eax
405dbc:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
405dc2:	72 14                	jb     0x405dd8
405dc4:	8b 50 fc             	mov    -0x4(%eax),%edx
405dc7:	83 c1 23             	add    $0x23,%ecx
405dca:	2b c2                	sub    %edx,%eax
405dcc:	83 c0 fc             	add    $0xfffffffc,%eax
405dcf:	83 f8 1f             	cmp    $0x1f,%eax
405dd2:	0f 87 43 07 00 00    	ja     0x40651b
405dd8:	51                   	push   %ecx
405dd9:	52                   	push   %edx
405dda:	e8 2f 5b 01 00       	call   0x41b90e
405ddf:	83 c4 08             	add    $0x8,%esp
405de2:	33 c0                	xor    %eax,%eax
405de4:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
405de8:	8b 8d 20 fd ff ff    	mov    -0x2e0(%ebp),%ecx
405dee:	c7 85 bc fc ff ff 00 	movl   $0x0,-0x344(%ebp)
405df5:	00 00 00
405df8:	c7 85 c0 fc ff ff 07 	movl   $0x7,-0x340(%ebp)
405dff:	00 00 00
405e02:	66 89 85 ac fc ff ff 	mov    %ax,-0x354(%ebp)
405e09:	83 f9 08             	cmp    $0x8,%ecx
405e0c:	72 35                	jb     0x405e43
405e0e:	8b 95 0c fd ff ff    	mov    -0x2f4(%ebp),%edx
405e14:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
405e1b:	8b c2                	mov    %edx,%eax
405e1d:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
405e23:	72 14                	jb     0x405e39
405e25:	8b 50 fc             	mov    -0x4(%eax),%edx
405e28:	83 c1 23             	add    $0x23,%ecx
405e2b:	2b c2                	sub    %edx,%eax
405e2d:	83 c0 fc             	add    $0xfffffffc,%eax
405e30:	83 f8 1f             	cmp    $0x1f,%eax
405e33:	0f 87 e2 06 00 00    	ja     0x40651b
405e39:	51                   	push   %ecx
405e3a:	52                   	push   %edx
405e3b:	e8 ce 5a 01 00       	call   0x41b90e
405e40:	83 c4 08             	add    $0x8,%esp
405e43:	33 c0                	xor    %eax,%eax
405e45:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
405e49:	8b 8d a8 fc ff ff    	mov    -0x358(%ebp),%ecx
405e4f:	c7 85 1c fd ff ff 00 	movl   $0x0,-0x2e4(%ebp)
405e56:	00 00 00
405e59:	c7 85 20 fd ff ff 07 	movl   $0x7,-0x2e0(%ebp)
405e60:	00 00 00
405e63:	66 89 85 0c fd ff ff 	mov    %ax,-0x2f4(%ebp)
405e6a:	83 f9 08             	cmp    $0x8,%ecx
405e6d:	72 35                	jb     0x405ea4
405e6f:	8b 95 94 fc ff ff    	mov    -0x36c(%ebp),%edx
405e75:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
405e7c:	8b c2                	mov    %edx,%eax
405e7e:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
405e84:	72 14                	jb     0x405e9a
405e86:	8b 50 fc             	mov    -0x4(%eax),%edx
405e89:	83 c1 23             	add    $0x23,%ecx
405e8c:	2b c2                	sub    %edx,%eax
405e8e:	83 c0 fc             	add    $0xfffffffc,%eax
405e91:	83 f8 1f             	cmp    $0x1f,%eax
405e94:	0f 87 81 06 00 00    	ja     0x40651b
405e9a:	51                   	push   %ecx
405e9b:	52                   	push   %edx
405e9c:	e8 6d 5a 01 00       	call   0x41b90e
405ea1:	83 c4 08             	add    $0x8,%esp
405ea4:	33 c0                	xor    %eax,%eax
405ea6:	c7 85 a4 fc ff ff 00 	movl   $0x0,-0x35c(%ebp)
405ead:	00 00 00
405eb0:	88 45 fc             	mov    %al,-0x4(%ebp)
405eb3:	8b 8d 08 fd ff ff    	mov    -0x2f8(%ebp),%ecx
405eb9:	c7 85 a8 fc ff ff 07 	movl   $0x7,-0x358(%ebp)
405ec0:	00 00 00
405ec3:	66 89 85 94 fc ff ff 	mov    %ax,-0x36c(%ebp)
405eca:	83 f9 08             	cmp    $0x8,%ecx
405ecd:	72 35                	jb     0x405f04
405ecf:	8b 95 f4 fc ff ff    	mov    -0x30c(%ebp),%edx
405ed5:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
405edc:	8b c2                	mov    %edx,%eax
405ede:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
405ee4:	72 14                	jb     0x405efa
405ee6:	8b 50 fc             	mov    -0x4(%eax),%edx
405ee9:	83 c1 23             	add    $0x23,%ecx
405eec:	2b c2                	sub    %edx,%eax
405eee:	83 c0 fc             	add    $0xfffffffc,%eax
405ef1:	83 f8 1f             	cmp    $0x1f,%eax
405ef4:	0f 87 21 06 00 00    	ja     0x40651b
405efa:	51                   	push   %ecx
405efb:	52                   	push   %edx
405efc:	e8 0d 5a 01 00       	call   0x41b90e
405f01:	83 c4 08             	add    $0x8,%esp
405f04:	8b 85 f0 fc ff ff    	mov    -0x310(%ebp),%eax
405f0a:	bb 2c af 44 00       	mov    $0x44af2c,%ebx
405f0f:	85 c0                	test   %eax,%eax
405f11:	8b d3                	mov    %ebx,%edx
405f13:	0f 45 d0             	cmovne %eax,%edx
405f16:	8b ca                	mov    %edx,%ecx
405f18:	8d 41 02             	lea    0x2(%ecx),%eax
405f1b:	89 85 f0 fc ff ff    	mov    %eax,-0x310(%ebp)
405f21:	66 8b 01             	mov    (%ecx),%ax
405f24:	83 c1 02             	add    $0x2,%ecx
405f27:	66 85 c0             	test   %ax,%ax
405f2a:	75 f5                	jne    0x405f21
405f2c:	2b 8d f0 fc ff ff    	sub    -0x310(%ebp),%ecx
405f32:	b8 fe ff ff 7f       	mov    $0x7ffffffe,%eax
405f37:	2b 46 10             	sub    0x10(%esi),%eax
405f3a:	d1 f9                	sar    $1,%ecx
405f3c:	3b c1                	cmp    %ecx,%eax
405f3e:	0f 82 d2 05 00 00    	jb     0x406516
405f44:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
405f48:	8b c6                	mov    %esi,%eax
405f4a:	72 02                	jb     0x405f4e
405f4c:	8b 06                	mov    (%esi),%eax
405f4e:	ff 76 10             	push   0x10(%esi)
405f51:	50                   	push   %eax
405f52:	51                   	push   %ecx
405f53:	52                   	push   %edx
405f54:	51                   	push   %ecx
405f55:	ff b5 24 fd ff ff    	push   -0x2dc(%ebp)
405f5b:	8d 8d 0c fd ff ff    	lea    -0x2f4(%ebp),%ecx
405f61:	e8 0a 6f 00 00       	call   0x40ce70
405f66:	8d 85 0c fd ff ff    	lea    -0x2f4(%ebp),%eax
405f6c:	c6 45 fc 07          	movb   $0x7,-0x4(%ebp)
405f70:	50                   	push   %eax
405f71:	8b cf                	mov    %edi,%ecx
405f73:	e8 78 47 00 00       	call   0x40a6f0
405f78:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
405f7c:	8b 8d 20 fd ff ff    	mov    -0x2e0(%ebp),%ecx
405f82:	83 f9 08             	cmp    $0x8,%ecx
405f85:	72 35                	jb     0x405fbc
405f87:	8b 95 0c fd ff ff    	mov    -0x2f4(%ebp),%edx
405f8d:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
405f94:	8b c2                	mov    %edx,%eax
405f96:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
405f9c:	72 14                	jb     0x405fb2
405f9e:	8b 50 fc             	mov    -0x4(%eax),%edx
405fa1:	83 c1 23             	add    $0x23,%ecx
405fa4:	2b c2                	sub    %edx,%eax
405fa6:	83 c0 fc             	add    $0xfffffffc,%eax
405fa9:	83 f8 1f             	cmp    $0x1f,%eax
405fac:	0f 87 73 05 00 00    	ja     0x406525
405fb2:	51                   	push   %ecx
405fb3:	52                   	push   %edx
405fb4:	e8 55 59 01 00       	call   0x41b90e
405fb9:	83 c4 08             	add    $0x8,%esp
405fbc:	8b 85 ec fc ff ff    	mov    -0x314(%ebp),%eax
405fc2:	8b d3                	mov    %ebx,%edx
405fc4:	85 c0                	test   %eax,%eax
405fc6:	0f 45 d0             	cmovne %eax,%edx
405fc9:	8b ca                	mov    %edx,%ecx
405fcb:	8d 41 02             	lea    0x2(%ecx),%eax
405fce:	89 85 ec fc ff ff    	mov    %eax,-0x314(%ebp)
405fd4:	66 8b 01             	mov    (%ecx),%ax
405fd7:	83 c1 02             	add    $0x2,%ecx
405fda:	66 85 c0             	test   %ax,%ax
405fdd:	75 f5                	jne    0x405fd4
405fdf:	2b 8d ec fc ff ff    	sub    -0x314(%ebp),%ecx
405fe5:	b8 fe ff ff 7f       	mov    $0x7ffffffe,%eax
405fea:	2b 46 10             	sub    0x10(%esi),%eax
405fed:	d1 f9                	sar    $1,%ecx
405fef:	3b c1                	cmp    %ecx,%eax
405ff1:	0f 82 1f 05 00 00    	jb     0x406516
405ff7:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
405ffb:	8b c6                	mov    %esi,%eax
405ffd:	72 02                	jb     0x406001
405fff:	8b 06                	mov    (%esi),%eax
406001:	ff 76 10             	push   0x10(%esi)