404c62:	ff 75 f4             	push   -0xc(%ebp)
404c65:	6a 03                	push   $0x3
404c67:	68 0a 11 00 00       	push   $0x110a
404c6c:	ff 75 fc             	push   -0x4(%ebp)
404c6f:	ff d6                	call   *%esi
404c71:	89 45 f4             	mov    %eax,-0xc(%ebp)
404c74:	eb 18                	jmp    0x404c8e
404c76:	8d 45 ac             	lea    -0x54(%ebp),%eax
404c79:	50                   	push   %eax
404c7a:	53                   	push   %ebx
404c7b:	68 00 11 00 00       	push   $0x1100
404c80:	ff 75 fc             	push   -0x4(%ebp)
404c83:	ff d6                	call   *%esi
404c85:	8b 0d 00 fd 41 00    	mov    0x41fd00,%ecx
404c8b:	89 04 b9             	mov    %eax,(%ecx,%edi,4)
404c8e:	8b 55 e4             	mov    -0x1c(%ebp),%edx
404c91:	47                   	inc    %edi
404c92:	81 c2 18 04 00 00    	add    $0x418,%edx
404c98:	3b 3d 4c 37 42 00    	cmp    0x42374c,%edi
404c9e:	89 55 e4             	mov    %edx,-0x1c(%ebp)
404ca1:	0f 8c 45 ff ff ff    	jl     0x404bec
404ca7:	39 5d e0             	cmp    %ebx,-0x20(%ebp)
404caa:	75 19                	jne    0x404cc5
404cac:	6a f0                	push   $0xfffffff0
404cae:	ff 75 fc             	push   -0x4(%ebp)
404cb1:	ff 15 9c 71 40 00    	call   *0x40719c
404cb7:	24 fb                	and    $0xfb,%al
404cb9:	50                   	push   %eax
404cba:	6a f0                	push   $0xfffffff0
404cbc:	ff 75 fc             	push   -0x4(%ebp)
404cbf:	ff 15 4c 72 40 00    	call   *0x40724c
404cc5:	39 5d f0             	cmp    %ebx,-0x10(%ebp)
404cc8:	75 18                	jne    0x404ce2
404cca:	6a 05                	push   $0x5
404ccc:	ff 75 f8             	push   -0x8(%ebp)
404ccf:	ff 15 48 72 40 00    	call   *0x407248
404cd5:	ff 75 f8             	push   -0x8(%ebp)
404cd8:	e8 c0 f3 ff ff       	call   0x40409d
404cdd:	e9 7e 03 00 00       	jmp    0x405060
404ce2:	ff 75 fc             	push   -0x4(%ebp)
404ce5:	e8 b3 f3 ff ff       	call   0x40409d
404cea:	81 7d 0c 05 04 00 00 	cmpl   $0x405,0xc(%ebp)
404cf1:	75 12                	jne    0x404d05
404cf3:	33 c9                	xor    %ecx,%ecx
404cf5:	89 5d 10             	mov    %ebx,0x10(%ebp)
404cf8:	41                   	inc    %ecx
404cf9:	c7 45 0c 0f 04 00 00 	movl   $0x40f,0xc(%ebp)
404d00:	89 4d 14             	mov    %ecx,0x14(%ebp)
404d03:	eb 03                	jmp    0x404d08
404d05:	8b 4d 14             	mov    0x14(%ebp),%ecx
404d08:	83 7d 0c 4e          	cmpl   $0x4e,0xc(%ebp)
404d0c:	b8 13 04 00 00       	mov    $0x413,%eax
404d11:	74 09                	je     0x404d1c
404d13:	39 45 0c             	cmp    %eax,0xc(%ebp)
404d16:	0f 85 e4 00 00 00    	jne    0x404e00
404d1c:	39 45 0c             	cmp    %eax,0xc(%ebp)
404d1f:	89 4d f4             	mov    %ecx,-0xc(%ebp)
404d22:	74 0d                	je     0x404d31
404d24:	81 79 04 08 04 00 00 	cmpl   $0x408,0x4(%ecx)
404d2b:	0f 85 cf 00 00 00    	jne    0x404e00
404d31:	f6 05 1d 37 42 00 02 	testb  $0x2,0x42371d
404d38:	75 73                	jne    0x404dad
404d3a:	39 45 0c             	cmp    %eax,0xc(%ebp)
404d3d:	74 09                	je     0x404d48
404d3f:	8b 4d 14             	mov    0x14(%ebp),%ecx
404d42:	83 79 08 fe          	cmpl   $0xfffffffe,0x8(%ecx)
404d46:	75 65                	jne    0x404dad
404d48:	33 c9                	xor    %ecx,%ecx
404d4a:	39 45 0c             	cmp    %eax,0xc(%ebp)
404d4d:	0f 95 c1             	setne  %cl
404d50:	51                   	push   %ecx
404d51:	ff 75 fc             	push   -0x4(%ebp)
404d54:	e8 62 fc ff ff       	call   0x4049bb
404d59:	8b f8                	mov    %eax,%edi
404d5b:	3b fb                	cmp    %ebx,%edi
404d5d:	7c 4e                	jl     0x404dad
404d5f:	69 c0 18 04 00 00    	imul   $0x418,%eax,%eax
404d65:	8b 4d ec             	mov    -0x14(%ebp),%ecx
404d68:	8d 4c 08 08          	lea    0x8(%eax,%ecx,1),%ecx
404d6c:	8b 01                	mov    (%ecx),%eax
404d6e:	a8 10                	test   $0x10,%al
404d70:	75 3b                	jne    0x404dad
404d72:	a8 40                	test   $0x40,%al
404d74:	74 11                	je     0x404d87
404d76:	35 80 00 00 00       	xor    $0x80,%eax
404d7b:	84 c0                	test   %al,%al
404d7d:	79 04                	jns    0x404d83
404d7f:	0c 01                	or     $0x1,%al
404d81:	eb 07                	jmp    0x404d8a
404d83:	24 fe                	and    $0xfe,%al
404d85:	eb 03                	jmp    0x404d8a
404d87:	83 f0 01             	xor    $0x1,%eax
404d8a:	57                   	push   %edi
404d8b:	89 01                	mov    %eax,(%ecx)
404d8d:	e8 eb c3 ff ff       	call   0x40117d
404d92:	a1 1c 37 42 00       	mov    0x42371c,%eax
404d97:	47                   	inc    %edi
404d98:	f7 d0                	not    %eax
404d9a:	c1 e8 08             	shr    $0x8,%eax
404d9d:	83 e0 01             	and    $0x1,%eax
404da0:	89 7d 10             	mov    %edi,0x10(%ebp)
404da3:	89 45 14             	mov    %eax,0x14(%ebp)
404da6:	c7 45 0c 0f 04 00 00 	movl   $0x40f,0xc(%ebp)
404dad:	39 5d f4             	cmp    %ebx,-0xc(%ebp)
404db0:	74 4e                	je     0x404e00
404db2:	8b 45 f4             	mov    -0xc(%ebp),%eax
404db5:	81 78 08 6e fe ff ff 	cmpl   $0xfffffe6e,0x8(%eax)
404dbc:	75 0e                	jne    0x404dcc
404dbe:	ff 70 5c             	push   0x5c(%eax)
404dc1:	53                   	push   %ebx
404dc2:	68 19 04 00 00       	push   $0x419
404dc7:	ff 75 fc             	push   -0x4(%ebp)
404dca:	ff d6                	call   *%esi
404dcc:	8b 45 f4             	mov    -0xc(%ebp),%eax
404dcf:	81 78 08 6a fe ff ff 	cmpl   $0xfffffe6a,0x8(%eax)
404dd6:	75 28                	jne    0x404e00
404dd8:	83 78 0c 02          	cmpl   $0x2,0xc(%eax)
404ddc:	8b 4d ec             	mov    -0x14(%ebp),%ecx
404ddf:	8b 40 5c             	mov    0x5c(%eax),%eax
404de2:	75 0f                	jne    0x404df3
404de4:	69 c0 18 04 00 00    	imul   $0x418,%eax,%eax
404dea:	8d 44 08 08          	lea    0x8(%eax,%ecx,1),%eax
404dee:	83 08 20             	orl    $0x20,(%eax)
404df1:	eb 0d                	jmp    0x404e00
404df3:	69 c0 18 04 00 00    	imul   $0x418,%eax,%eax
404df9:	8d 44 08 08          	lea    0x8(%eax,%ecx,1),%eax
404dfd:	83 20 df             	andl   $0xffffffdf,(%eax)
404e00:	81 7d 0c 11 01 00 00 	cmpl   $0x111,0xc(%ebp)
404e07:	75 6f                	jne    0x404e78
404e09:	66 81 7d 10 f9 03    	cmpw   $0x3f9,0x10(%ebp)
404e0f:	0f 85 4b 02 00 00    	jne    0x405060
404e15:	8b 45 10             	mov    0x10(%ebp),%eax
404e18:	c1 e8 10             	shr    $0x10,%eax
404e1b:	66 3d 01 00          	cmp    $0x1,%ax
404e1f:	0f 85 3b 02 00 00    	jne    0x405060
404e25:	53                   	push   %ebx
404e26:	53                   	push   %ebx
404e27:	68 47 01 00 00       	push   $0x147
404e2c:	ff 75 f8             	push   -0x8(%ebp)
404e2f:	ff d6                	call   *%esi
404e31:	83 f8 ff             	cmp    $0xffffffff,%eax
404e34:	0f 84 26 02 00 00    	je     0x405060
404e3a:	53                   	push   %ebx
404e3b:	50                   	push   %eax
404e3c:	68 50 01 00 00       	push   $0x150
404e41:	ff 75 f8             	push   -0x8(%ebp)
404e44:	ff d6                	call   *%esi
404e46:	8b f8                	mov    %eax,%edi
404e48:	83 ff ff             	cmp    $0xffffffff,%edi
404e4b:	74 08                	je     0x404e55
404e4d:	8b 45 e8             	mov    -0x18(%ebp),%eax
404e50:	39 1c b8             	cmp    %ebx,(%eax,%edi,4)
404e53:	75 03                	jne    0x404e58
404e55:	6a 20                	push   $0x20
404e57:	5f                   	pop    %edi
404e58:	57                   	push   %edi
404e59:	e8 3b c4 ff ff       	call   0x401299
404e5e:	57                   	push   %edi
404e5f:	53                   	push   %ebx
404e60:	68 20 04 00 00       	push   $0x420
404e65:	ff 75 08             	push   0x8(%ebp)
404e68:	ff d6                	call   *%esi
404e6a:	83 4d 10 ff          	orl    $0xffffffff,0x10(%ebp)
404e6e:	89 5d 14             	mov    %ebx,0x14(%ebp)
404e71:	c7 45 0c 0f 04 00 00 	movl   $0x40f,0xc(%ebp)
404e78:	b8 00 02 00 00       	mov    $0x200,%eax
404e7d:	39 45 0c             	cmp    %eax,0xc(%ebp)
404e80:	75 08                	jne    0x404e8a
404e82:	53                   	push   %ebx
404e83:	53                   	push   %ebx
404e84:	50                   	push   %eax
404e85:	ff 75 fc             	push   -0x4(%ebp)
404e88:	ff d6                	call   *%esi
404e8a:	81 7d 0c 0b 04 00 00 	cmpl   $0x40b,0xc(%ebp)
404e91:	75 32                	jne    0x404ec5
404e93:	a1 ec fc 41 00       	mov    0x41fcec,%eax
404e98:	3b c3                	cmp    %ebx,%eax
404e9a:	74 07                	je     0x404ea3
404e9c:	50                   	push   %eax
404e9d:	ff 15 44 70 40 00    	call   *0x407044
404ea3:	a1 00 fd 41 00       	mov    0x41fd00,%eax
404ea8:	3b c3                	cmp    %ebx,%eax
404eaa:	74 07                	je     0x404eb3
404eac:	50                   	push   %eax
404ead:	ff 15 5c 71 40 00    	call   *0x40715c
404eb3:	89 1d ec fc 41 00    	mov    %ebx,0x41fcec
404eb9:	89 1d 00 fd 41 00    	mov    %ebx,0x41fd00
404ebf:	89 1d 80 37 42 00    	mov    %ebx,0x423780
404ec5:	81 7d 0c 0f 04 00 00 	cmpl   $0x40f,0xc(%ebp)
404ecc:	0f 85 50 01 00 00    	jne    0x405022
404ed2:	53                   	push   %ebx
404ed3:	53                   	push   %ebx
404ed4:	e8 16 c3 ff ff       	call   0x4011ef
404ed9:	8b 45 10             	mov    0x10(%ebp),%eax
404edc:	3b c3                	cmp    %ebx,%eax
404ede:	74 0e                	je     0x404eee
404ee0:	83 f8 ff             	cmp    $0xffffffff,%eax
404ee3:	74 01                	je     0x404ee6
404ee5:	48                   	dec    %eax
404ee6:	50                   	push   %eax
404ee7:	6a 08                	push   $0x8
404ee9:	e8 4d fb ff ff       	call   0x404a3b
404eee:	39 5d 14             	cmp    %ebx,0x14(%ebp)
404ef1:	74 3f                	je     0x404f32
404ef3:	ff 35 00 fd 41 00    	push   0x41fd00
404ef9:	e8 e4 c3 ff ff       	call   0x4012e2
404efe:	8b f8                	mov    %eax,%edi
404f00:	57                   	push   %edi
404f01:	e8 93 c3 ff ff       	call   0x401299
404f06:	33 c0                	xor    %eax,%eax
404f08:	33 c9                	xor    %ecx,%ecx
404f0a:	3b fb                	cmp    %ebx,%edi
404f0c:	7e 0e                	jle    0x404f1c
404f0e:	8b 55 e8             	mov    -0x18(%ebp),%edx
404f11:	39 1c 82             	cmp    %ebx,(%edx,%eax,4)
404f14:	74 01                	je     0x404f17
404f16:	41                   	inc    %ecx
404f17:	40                   	inc    %eax
404f18:	3b c7                	cmp    %edi,%eax
404f1a:	7c f2                	jl     0x404f0e
404f1c:	53                   	push   %ebx
404f1d:	51                   	push   %ecx
404f1e:	68 4e 01 00 00       	push   $0x14e
404f23:	ff 75 f8             	push   -0x8(%ebp)
404f26:	ff d6                	call   *%esi
404f28:	89 7d 14             	mov    %edi,0x14(%ebp)
404f2b:	c7 45 0c 20 04 00 00 	movl   $0x420,0xc(%ebp)
404f32:	53                   	push   %ebx
404f33:	53                   	push   %ebx
404f34:	e8 b6 c2 ff ff       	call   0x4011ef
404f39:	a1 00 fd 41 00       	mov    0x41fd00,%eax
404f3e:	39 1d 4c 37 42 00    	cmp    %ebx,0x42374c
404f44:	89 45 e0             	mov    %eax,-0x20(%ebp)
404f47:	a1 48 37 42 00       	mov    0x423748,%eax
404f4c:	c7 45 c4 30 f0 00 00 	movl   $0xf030,-0x3c(%ebp)
404f53:	89 5d ec             	mov    %ebx,-0x14(%ebp)
404f56:	0f 8e 9c 00 00 00    	jle    0x404ff8
404f5c:	8d 78 08             	lea    0x8(%eax),%edi
404f5f:	8b 45 e0             	mov    -0x20(%ebp),%eax
404f62:	8b 4d ec             	mov    -0x14(%ebp),%ecx
404f65:	8b 04 88             	mov    (%eax,%ecx,4),%eax
404f68:	3b c3                	cmp    %ebx,%eax
404f6a:	74 74                	je     0x404fe0
404f6c:	8b 0f                	mov    (%edi),%ecx
404f6e:	89 45 bc             	mov    %eax,-0x44(%ebp)
404f71:	f6 c5 01             	test   $0x1,%ch
404f74:	c7 45 b8 08 00 00 00 	movl   $0x8,-0x48(%ebp)
404f7b:	74 11                	je     0x404f8e
404f7d:	8d 47 10             	lea    0x10(%edi),%eax
404f80:	c7 45 b8 09 00 00 00 	movl   $0x9,-0x48(%ebp)
404f87:	89 45 c8             	mov    %eax,-0x38(%ebp)
404f8a:	80 67 01 fe          	andb   $0xfe,0x1(%edi)
404f8e:	f6 c1 40             	test   $0x40,%cl
404f91:	74 05                	je     0x404f98
404f93:	6a 03                	push   $0x3
404f95:	58                   	pop    %eax
404f96:	eb 0e                	jmp    0x404fa6
404f98:	8b c1                	mov    %ecx,%eax
404f9a:	83 e0 01             	and    $0x1,%eax
404f9d:	40                   	inc    %eax
404f9e:	f6 c1 10             	test   $0x10,%cl
404fa1:	74 03                	je     0x404fa6
404fa3:	83 c0 03             	add    $0x3,%eax
404fa6:	8b d1                	mov    %ecx,%edx
404fa8:	ff 75 bc             	push   -0x44(%ebp)
404fab:	c1 e0 0b             	shl    $0xb,%eax
404fae:	83 e2 08             	and    $0x8,%edx
404fb1:	0b c2                	or     %edx,%eax
404fb3:	8b d1                	mov    %ecx,%edx
404fb5:	c1 f9 05             	sar    $0x5,%ecx
404fb8:	03 c0                	add    %eax,%eax
404fba:	83 e2 20             	and    $0x20,%edx
404fbd:	83 e1 01             	and    $0x1,%ecx
404fc0:	0b c2                	or     %edx,%eax
404fc2:	41                   	inc    %ecx
404fc3:	89 45 c0             	mov    %eax,-0x40(%ebp)
404fc6:	51                   	push   %ecx
404fc7:	68 02 11 00 00       	push   $0x1102
404fcc:	ff 75 fc             	push   -0x4(%ebp)
404fcf:	ff d6                	call   *%esi
404fd1:	8d 45 b8             	lea    -0x48(%ebp),%eax
404fd4:	50                   	push   %eax
404fd5:	53                   	push   %ebx
404fd6:	68 0d 11 00 00       	push   $0x110d
404fdb:	ff 75 fc             	push   -0x4(%ebp)
404fde:	ff d6                	call   *%esi
404fe0:	ff 45 ec             	incl   -0x14(%ebp)
404fe3:	81 c7 18 04 00 00    	add    $0x418,%edi
404fe9:	8b 45 ec             	mov    -0x14(%ebp),%eax
404fec:	3b 05 4c 37 42 00    	cmp    0x42374c,%eax
404ff2:	0f 8c 67 ff ff ff    	jl     0x404f5f
404ff8:	6a 01                	push   $0x1
404ffa:	53                   	push   %ebx
404ffb:	ff 75 fc             	push   -0x4(%ebp)
404ffe:	ff 15 fc 71 40 00    	call   *0x4071fc
405004:	a1 dc 2e 42 00       	mov    0x422edc,%eax
405009:	39 58 10             	cmp    %ebx,0x10(%eax)
40500c:	74 14                	je     0x405022
40500e:	6a 05                	push   $0x5
405010:	e8 79 f9 ff ff       	call   0x40498e
405015:	50                   	push   %eax
405016:	6a fb                	push   $0xfffffffb
405018:	68 ff 03 00 00       	push   $0x3ff
40501d:	e8 54 f9 ff ff       	call   0x404976
405022:	81 7d 0c 20 04 00 00 	cmpl   $0x420,0xc(%ebp)
405029:	75 35                	jne    0x405060
40502b:	f6 05 1d 37 42 00 01 	testb  $0x1,0x42371d
405032:	74 2c                	je     0x405060
405034:	33 c0                	xor    %eax,%eax
405036:	83 7d 14 20          	cmpl   $0x20,0x14(%ebp)
40503a:	8b 35 48 72 40 00    	mov    0x407248,%esi
405040:	0f 94 c0             	sete   %al
405043:	c1 e0 03             	shl    $0x3,%eax
405046:	8b f8                	mov    %eax,%edi
405048:	57                   	push   %edi
405049:	ff 75 fc             	push   -0x4(%ebp)
40504c:	ff d6                	call   *%esi
40504e:	57                   	push   %edi
40504f:	68 fe 03 00 00       	push   $0x3fe
405054:	ff 75 08             	push   0x8(%ebp)
405057:	ff 15 d0 71 40 00    	call   *0x4071d0
40505d:	50                   	push   %eax
40505e:	ff d6                	call   *%esi
405060:	ff 75 14             	push   0x14(%ebp)
405063:	ff 75 10             	push   0x10(%ebp)
405066:	ff 75 0c             	push   0xc(%ebp)
405069:	e8 61 f0 ff ff       	call   0x4040cf
40506e:	5f                   	pop    %edi
40506f:	5e                   	pop    %esi
405070:	5b                   	pop    %ebx
405071:	c9                   	leave
405072:	c2 10 00             	ret    $0x10
405075:	55                   	push   %ebp
405076:	8b ec                	mov    %esp,%ebp
405078:	53                   	push   %ebx
405079:	8b 5d 0c             	mov    0xc(%ebp),%ebx
40507c:	81 fb 02 01 00 00    	cmp    $0x102,%ebx
405082:	57                   	push   %edi
405083:	75 14                	jne    0x405099
405085:	83 7d 10 20          	cmpl   $0x20,0x10(%ebp)
405089:	75 59                	jne    0x4050e4
40508b:	68 13 04 00 00       	push   $0x413
405090:	e8 1f f0 ff ff       	call   0x4040b4
405095:	33 c0                	xor    %eax,%eax
405097:	eb 62                	jmp    0x4050fb
405099:	81 fb 00 02 00 00    	cmp    $0x200,%ebx
40509f:	75 20                	jne    0x4050c1
4050a1:	ff 75 08             	push   0x8(%ebp)
4050a4:	ff 15 b4 71 40 00    	call   *0x4071b4
4050aa:	85 c0                	test   %eax,%eax